CA2275185A1 - Multilevel coding - Google Patents
Multilevel coding Download PDFInfo
- Publication number
- CA2275185A1 CA2275185A1 CA002275185A CA2275185A CA2275185A1 CA 2275185 A1 CA2275185 A1 CA 2275185A1 CA 002275185 A CA002275185 A CA 002275185A CA 2275185 A CA2275185 A CA 2275185A CA 2275185 A1 CA2275185 A1 CA 2275185A1
- Authority
- CA
- Canada
- Prior art keywords
- output levels
- input value
- output
- encoded
- levels
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/08—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
- H04L25/4919—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using balanced multilevel codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/025—Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
Abstract
A multilevel to multilevel conversion system in which a N-level symbol (0, 1) is converted into a N+1-level (A, B, C) such that a transition between two of the N+1-level output symbols represents one of the N-level input symbols. The multilevel encoding system allows for increased data transfer rates and provides self synchronization for decoding.
Description
MULTILEVEL CODING
Meld of the Inv n ' The present invention relates generally to a system for encoding data.
- More particularly, the present invention relates to a system for encoding data which allows higher data transmission rates .and conserves bandwidth, and provides self-synchronization.
I3acker~und of the Invention Prior art data encoding methods for encoding digital information have used two voltage levels) where each voltage level represents a single bit. In this respect, a first voltage level represents a digital value "0," while a second voltage level represents a digital value "1." As a result) ~~ set of eight of these voltage levels is needed to encode one byte of digital data. Data bytes are encoded into changing voltages and decoded back into bytes. This is done by using a commonly available electronic device which is generically referred to as a UART (Universal Asyncronous Receiver Transmitter) or an ,ACIA (Asyncronous Communications interface Adapter). UARTs convert parallel data (usually eight-bit words) to a serial data stream for transmission over a single wire cable and simultaneously convert a received serial bit stream to parallel words. The serial data stream is comprised of a signal having two voltage levels, one representing a digital "0," the other representing a digital "1."
In many cases, the data rate achievable by UARTs and ACIAs is insufficient for the desired application. In order to achieve greater data rates for high-speed communications, data has been encoded into complex waveforms such as tones, which are then phase, frequency and amplitude modulated. For instance, data has been encoded using RF (Radio Frequency) modulation) QAM
(Quadrature Amplitude Modulation), ASK (Amplitude Shift Keying), PSK (Phase Shift Keying), FSK (Frequency Shift Keying), TCM (Trellis Coded Modulation) and QPSK (Quadrature Phase Shift Keying). All of the foregoing methods encode . data into AC waveforms for transmission.
The present invention overcomes the data transfer rate limitations of the prior art encoding systems, and provides a system for encoding multiple data bits in parallel as transitions between discrete levels. This encoding system will substantially increase the data transfer rate and conserve bandwidth within a medium which is capable of supporting discrete levels.
Sumrr,~.~ of the Invention According to the present invention, there is provided a method for S encoding data that includes the steps of receiving a plurality of input values to be encoded, wherein each input value may be one of N different input values;
establishing at least N+ 1 output levels, and transitioning from one of said at least N+ 1 output levels to another of said at least N+ 1 output levels, each transition representing one of the N different input values.
According to another aspect of the present invention, there is provided a system for encoding data which comprises means for establishing at least N+ 1 output levels, wherein each transition from one output level to another output level represents an encoded input value; means for receiving a plurality of input values to be encoded, wherein each of the input values may be one of N
different input values; and means for transitioning from one of the at least N+ 1 output levels to another of the at least N + 1 output levels for each consecutively received input value.
According to another aspect of the present invention, there is provided a method for encoding and decoding data that includes the steps of establishing N+ 1 voltage levels, wherein each transition from one voltage level to another voltage level represents an encoded input value; receiving a plurality of input values to be encoded) wherein each input value is one of N different input values) which represent log2(N) hits; transitioning from one of the N+ 1 voltage levels to another of the N+ 1 voltage levels for each consecutively received input value; and decoding the output level into an input value according to a set of rules determined by both the output level currently being decoded and one or more output levels previously decoded.
According to another aspect of the present invention, there is provided a system for decoding data comprised of transition detection means for detecting a transition from a first of N+ 1 output levels to a second of N+ 1 output levels;
decoding means for decoding an output level to an input value in response to the detection of a transition from the first of N+ 1 output levels to the second of N + 1 output levels, which decodes the output level to the input value in accordance with the output level currently being decoded .and at least one of the output levels previously decoded; and storage means for storing the input value decoded by the decoding means.
S It is an object of the present invention to provide a data encoding system which achieves greater data transfer rates, without using higher clocking rates to carry the data.
It is another object of the present invention to provide a data encoding system which uses bandwidth more efficiently.
1t is yet another object of the present invention to provide a data encoding system which encodes a series of multiple data bits into a series of voltage levels.
It is still another object of the present invention to provide a data encoding system which encodes a series of N input values (base N+ 1) into a series of transitions between one of N+ 1 or more voltage levels.
It is still another object of the present invention to provide a data encoding system which transmits the encoded data using a waveform which is inherently self-synchronizing, where transitions from one level to another level indicate that there is data to he decoded.
It is yet another object of the presE:nt invention to provide a system for decoding multi-level encoded data.
It is yet another ~hject of the present invention to provide a data decoding system which dernde~ a series of N+ 1 or more voltage levels into N possible data values equating the original N input values prior to encoding.
It is yet another object of the present invention to provide a data decoding system which dies not require an external cllocking signal for synchronization with an encoded waveform.
It is yet another object of the present invention to provide a data decoding system which self-synchronizes a decoder with an encoded waveform by reference to state transitions within a waveform, such as changes from one voltage level to another.
It is still another object of the present invention that allows for easy implementation of various error detection a:nd correction methods by using more than N+ 1 output levels, and transitions thereof.
These and other objects will become apparent from the following description of a preferred embodiment taken together with the accompanying drawings and the appended claims.
Brief Descrin~ion of the D~wines The above-mentioned and other features and objects of the invention and the manner of attaining them will become more apparent and the invention will be best understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings and appended claims, wherein:
F1G. 1 is a state diagram for encoding two different input values into three output levels, according to a preferred embodiment of the present invention;
FIG. 2 is a state diagram for encoding three different input values into four output levels, according to a preferred embodiment of the present invention;
FIG. 3 is a state diagram for encoding four different input values into five output levels, according to a preferred embodiment of the present invention;
FIG. 4 is a timing diagram illustrating the encoding of four different input values according to the state diagram shown in FIG. 3;
FIG. 5 is a flow chart illustrating a preferred embodiment of the algorithm for encoding the input values according to the state diagram shown in FIG. 3;
FIG. G is a flow chart illustrating a preferred embodiment of the algorithm for decoding output levels into input values;
FIG. 7 is a timing diagram illustrating the encoding of four different input values;
FIG. 8 is a block diagram of the hardware arrangement for implementing the encoding algorithm according to a preferred embodiment of the present invention; and FIG. 9 is a block diagram of the hardware arrangement for implementing the decoding algorithm according to a preferred embodiment of the present invention.
Detailed Description of the Preferred Embodiment The present invention is directed to a system for encoding N input values -$-into at least N+ 1 output levels. In a preferred embodiment of the present invention, each output level is represented by a different voltage. However, it should be appreciated that each output level may also be represented by a different frequency) phase) or amplitude. Referring now to the drawings wherein the showings are for the purpose of illustrating a preferred embodiment of the invention only, and not for the purpose o~f limiting same, FIG. 1 shows a state diagram 20 illustrating the transition betv~reen states for encoding two different input values (i.e., "0" and "1") into three output levels (i.e., output levels A, B and C), according to a preferred embodiment of the present invention. For instance, beginning at state 22 (output level A), if tlhe next input value is a "0," the system transitions to state 24 (output level B). In contrast, if the next input value is a "l,"
the system transitions to state 26 (output level C). The system will transition from one state to one of the other two remaining states as each consecutive input value is encoded. Importantly, it should be noted that no two consecutive input values will be encoded as the same output level.
FIG. 2 shows a state diagram 30 illustrating the transition between states for encoding three input values (i.e., "0," "1" and "2") into four output levels (i.e., output levels A, B, C and D), according to a preferred embodiment of the present invention.
FIG. 3 shows a state diagram 40 ilh~strating the transitions between states for the encoding of four input values (i.e,) "0," "1;' "2" and "3") into five output levels (i.e., output levels A, B) C) D and E)) according to a preferred embodiment of the present invention. It should be appreciated that since there are four input values, each input value may represent a bit pair (i.e.) "00," "OI," "10," and "1 t").
Therefore, each output level will represent two bits, rather than one bit, as in conventional encoding systems. Moreover, where N different input values are encoded into at least N+ 1 output levels) each input value can represent logz(N) bits. As a result of using a single input value to represent a plurality of bits, higher data transfer rates are achievable, and bandwidth can be conserved. It should be appreciated that while in a preferred embodiment of the present invention the input values encode base 2 data (i.e., log2(N) bits) the input values may also encode base X data. Therefore, the input values may represent values _6_ O through X-1 in base X with the encoded output having at least X different output levels. It should also be understood that there may be more than N+ 1 output levels and transitions thereof for encoding N different input values.
This allows for simplified implementation of various error detection and correction methods.
A detailed description of the present invention as applied to the encoding of four input values into five output levels, will now be described with reference to FIGS. 4 and 5. FIG. 4 provides a timing diagram 50 which shows the transition of the output levels as each input value is encoded. It should be appreciated that in the embodiment shown in FIG. 4, each input value represents a hit pair. For the purpose of illustration, input value "0" represents bit pair "00," input value "1"
represents bit pair "01," input value "2" represents bit pair "10" and input value "3"
represents bit pair "11." As can be seen from FIG. 4, each consecutive output level will be different. Each output level A thru E is a discreet voltage level. For instance, output levels A thru E may correspond to voltages in the range of 0 to 5 volts.
The input values shown in FIG. 4 are encoded into output levels A thru E
according to the algorithm shown in flow chart 60 of FIG. 5. Beginning with step 62) a FIRST flag is set to TRUE. This will indicate that this is the first input value to be encoded. At step 64, an input value will be read in. Next, at step 66, it is determined whether the input value is the first input value to be encoded, by determining the status of the F1RST flag. If the input value is the first input value to be encoded, a first set of roles {steps 70-76) will be applied. If the input value is not the first input value to be encoded, it will be determined whether a second set of rules (steps 80-86) should be applied, as will be discussed below. For instance, in FIG. 4, the first input value is a "0" (corresponding to bit pair "00") Accordingly, the conditions exist for applying the first set of rules. In particular, step 70 will be executed. 1n this respect, the output level will be set to A
and the LAST variable will be set to "0." The LAST variable is used as a reference value to determine the appropriate set of rules to be applied following the first input value, as will be described below in connection with step 68.
It should be understood that only one of the steps 70-76 will be valid when _'7_ applying the first set of rules. Accordingly, step 90 will follow step 70.
Step 90 sets the FIRST flag to FALSE for the subsequent input values. The algorithm then returns to step 64 to read in the ne~.xt input value. In FIG. 4, the next consecutive input value is a "1." Since the FIRST flag is now set to FALSE, the algorithm will proceed from step 66 to step 68. At step 68, it is determined whether the input value is less than the LAST variable. This step determines whether the first set of rules (steps 70-76) should be applied or whether the second set of rules (steps 80-86) should be applied. 1n the present example, the input value of "1" is greater than the LAST variable, which has been previously set to "0" at step 70. Therefore, the algorithm v~rilI apply the second set of rules (steps 80-86). Since the input value is "l," step F.2 will be executed. Step 82 sets the output level to C and the LAST variable to 2. The algorithm then proceeds to step 90 and returns again to step 64 for reading in the next consecutive input value. The algorithm will continue in this manner until all of the input values have been encoded as output levels.
With reference to FIG. 4, it should be appreciated that the output level of the preceding encoded input value will determine the output level for the next consecutive encoded input value. In particular, the next consecutive input value will be encoded as one of the four remaining output levels. As a result) when two consecutive input values are the same, suclh as the consecutive 3's following the first three input values in FIG. 4, each of the 3's wilt be encoded as different output levels. In the case of the first "3," the output level is E) whereas the second 3 is encoded as output level D. Since no consecutive output level will be the same, the output levels will transition for each consecutive encoded input value.
Referring now to F1G. 6, there is shown a flow chart 100 which illustrates an algorithm for decoding output levels back into input values) according to a . preferred embodiment of the present invention. Beginning with step 102, the FIRST flag is set to TRUE indicating that this is the first output level to be - decoded. At step 104, the output level is read in. For steps lOf-114, an input value is determined based upon the output level read in. However) in some cases this input value will be modified, as will bE: explained below in connection with step 118. Therefore, the decoded input value will be determined based upon a set _g_ of rules determined by both the current output level and one or more prior output levels. 1f the output level is the first output level read in (i.e., FIRST =
TRUE), then the input value is not modified. In this respect, the algorithm will proceed from step 116 to step 120 where the LAST variable wilt be set to the input value.
It should be appreciated that the LAST variable is used to determine if an input value needs to be modified, as will be explained in connection with step 118.
Proceeding next to step 122, the FIRST flag is set to FALSE for reading subsequent output levels. At step 124) the input value is stored. The algorithm now returns to step 104, to read in the next consecutive output level. After evaluating the output level at steps 106-114, if the FIRST flag is no longer true (step 116)) the algorithm proceeds to step 1.18. At step 118) it is determined whether the input value (obtained at one of the steps 106-114) is greater than the LAST variable. If so, the input value is modified by decrementing it by one.
If the input value is not greater than the LAST variable, then the input value is not modified. The algorithm then proceeds to step 120) where the LAST variable is set equal to the present input value, and step 122. At step 124, the input value is stored. Tire algorithm then returns to step 104 to read in the next consecutive output level. The algorithm will continue in this manner until all of the output levels have been decoded back to the original input values.
As noted above, each consecutive output level in the encoded waveform will be different, and thus necessitate a transition. As a result) the decoding system will not require an external clocking signal to synchronize with th ~
encoded waveform. 1n this regard, the decoding system is self-synchronizing with the encoded waveform by using the transition of each consecutive output level as the indicator that a new output level has been received for decoding. Thus) the decoder can be easily synchronized with an encoded waveform having a variable transmission speed.
It should be understood that while FIGS. 4-6 show the implementation of only five output levels, the number of output levels may be significantly greater.
As a result, the number of different input values may also be significantly greater.
By increasing the number of output levels and input values, the number of bits represented by each input value can also be increased. Accordingly, as noted above, the present invention can be used to substantially increase the data transfer rate and conserve bandwidth.
It should also be appreciated that FIGS. 4-6 illustrate a fixed timing relationship between one output level a:nd the next solely for the purpose of illustrating the present invention. In this regard, the time scale itself is completely arbitrary, and the time required to transitiion from one output level to another is also completely arbitrary. Accordingly, it should be understood that the present invention can maximize the use of available bandwidth by varying the timing relationship from one transition to another. For example, in a bandwidth limited transmission medium, a change from one output level to a nearby output level, such as from A to B, will stabilize quicklly) whereas a change from one output level to a distant output level, such as from A to E, will take longer to stabilize.
Therefore, small changes can be transmitted more quickly. FIG. 7 provides a timing diagram 160 which shows the timing where stabilization of the transitions varies depending upon the relative difference between consecutive output levels.
As can be seen from the diagram, the timE: far a single level change (e.g., A
to B) takes approximately half the time needed if'or a change of two levels (e.g., B
to D).
Referring now to F1G. 8, there is shown a block diagram of a hardware arrangement 130 for encoding input values into output level transitions.
Arrangement 130 is generally comprised of a buffer 132, encoding logic 134, and a digital-to-analog converter 136. In a preferred embodiment of the present invention) buffer 132 is a FIFO chip for buffering the received data. For instance, buffer 132 may take the form of a Cyprus Semiconductor CY7C464. Encoding logic 134 is programmed to implement the algorithm in the manner as described in connection with FIG. 5. In a preferrec',I embodiment of the present invention, encoding logic 134 takes the form of an EPLD device) such as the Alters EPM7096S. Digital-to-analog converter 136 may take the form of an 8-bit video DAC, such as the Phillips TDA8702.
- Arrangement 130 operates in the following manner. Unencoded data is stored in buffer 132. The unencoded dat~i are input values which may represent one or more bits. Encoding logic 134 reads out the unencoded data and encodes it into output levels transitions which are sent to digital-to-analog converter 13(>.
It should be appreciated that the analog coded data may be transmitted using a variety of different mediums, including a television signal. For instance, encoded data may be transmitted during the active video portion of the television signal.
Accordingly) large quantities of data can be quickly and conveniently transferred.
Referring now to FIG. 7, there is shown a block diagram of hardware arrangement 150 for decoding output levels transitions into input values.
Arrangement 150 is generally comprised of an analog-to-digital converter 152, a buffer 154 and decoding logic 156. Analog-to-digital converter 152 is preferably an 8-bit video ADC, such as Phillips TDA8708B. In a preferred embodiment of the present invention, buffer 154 is a FIFO chip for buffering the digital data. For instance, buffer 154 may take the form of a Cyprus Semiconductor CY7C464.
Decoding logic 156 is programmed to implement the algorithm in the manner as described in connection with FIG. 6. In a preferred embodiment of the present invention, decoding logic 156 takes the form of an EPLD device, such as the Altera EPM7096S.
Arrangement 150 operates in the following manner. Analog-to-digital converter 152 receives the encoded output levels and converts them to digital data.
Buffer 154 stores the digital data. Decoding Logic 156 reads out the digital data from buffer 154 and decodes the encoded output level transitions into input values. These input values in turn may be converted to one or more bits.
It should he appreciated that arrangements 130 and 150, as described above, are provided solely for the purpose of illustrating a preferred embodiment of the present invention and that numerous other arrangements are suitable as well.
The foregoing description is a specific embodiment of the present invention. It should be appreciated that this embodiment is described for purposes of illustration only, and that numerous alterations and modifications may be practiced by those skilled in the art without departing from the spirit and scope of the invention. In this regard, it is known that large changes between consecutive output levels may generate significant noise, and thus require increased bandwidth. As a result, it might be necessary in some cases to limit the changes between consecutive output levels to the nearest 50 percent of the available output levels. Therefore) there rnay be more than N+ 1 output levels for encoding N input values. For instance, an encoder having ten output levels might produce a step of one of four levels per each transition, encoding two bits at a time, but reducing the needed bandwidth of the channel. It is intended ihat all such modifications and alterations be inc'.luded insofar as they come within the scope of the invention as claimed or the equivalents thereof.
Meld of the Inv n ' The present invention relates generally to a system for encoding data.
- More particularly, the present invention relates to a system for encoding data which allows higher data transmission rates .and conserves bandwidth, and provides self-synchronization.
I3acker~und of the Invention Prior art data encoding methods for encoding digital information have used two voltage levels) where each voltage level represents a single bit. In this respect, a first voltage level represents a digital value "0," while a second voltage level represents a digital value "1." As a result) ~~ set of eight of these voltage levels is needed to encode one byte of digital data. Data bytes are encoded into changing voltages and decoded back into bytes. This is done by using a commonly available electronic device which is generically referred to as a UART (Universal Asyncronous Receiver Transmitter) or an ,ACIA (Asyncronous Communications interface Adapter). UARTs convert parallel data (usually eight-bit words) to a serial data stream for transmission over a single wire cable and simultaneously convert a received serial bit stream to parallel words. The serial data stream is comprised of a signal having two voltage levels, one representing a digital "0," the other representing a digital "1."
In many cases, the data rate achievable by UARTs and ACIAs is insufficient for the desired application. In order to achieve greater data rates for high-speed communications, data has been encoded into complex waveforms such as tones, which are then phase, frequency and amplitude modulated. For instance, data has been encoded using RF (Radio Frequency) modulation) QAM
(Quadrature Amplitude Modulation), ASK (Amplitude Shift Keying), PSK (Phase Shift Keying), FSK (Frequency Shift Keying), TCM (Trellis Coded Modulation) and QPSK (Quadrature Phase Shift Keying). All of the foregoing methods encode . data into AC waveforms for transmission.
The present invention overcomes the data transfer rate limitations of the prior art encoding systems, and provides a system for encoding multiple data bits in parallel as transitions between discrete levels. This encoding system will substantially increase the data transfer rate and conserve bandwidth within a medium which is capable of supporting discrete levels.
Sumrr,~.~ of the Invention According to the present invention, there is provided a method for S encoding data that includes the steps of receiving a plurality of input values to be encoded, wherein each input value may be one of N different input values;
establishing at least N+ 1 output levels, and transitioning from one of said at least N+ 1 output levels to another of said at least N+ 1 output levels, each transition representing one of the N different input values.
According to another aspect of the present invention, there is provided a system for encoding data which comprises means for establishing at least N+ 1 output levels, wherein each transition from one output level to another output level represents an encoded input value; means for receiving a plurality of input values to be encoded, wherein each of the input values may be one of N
different input values; and means for transitioning from one of the at least N+ 1 output levels to another of the at least N + 1 output levels for each consecutively received input value.
According to another aspect of the present invention, there is provided a method for encoding and decoding data that includes the steps of establishing N+ 1 voltage levels, wherein each transition from one voltage level to another voltage level represents an encoded input value; receiving a plurality of input values to be encoded) wherein each input value is one of N different input values) which represent log2(N) hits; transitioning from one of the N+ 1 voltage levels to another of the N+ 1 voltage levels for each consecutively received input value; and decoding the output level into an input value according to a set of rules determined by both the output level currently being decoded and one or more output levels previously decoded.
According to another aspect of the present invention, there is provided a system for decoding data comprised of transition detection means for detecting a transition from a first of N+ 1 output levels to a second of N+ 1 output levels;
decoding means for decoding an output level to an input value in response to the detection of a transition from the first of N+ 1 output levels to the second of N + 1 output levels, which decodes the output level to the input value in accordance with the output level currently being decoded .and at least one of the output levels previously decoded; and storage means for storing the input value decoded by the decoding means.
S It is an object of the present invention to provide a data encoding system which achieves greater data transfer rates, without using higher clocking rates to carry the data.
It is another object of the present invention to provide a data encoding system which uses bandwidth more efficiently.
1t is yet another object of the present invention to provide a data encoding system which encodes a series of multiple data bits into a series of voltage levels.
It is still another object of the present invention to provide a data encoding system which encodes a series of N input values (base N+ 1) into a series of transitions between one of N+ 1 or more voltage levels.
It is still another object of the present invention to provide a data encoding system which transmits the encoded data using a waveform which is inherently self-synchronizing, where transitions from one level to another level indicate that there is data to he decoded.
It is yet another object of the presE:nt invention to provide a system for decoding multi-level encoded data.
It is yet another ~hject of the present invention to provide a data decoding system which dernde~ a series of N+ 1 or more voltage levels into N possible data values equating the original N input values prior to encoding.
It is yet another object of the present invention to provide a data decoding system which dies not require an external cllocking signal for synchronization with an encoded waveform.
It is yet another object of the present invention to provide a data decoding system which self-synchronizes a decoder with an encoded waveform by reference to state transitions within a waveform, such as changes from one voltage level to another.
It is still another object of the present invention that allows for easy implementation of various error detection a:nd correction methods by using more than N+ 1 output levels, and transitions thereof.
These and other objects will become apparent from the following description of a preferred embodiment taken together with the accompanying drawings and the appended claims.
Brief Descrin~ion of the D~wines The above-mentioned and other features and objects of the invention and the manner of attaining them will become more apparent and the invention will be best understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings and appended claims, wherein:
F1G. 1 is a state diagram for encoding two different input values into three output levels, according to a preferred embodiment of the present invention;
FIG. 2 is a state diagram for encoding three different input values into four output levels, according to a preferred embodiment of the present invention;
FIG. 3 is a state diagram for encoding four different input values into five output levels, according to a preferred embodiment of the present invention;
FIG. 4 is a timing diagram illustrating the encoding of four different input values according to the state diagram shown in FIG. 3;
FIG. 5 is a flow chart illustrating a preferred embodiment of the algorithm for encoding the input values according to the state diagram shown in FIG. 3;
FIG. G is a flow chart illustrating a preferred embodiment of the algorithm for decoding output levels into input values;
FIG. 7 is a timing diagram illustrating the encoding of four different input values;
FIG. 8 is a block diagram of the hardware arrangement for implementing the encoding algorithm according to a preferred embodiment of the present invention; and FIG. 9 is a block diagram of the hardware arrangement for implementing the decoding algorithm according to a preferred embodiment of the present invention.
Detailed Description of the Preferred Embodiment The present invention is directed to a system for encoding N input values -$-into at least N+ 1 output levels. In a preferred embodiment of the present invention, each output level is represented by a different voltage. However, it should be appreciated that each output level may also be represented by a different frequency) phase) or amplitude. Referring now to the drawings wherein the showings are for the purpose of illustrating a preferred embodiment of the invention only, and not for the purpose o~f limiting same, FIG. 1 shows a state diagram 20 illustrating the transition betv~reen states for encoding two different input values (i.e., "0" and "1") into three output levels (i.e., output levels A, B and C), according to a preferred embodiment of the present invention. For instance, beginning at state 22 (output level A), if tlhe next input value is a "0," the system transitions to state 24 (output level B). In contrast, if the next input value is a "l,"
the system transitions to state 26 (output level C). The system will transition from one state to one of the other two remaining states as each consecutive input value is encoded. Importantly, it should be noted that no two consecutive input values will be encoded as the same output level.
FIG. 2 shows a state diagram 30 illustrating the transition between states for encoding three input values (i.e., "0," "1" and "2") into four output levels (i.e., output levels A, B, C and D), according to a preferred embodiment of the present invention.
FIG. 3 shows a state diagram 40 ilh~strating the transitions between states for the encoding of four input values (i.e,) "0," "1;' "2" and "3") into five output levels (i.e., output levels A, B) C) D and E)) according to a preferred embodiment of the present invention. It should be appreciated that since there are four input values, each input value may represent a bit pair (i.e.) "00," "OI," "10," and "1 t").
Therefore, each output level will represent two bits, rather than one bit, as in conventional encoding systems. Moreover, where N different input values are encoded into at least N+ 1 output levels) each input value can represent logz(N) bits. As a result of using a single input value to represent a plurality of bits, higher data transfer rates are achievable, and bandwidth can be conserved. It should be appreciated that while in a preferred embodiment of the present invention the input values encode base 2 data (i.e., log2(N) bits) the input values may also encode base X data. Therefore, the input values may represent values _6_ O through X-1 in base X with the encoded output having at least X different output levels. It should also be understood that there may be more than N+ 1 output levels and transitions thereof for encoding N different input values.
This allows for simplified implementation of various error detection and correction methods.
A detailed description of the present invention as applied to the encoding of four input values into five output levels, will now be described with reference to FIGS. 4 and 5. FIG. 4 provides a timing diagram 50 which shows the transition of the output levels as each input value is encoded. It should be appreciated that in the embodiment shown in FIG. 4, each input value represents a hit pair. For the purpose of illustration, input value "0" represents bit pair "00," input value "1"
represents bit pair "01," input value "2" represents bit pair "10" and input value "3"
represents bit pair "11." As can be seen from FIG. 4, each consecutive output level will be different. Each output level A thru E is a discreet voltage level. For instance, output levels A thru E may correspond to voltages in the range of 0 to 5 volts.
The input values shown in FIG. 4 are encoded into output levels A thru E
according to the algorithm shown in flow chart 60 of FIG. 5. Beginning with step 62) a FIRST flag is set to TRUE. This will indicate that this is the first input value to be encoded. At step 64, an input value will be read in. Next, at step 66, it is determined whether the input value is the first input value to be encoded, by determining the status of the F1RST flag. If the input value is the first input value to be encoded, a first set of roles {steps 70-76) will be applied. If the input value is not the first input value to be encoded, it will be determined whether a second set of rules (steps 80-86) should be applied, as will be discussed below. For instance, in FIG. 4, the first input value is a "0" (corresponding to bit pair "00") Accordingly, the conditions exist for applying the first set of rules. In particular, step 70 will be executed. 1n this respect, the output level will be set to A
and the LAST variable will be set to "0." The LAST variable is used as a reference value to determine the appropriate set of rules to be applied following the first input value, as will be described below in connection with step 68.
It should be understood that only one of the steps 70-76 will be valid when _'7_ applying the first set of rules. Accordingly, step 90 will follow step 70.
Step 90 sets the FIRST flag to FALSE for the subsequent input values. The algorithm then returns to step 64 to read in the ne~.xt input value. In FIG. 4, the next consecutive input value is a "1." Since the FIRST flag is now set to FALSE, the algorithm will proceed from step 66 to step 68. At step 68, it is determined whether the input value is less than the LAST variable. This step determines whether the first set of rules (steps 70-76) should be applied or whether the second set of rules (steps 80-86) should be applied. 1n the present example, the input value of "1" is greater than the LAST variable, which has been previously set to "0" at step 70. Therefore, the algorithm v~rilI apply the second set of rules (steps 80-86). Since the input value is "l," step F.2 will be executed. Step 82 sets the output level to C and the LAST variable to 2. The algorithm then proceeds to step 90 and returns again to step 64 for reading in the next consecutive input value. The algorithm will continue in this manner until all of the input values have been encoded as output levels.
With reference to FIG. 4, it should be appreciated that the output level of the preceding encoded input value will determine the output level for the next consecutive encoded input value. In particular, the next consecutive input value will be encoded as one of the four remaining output levels. As a result) when two consecutive input values are the same, suclh as the consecutive 3's following the first three input values in FIG. 4, each of the 3's wilt be encoded as different output levels. In the case of the first "3," the output level is E) whereas the second 3 is encoded as output level D. Since no consecutive output level will be the same, the output levels will transition for each consecutive encoded input value.
Referring now to F1G. 6, there is shown a flow chart 100 which illustrates an algorithm for decoding output levels back into input values) according to a . preferred embodiment of the present invention. Beginning with step 102, the FIRST flag is set to TRUE indicating that this is the first output level to be - decoded. At step 104, the output level is read in. For steps lOf-114, an input value is determined based upon the output level read in. However) in some cases this input value will be modified, as will bE: explained below in connection with step 118. Therefore, the decoded input value will be determined based upon a set _g_ of rules determined by both the current output level and one or more prior output levels. 1f the output level is the first output level read in (i.e., FIRST =
TRUE), then the input value is not modified. In this respect, the algorithm will proceed from step 116 to step 120 where the LAST variable wilt be set to the input value.
It should be appreciated that the LAST variable is used to determine if an input value needs to be modified, as will be explained in connection with step 118.
Proceeding next to step 122, the FIRST flag is set to FALSE for reading subsequent output levels. At step 124) the input value is stored. The algorithm now returns to step 104, to read in the next consecutive output level. After evaluating the output level at steps 106-114, if the FIRST flag is no longer true (step 116)) the algorithm proceeds to step 1.18. At step 118) it is determined whether the input value (obtained at one of the steps 106-114) is greater than the LAST variable. If so, the input value is modified by decrementing it by one.
If the input value is not greater than the LAST variable, then the input value is not modified. The algorithm then proceeds to step 120) where the LAST variable is set equal to the present input value, and step 122. At step 124, the input value is stored. Tire algorithm then returns to step 104 to read in the next consecutive output level. The algorithm will continue in this manner until all of the output levels have been decoded back to the original input values.
As noted above, each consecutive output level in the encoded waveform will be different, and thus necessitate a transition. As a result) the decoding system will not require an external clocking signal to synchronize with th ~
encoded waveform. 1n this regard, the decoding system is self-synchronizing with the encoded waveform by using the transition of each consecutive output level as the indicator that a new output level has been received for decoding. Thus) the decoder can be easily synchronized with an encoded waveform having a variable transmission speed.
It should be understood that while FIGS. 4-6 show the implementation of only five output levels, the number of output levels may be significantly greater.
As a result, the number of different input values may also be significantly greater.
By increasing the number of output levels and input values, the number of bits represented by each input value can also be increased. Accordingly, as noted above, the present invention can be used to substantially increase the data transfer rate and conserve bandwidth.
It should also be appreciated that FIGS. 4-6 illustrate a fixed timing relationship between one output level a:nd the next solely for the purpose of illustrating the present invention. In this regard, the time scale itself is completely arbitrary, and the time required to transitiion from one output level to another is also completely arbitrary. Accordingly, it should be understood that the present invention can maximize the use of available bandwidth by varying the timing relationship from one transition to another. For example, in a bandwidth limited transmission medium, a change from one output level to a nearby output level, such as from A to B, will stabilize quicklly) whereas a change from one output level to a distant output level, such as from A to E, will take longer to stabilize.
Therefore, small changes can be transmitted more quickly. FIG. 7 provides a timing diagram 160 which shows the timing where stabilization of the transitions varies depending upon the relative difference between consecutive output levels.
As can be seen from the diagram, the timE: far a single level change (e.g., A
to B) takes approximately half the time needed if'or a change of two levels (e.g., B
to D).
Referring now to F1G. 8, there is shown a block diagram of a hardware arrangement 130 for encoding input values into output level transitions.
Arrangement 130 is generally comprised of a buffer 132, encoding logic 134, and a digital-to-analog converter 136. In a preferred embodiment of the present invention) buffer 132 is a FIFO chip for buffering the received data. For instance, buffer 132 may take the form of a Cyprus Semiconductor CY7C464. Encoding logic 134 is programmed to implement the algorithm in the manner as described in connection with FIG. 5. In a preferrec',I embodiment of the present invention, encoding logic 134 takes the form of an EPLD device) such as the Alters EPM7096S. Digital-to-analog converter 136 may take the form of an 8-bit video DAC, such as the Phillips TDA8702.
- Arrangement 130 operates in the following manner. Unencoded data is stored in buffer 132. The unencoded dat~i are input values which may represent one or more bits. Encoding logic 134 reads out the unencoded data and encodes it into output levels transitions which are sent to digital-to-analog converter 13(>.
It should be appreciated that the analog coded data may be transmitted using a variety of different mediums, including a television signal. For instance, encoded data may be transmitted during the active video portion of the television signal.
Accordingly) large quantities of data can be quickly and conveniently transferred.
Referring now to FIG. 7, there is shown a block diagram of hardware arrangement 150 for decoding output levels transitions into input values.
Arrangement 150 is generally comprised of an analog-to-digital converter 152, a buffer 154 and decoding logic 156. Analog-to-digital converter 152 is preferably an 8-bit video ADC, such as Phillips TDA8708B. In a preferred embodiment of the present invention, buffer 154 is a FIFO chip for buffering the digital data. For instance, buffer 154 may take the form of a Cyprus Semiconductor CY7C464.
Decoding logic 156 is programmed to implement the algorithm in the manner as described in connection with FIG. 6. In a preferred embodiment of the present invention, decoding logic 156 takes the form of an EPLD device, such as the Altera EPM7096S.
Arrangement 150 operates in the following manner. Analog-to-digital converter 152 receives the encoded output levels and converts them to digital data.
Buffer 154 stores the digital data. Decoding Logic 156 reads out the digital data from buffer 154 and decodes the encoded output level transitions into input values. These input values in turn may be converted to one or more bits.
It should he appreciated that arrangements 130 and 150, as described above, are provided solely for the purpose of illustrating a preferred embodiment of the present invention and that numerous other arrangements are suitable as well.
The foregoing description is a specific embodiment of the present invention. It should be appreciated that this embodiment is described for purposes of illustration only, and that numerous alterations and modifications may be practiced by those skilled in the art without departing from the spirit and scope of the invention. In this regard, it is known that large changes between consecutive output levels may generate significant noise, and thus require increased bandwidth. As a result, it might be necessary in some cases to limit the changes between consecutive output levels to the nearest 50 percent of the available output levels. Therefore) there rnay be more than N+ 1 output levels for encoding N input values. For instance, an encoder having ten output levels might produce a step of one of four levels per each transition, encoding two bits at a time, but reducing the needed bandwidth of the channel. It is intended ihat all such modifications and alterations be inc'.luded insofar as they come within the scope of the invention as claimed or the equivalents thereof.
Claims (15)
1. A method for encoding data comprising:
receiving a plurality of input values to be encoded, wherein each of the input values is a number in the range of 0 to N-1 in base N, where N~3;
establishing at least N+1 output levels, each said transition in output level representing an encoded input value; and transitioning from one of said at least N+1 output levels to another of said at least N
+ 1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels.
receiving a plurality of input values to be encoded, wherein each of the input values is a number in the range of 0 to N-1 in base N, where N~3;
establishing at least N+1 output levels, each said transition in output level representing an encoded input value; and transitioning from one of said at least N+1 output levels to another of said at least N
+ 1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels.
2. A method according to claim 1, wherein each said number represents log2(N) bits.
3. A method according to claim 1, wherein said output levels are one of the following:
voltage levels, frequencies, phases or amplitudes.
voltage levels, frequencies, phases or amplitudes.
4. A method according to claim 1, wherein each of said input values is associated with a reference value during encoding thereof.
5. A method according to claim 4, wherein if said input value is the first input value to be encoded or if said input value is less than said reference value associated with the previously encoded input value, then said input value is encoded according to a first set of rules, otherwise said input value is encoded according to a second set of rules, said first and second set of rules establishing the appropriate transition among said output levels.
6. A system for encoding data comprising:
means for establishing at least N+1 output levels, each transition in said output level representing an encoded input value;
means for receiving a plurality of input values to be encoded, wherein each said input value is a number in the range of 0 to N-1 in base N, where N~3;
means for transitioning from one of said at least N+1 output levels to another of said at least N+1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels.
means for establishing at least N+1 output levels, each transition in said output level representing an encoded input value;
means for receiving a plurality of input values to be encoded, wherein each said input value is a number in the range of 0 to N-1 in base N, where N~3;
means for transitioning from one of said at least N+1 output levels to another of said at least N+1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels.
7. A system according to claim 6, wherein each said number represents log2(N) bits.
8. A system according to claim 6, wherein said system further comprises means for decoding each of said output levels into an input value according to a set of rules determined by both the output level currently being decoded and one or more output levels previously decoded.
9. A method for encoding and decoding data comprising:
establishing N+1 output levels, each transition between said output levels representing an encoded input value, where N~3;
receiving a plurality of input values to be encoded, wherein each said input value is a number in the range of 0 to N-1 in base N;
transitioning from one of said N+1 output levels to another of said N+1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels; and decoding said output level into an input value according to a set of rules determined by both the output level currently being decoded and one or more output levels previously decoded.
establishing N+1 output levels, each transition between said output levels representing an encoded input value, where N~3;
receiving a plurality of input values to be encoded, wherein each said input value is a number in the range of 0 to N-1 in base N;
transitioning from one of said N+1 output levels to another of said N+1 output levels for each consecutively received input value, wherein each consecutive output level is different, and wherein the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels; and decoding said output level into an input value according to a set of rules determined by both the output level currently being decoded and one or more output levels previously decoded.
10. A system for decoding data comprising:
transition detection means for detecting a transition from a first of N+1 output levels to a second of N+1 output levels, where N~3, wherein each consecutive output level is different, and the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels;
decoding means for decoding an output level to an input value in response to the detection of a transition from the first of N+1 output levels to the second of N+1 output levels, wherein each input value is a number in the range of 0 to N-1 in base N, said decoding means decoding the output level to the input value in accordance with the output level currently being decoded and at least one of the output levels previously decoded; and storage means for storing the input value decoded by said decoding means.
transition detection means for detecting a transition from a first of N+1 output levels to a second of N+1 output levels, where N~3, wherein each consecutive output level is different, and the frequency of transitions between output levels varies in accordance with the relative difference between consecutive output levels;
decoding means for decoding an output level to an input value in response to the detection of a transition from the first of N+1 output levels to the second of N+1 output levels, wherein each input value is a number in the range of 0 to N-1 in base N, said decoding means decoding the output level to the input value in accordance with the output level currently being decoded and at least one of the output levels previously decoded; and storage means for storing the input value decoded by said decoding means.
11. A method according to claim 9, wherein each said number is representative of log2(N) bits.
12. A method for encoding data comprising;:
receiving a plurality of input values to be encoded, wherein each of the input values may be one of N different input values;
establishing at least N+1 output levels, each said transition in output level representing an encoded input value; and transitioning from one of said at least N+1 output levels to another of said at least N
+1 output levels for each consecutively received input value, each consecutive output level being different, wherein the time between initiation of consecutive transitions varies in accordance with the relative difference between consecutive output levels.
receiving a plurality of input values to be encoded, wherein each of the input values may be one of N different input values;
establishing at least N+1 output levels, each said transition in output level representing an encoded input value; and transitioning from one of said at least N+1 output levels to another of said at least N
+1 output levels for each consecutively received input value, each consecutive output level being different, wherein the time between initiation of consecutive transitions varies in accordance with the relative difference between consecutive output levels.
13. A method according to claim 12, wherein each said N different input values is a number in the range of 0 through N in base N+1, where N~3.
14. A method according to claim 13, wherein each said number represents log2(N) bits.
15. A method according to claim 12, wherein said output level takes the form of one of the following: voltage levels, frequencies, phases or amplitudes.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/767,371 | 1996-12-16 | ||
US08/767,371 US5903231A (en) | 1996-12-16 | 1996-12-16 | System for encoding base N data using a multi-level coding scheme |
PCT/US1997/022645 WO1998027699A1 (en) | 1996-12-16 | 1997-12-11 | Multilevel coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2275185A1 true CA2275185A1 (en) | 1998-06-25 |
Family
ID=25079276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002275185A Abandoned CA2275185A1 (en) | 1996-12-11 | 1997-12-11 | Multilevel coding |
Country Status (8)
Country | Link |
---|---|
US (1) | US5903231A (en) |
EP (1) | EP1018251A1 (en) |
JP (1) | JP2001506448A (en) |
AU (1) | AU5521298A (en) |
BR (1) | BR9713729A (en) |
CA (1) | CA2275185A1 (en) |
MX (1) | MXPA99005610A (en) |
WO (1) | WO1998027699A1 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122010A (en) * | 1996-12-16 | 2000-09-19 | Vidicast Ltd. | Television signal data transmission system |
US7103065B1 (en) * | 1998-10-30 | 2006-09-05 | Broadcom Corporation | Data packet fragmentation in a cable modem system |
US6961314B1 (en) * | 1998-10-30 | 2005-11-01 | Broadcom Corporation | Burst receiver for cable modem system |
ATE412289T1 (en) | 1998-10-30 | 2008-11-15 | Broadcom Corp | CABLE MODEM SYSTEM |
US7561808B2 (en) * | 2000-03-21 | 2009-07-14 | Lightwaves Systems, Inc. | System and method of using variable pulses for symbology |
US7142612B2 (en) * | 2001-11-16 | 2006-11-28 | Rambus, Inc. | Method and apparatus for multi-level signaling |
US20030235415A1 (en) * | 2002-06-21 | 2003-12-25 | Peters Frank H. | Optical communication devices and optical communication methods |
EP1734511B1 (en) | 2002-09-04 | 2009-11-18 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
US7113550B2 (en) * | 2002-12-10 | 2006-09-26 | Rambus Inc. | Technique for improving the quality of digital signals in a multi-level signaling system |
JP5106757B2 (en) * | 2004-06-24 | 2012-12-26 | 三星電子株式会社 | Voltage level coding system and method |
US7302631B2 (en) * | 2004-07-16 | 2007-11-27 | Rambus Inc. | Low overhead coding techniques |
US20060126751A1 (en) * | 2004-12-10 | 2006-06-15 | Anthony Bessios | Technique for disparity bounding coding in a multi-level signaling system |
US7656321B2 (en) * | 2005-06-02 | 2010-02-02 | Rambus Inc. | Signaling system |
US8100929B2 (en) | 2007-06-29 | 2012-01-24 | Ethicon Endo-Surgery, Inc. | Duckbill seal with fluid drainage feature |
US8179974B2 (en) | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
TWI752898B (en) | 2014-03-25 | 2022-01-21 | 日商新力股份有限公司 | Signaling devices and communication systems |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3634855A (en) * | 1969-05-05 | 1972-01-11 | Wendell S Miller | Self-clocking multilevel data coding system |
US3743767A (en) * | 1971-10-04 | 1973-07-03 | Univ Illinois | Transmitter and receiver for the transmission of digital data over standard television channels |
NL7310645A (en) * | 1973-08-01 | 1975-02-04 | Nederlanden Staat | Coding of binary signals into ternary signals - permits illegal codes to economise on check bits |
US3984624A (en) * | 1974-07-25 | 1976-10-05 | Weston Instruments, Inc. | Video system for conveying digital and analog information |
US4183054A (en) * | 1977-09-30 | 1980-01-08 | Harris Corporation | Digital, frequency-translated, plural-channel, vestigial sideband television communication system |
JPS5831136B2 (en) * | 1978-01-20 | 1983-07-04 | 株式会社日立製作所 | Digital signal transmission method |
US4484328A (en) * | 1981-08-03 | 1984-11-20 | Schlafly Hubert J | Television line multiplexed data communication system |
EP0094794B1 (en) * | 1982-05-14 | 1992-04-22 | Communications Patents Limited | Communications system |
US4665431A (en) * | 1982-06-24 | 1987-05-12 | Cooper J Carl | Apparatus and method for receiving audio signals transmitted as part of a television video signal |
JPS5986386A (en) * | 1982-11-09 | 1984-05-18 | Pioneer Electronic Corp | Frequency division multiplex system |
US4805020A (en) * | 1983-03-21 | 1989-02-14 | Greenberg Burton L | Television program transmission verification method and apparatus |
US4626913A (en) * | 1984-06-26 | 1986-12-02 | Rca Corporation | Chroma burst derived clock regenerator for teletext decoder |
GB2183971B (en) * | 1985-12-05 | 1989-10-04 | Stc Plc | Data transmission system |
US4750036A (en) * | 1986-05-14 | 1988-06-07 | Radio Telcom & Technology, Inc. | Interactive television and data transmission system |
US5177604A (en) * | 1986-05-14 | 1993-01-05 | Radio Telcom & Technology, Inc. | Interactive television and data transmission system |
DE3617251A1 (en) * | 1986-05-22 | 1987-11-26 | Philips Patentverwaltung | CIRCUIT ARRANGEMENT FOR A TELEVISION RECEIVER WITH A VIDEO TEXT DECODER |
US4789895A (en) * | 1987-04-30 | 1988-12-06 | Gte Government Systems Corporation | System for synchronizing digital bit stream for telecommunication system |
US4807031A (en) * | 1987-10-20 | 1989-02-21 | Interactive Systems, Incorporated | Interactive video method and apparatus |
JPH02502508A (en) * | 1987-12-07 | 1990-08-09 | ブリティッシュ・ブロードキャスティング・コーポレーション | Data transmission during valid image period |
US5251301A (en) * | 1988-05-27 | 1993-10-05 | Pc Connection, Inc. | Computer remote control through a video signal |
US4920503A (en) * | 1988-05-27 | 1990-04-24 | Pc Connection, Inc. | Computer remote control through a video signal |
US4969041A (en) * | 1988-09-23 | 1990-11-06 | Dubner Computer Systems, Inc. | Embedment of data in a video signal |
US5014125A (en) * | 1989-05-05 | 1991-05-07 | Cableshare, Inc. | Television system for the interactive distribution of selectable video presentations |
US5063446A (en) * | 1989-08-11 | 1991-11-05 | General Electric Company | Apparatus for transmitting auxiliary signal in a TV channel |
US4958230A (en) * | 1989-08-11 | 1990-09-18 | General Electric Company | Method of transmitting auxiliary information in a television signal |
GB2250898A (en) * | 1990-12-12 | 1992-06-17 | Stc Plc | Line coding scheme. |
US5200822A (en) * | 1991-04-23 | 1993-04-06 | National Broadcasting Company, Inc. | Arrangement for and method of processing data, especially for identifying and verifying airing of television broadcast programs |
US5327237A (en) * | 1991-06-14 | 1994-07-05 | Wavephore, Inc. | Transmitting data with video |
US5387941A (en) * | 1991-06-14 | 1995-02-07 | Wavephore, Inc. | Data with video transmitter |
US5410360A (en) * | 1991-06-14 | 1995-04-25 | Wavephore, Inc. | Timing control for injecting a burst and data into a video signal |
US5243423A (en) * | 1991-12-20 | 1993-09-07 | A. C. Nielsen Company | Spread spectrum digital data transmission over TV video |
SE500767C2 (en) * | 1992-10-16 | 1994-08-29 | Uni I Linkoeping | Device for transmitting information from a first to a second electronic device |
US5452009A (en) * | 1993-12-29 | 1995-09-19 | Zenith Electronics Corp. | Digital transmission system with data rate optimized for noise in transmission medium |
IT1277858B1 (en) * | 1995-02-22 | 1997-11-12 | Hs Cast S R L | SYSTEM FOR THE TRANSMISSION OF DATA ON A TELEVISION CHANNEL. |
-
1996
- 1996-12-16 US US08/767,371 patent/US5903231A/en not_active Expired - Lifetime
-
1997
- 1997-12-11 BR BR9713729-4A patent/BR9713729A/en not_active IP Right Cessation
- 1997-12-11 EP EP97951619A patent/EP1018251A1/en not_active Withdrawn
- 1997-12-11 MX MXPA99005610A patent/MXPA99005610A/en not_active Application Discontinuation
- 1997-12-11 CA CA002275185A patent/CA2275185A1/en not_active Abandoned
- 1997-12-11 JP JP52780498A patent/JP2001506448A/en active Pending
- 1997-12-11 WO PCT/US1997/022645 patent/WO1998027699A1/en not_active Application Discontinuation
- 1997-12-11 AU AU55212/98A patent/AU5521298A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2001506448A (en) | 2001-05-15 |
BR9713729A (en) | 2002-01-15 |
AU5521298A (en) | 1998-07-15 |
MXPA99005610A (en) | 2002-07-02 |
US5903231A (en) | 1999-05-11 |
WO1998027699A1 (en) | 1998-06-25 |
EP1018251A1 (en) | 2000-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903231A (en) | System for encoding base N data using a multi-level coding scheme | |
KR100303581B1 (en) | Data coding and decoding system | |
US5787133A (en) | Signal modulation employing a pseudo-random sequence of pilot symbols | |
EP0406507B1 (en) | Block coding scheme for fractional-bit transmission | |
US20060126751A1 (en) | Technique for disparity bounding coding in a multi-level signaling system | |
US6084915A (en) | Signaling method having mixed-base shell map indices | |
EP3306821B1 (en) | Methods of converting or reconverting a data signal and method and system for data transmission and/or data reception | |
US6621426B1 (en) | Method and apparatus for modulating a signal | |
WO2002009300A3 (en) | Method and system for turbo encoding in adsl | |
US20080181331A1 (en) | Pulse amplitude modulated system with reduced intersymbol interference | |
JPH04233347A (en) | Method and apparatus for generating signal | |
JP2003324491A (en) | Multilevel fsk modulation system | |
JP2003110644A (en) | Modulator, communication system, and modulation program | |
CN100586139C (en) | Integrated modulator and demodulator | |
US5642380A (en) | Data communication system and modem therefor | |
US6754282B1 (en) | DC-free run length constrained line coding with channel gain | |
US5995548A (en) | Signaling method using multiple modulus shell mapping | |
US7469022B2 (en) | Methods and apparatus for symmetrical phase-shift keying | |
WO1998039883A1 (en) | Signalling method using multiple modulus conversion and shell mapping | |
EP0567650A1 (en) | Phase-modulation transmitter and receiver | |
CN108564960B (en) | Apparatus and method for passing digital signal through vocoder | |
KR100390582B1 (en) | Line code transmission using pulse width bit inversion | |
JPS63219252A (en) | Multilevel qam communication system | |
JP2751632B2 (en) | Multi-level modulation / demodulation communication system and method | |
JPWO2005074219A1 (en) | Data transmitting apparatus, data receiving apparatus, transmission path encoding method, and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |