this appiication is a 371 of PCT/JP01/00446 Jan. 24, 2001.
This invention relates to a coding circuit for transmitting a digital image signal at high speed.
As one of high-speed transmission systems for digital image signals, there is the standard of DVI (Digital Visual Interface) (hereinbelow, this standard shall be referred to as “DVI standard”, and the specification thereof shall be referred to as “DVI standard specification”). The DVI standard specification can be obtained from “http://www.ddwg.org/downloads.html”. A coding system which is handled in the present invention is stipulated on pages 28–29 in DVI standard specification Rev. 1.0 (hereinbelow, this coding system shall be termed “DVI coding system”). The circuits which form the foundation of the DVI coding system, are described in U.S. Pat. No. 6,026,124.
Shown in
The transmission system of DVI is a system wherein, on a transmission side, the 8-bit RGB (Red, Green, Blue) input signals of image data are respectively coded into 10-bit signals, the resulting parallel 10-bit data are respectively serialized, and four differential pair signals including a clock signal added to the serial data are transmitted.
The DVI coding system codes each 8-bit input signal into a 10-bit signal, thereby to minimize the probability of the transitions between adjacent two bits of the signal and also to balance a “H” level (hereinafter, also referred to as “1”) and a “L” level (hereinafter, also referred to as “0”). Minimizing the probability of the transitions between adjacent two bits decreases the number of times when the data change over in the case where the parallel 10-bit data is serialized and transmitted, which is effective to decrease the emission of superfluous electromagnetic waves. Balancing the “H” level and the “L” level eliminates the inter-pair DC-wise deviation of the signals transmitted as differential pairs.
Concretely, in a unit time, an 8-bit image data signal D[0:7] is input for one character, and 10-bit data q_out[0:9] is output for one T.M.D.S. character. “T.M.D.S. (Transition Minimized Differential Signaling)” is a coding system which forms the foundation of the DVI standard, and the “T.M.D.S. character” signifies the coded data of 10 bits.
The coding is done when a signal DE is at the “H” level.
Cnt(t) is a content which is held in an internal register at time “t” in order to keep the balance between a number of “1” and a number of “0” in a plurality of successive T.M.D.S. characters, and it is obtained as the sum of a value calculated by subtracting a number of “0” from a number of “1” and a content Cnt(t−1) held in the internal register at time (t−1). For example, when the signal is “1011000001” at the time “t”, a value, which is calculated in such a way that “−2” obtained by subtracting “6” as a number of “0” from “4” as a number of “1” is added to the content Cnt(t−1) held in the internal register at the time (t−1), becomes the value of the content Cnt(t).
By the way, in the figure, N1{x} indicates a formula which returns how many “1” are contained in a multi-bit variable “x”. Likewise, N0{x} returns how many “0” are contained in the multi-bit variable “x”. Further, q_m[] indicates a result produced by subjecting the 8-bit input signal D[0:7] to processing so as to decrease the number of the transitions between adjacent two bits thereof. The meaning of the number of the transitions between adjacent two bits will be explained, for example, in an 8-bit input signal “10010010”. When this input signal is viewed rightwards in succession, there are 5 parts where a value transits from “1” to “0” or from “0” to “1”, and hence, the number of the transitions between adjacent two bits is five. Besides, q13 out[0:9] indicates a 10-bit coded output signal further subjected to processing for keeping a DC balance.
As shown at S101 in
Besides, as shown at step S102 or S103 in
Next, according to the DVI standard, a judgment for balancing an output code DC-wise is formed at steps S106 and S107 as shown in
This circuit operates upon receiving the outputs of the circuits for decreasing the number of the transitions, and therefore has the disadvantage that a long time is expended till the obtainment of the final result.
The present invention has an object to overcome the above disadvantages in the DVI coding system, and to provide a circuit which implements the system in a small hardware size, at high speed and with low power consumption.
In order to solve the above problem, an invention defined in claim 1 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-levels comparison circuit receives an input of 7 bits in the input signal, and that it changes-over a status of its output between in a case where the number of the bits in the first status is at least 4 in the 7-bit input signal, and in a case where the number of the bits in the first status is at most 3.
Here, the “first status” indicates either of a level “H” and a level “L”, while the “second status” indicates the other of the level “H” and the level “L”.
In a prior-art circuit, an input signal of 8 bits is received so as to judge a condition, and to change-over the status of an output, whereas in the system of the present invention, an equivalent function can be incarnated with the 7 bits, so that the method of the invention can be made advantageous over a prior-art method in points of a circuit area and power consumption.
An invention defined in claim 2 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-transitions decrease circuit includes a bit inversion circuit which receives the output of said number-of-levels comparison circuit and which inverts 4 bits in the 8-bit output.
Besides, an invention defined in claim 3 consists in:
a semiconductor integrated circuit as defined in claim 1, characterized in that said number-of-transitions decrease circuit includes a bit inversion circuit which receives the output of said number-of-levels comparison circuit and which inverts 4 bits in the 8-bit output.
The output of the number-of-transitions decrease circuit which decreases the number of the transitions between adjacent two bits can have its 4 bits inverted on the basis of the output of the number-of-levels comparison circuit.
Thus, the circuit having a function equivalent to that of the prior-art circuit can be realized with a circuit scale of approximately half, so that the method of the invention can be made advantageous over the prior-art method in points of a circuit area and power consumption.
An invention defined in claim 4 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said DC balance circuit includes a register which serves to store a hysteresis of a half of a difference between the numbers of the bits in the first status and in the second status in an output of said coding circuit, to the amount of 4 bits, a number-of-levels difference computation circuit which serves to compute a half of a difference between the numbers of the bits in the first status and in the second status in the output of said number-of-transitions decrease circuit, a condition decision circuit which receives the output of said number-of-levels comparison circuit, an output of said register and an output of said number-of-levels difference computation circuit so as to create a signal for inverting the output of said number-of-levels difference computation circuit, a bit inversion circuit which receives the output of said condition decision circuit so as to invert the output of said number-of-levels difference computation circuit, and an addition circuit which computes a sum of the output of said number-of-levels comparison circuit, the output of said register and an output of said bit inversion circuit and which delivers the computed sum to said register.
Besides, an invention defined in claim 5 consists in:
a semiconductor integrated circuit as defined in any one of claims 1–3, characterized in that said DC balance circuit includes a register which serves to store a hysteresis of a half of a difference between the numbers of the bits in the first status and in the second status in an output of said coding circuit, to the amount of 4 bits, a number-of-levels difference computation circuit which serves to compute a half of a difference between the numbers of the bits in the first status and in the second status in the output of said number-of-transitions decrease circuit, a condition decision circuit which receives the output of said number-of-levels comparison circuit, an output of said register and an output of said number-of-levels difference computation circuit so as to create a signal for inverting the output of said number-of-levels difference computation circuit, a bit inversion circuit which receives the output of said condition decision circuit so as to invert the output of said number-of-levels difference computation circuit, and an addition circuit which computes a sum of the output of said number-of-levels comparison circuit, the output of said register and an output of said bit inversion circuit and which delivers the computed sum to said register.
According to the prior-art system, a condition decision circuit needs to pass two judgments for the purpose of determining a value which is given to an addition circuit. In contrast, according to the system of the present invention, the condition decision circuit may judge only one condition as to whether or not the bit inversion circuit performs the inversion, whereby the value to be given to the addition circuit is obtained.
Moreover, according to the prior-art system, a number-of-levels difference computation circuit requires two subtraction circuits for calculating the difference of the number of bits in the first status from the number of bits in the second status and the difference of the number of bits in the second status from the number of bits in the first status. In contrast, according to the present invention, owing to the use of the bit inversion circuit, it suffices to dispose only one subtraction circuit for calculating the half of the difference between the numbers of the bits in the first status and in the second status. Accordingly, the condition decision circuit and the number-of-levels difference computation circuit can be realized in a smaller circuit scale than in the prior-art system, so that the system of the invention can be made advantageous over the prior-art system in points of a circuit area and power consumption.
An invention defined in claim 6 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said DC balance circuit includes a number-of-levels difference computation circuit which serves to compute a half of a difference between the numbers of the bits in the first status and in the second status in the output of said number-of-transitions decrease circuit, and that an input of said number-of-levels difference computation circuit is added to the output of said number-of-transitions decrease circuit and corresponds to 4 bits among 8 bits of an input signal of said number-of-transitions decrease circuit.
Besides, an invention defined in claim 7 consists in:
a semiconductor integrated circuit as defined in any one of claims 1–5, characterized in that an input of said number-of-levels difference computation circuit is added to the output of said number-of-transitions decrease circuit and corresponds to 4 bits among 8 bits of an input signal of said number-of-transitions decrease circuit.
According to the prior-art system, the number-of-levels difference computation circuit computes by receiving only the output of a number-of-transitions decrease circuit, and hence, the computation of the number-of-levels difference computation circuit is started for some signal patterns after the obtainment of the computed result of the number-of-transitions decrease circuit, so that a long time is required till the obtainment of the computed result of the number-of-levels difference computation circuit. In contrast, according to the system of the present invention, the computation of a path requiring the longest time is previously ended to an intermediate part before the obtainment of the output result of the number-of-transitions decrease circuit, by the use of the 4 bits among the 8 bits of the input of the number-of-transitions decrease circuit, whereby the computed result can be obtained in a shorter delay time than in the prior-art system.
An invention defined in claim 8 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-transitions decrease circuit includes a first circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the first status is larger in the 8-bit input signal, a second circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the second status is larger, and a selector which receives the output of said number-of-levels comparison circuit so as to change-over outputs of said first circuit and said second circuit, and that said first circuit or/and said second circuit perform(s) parallel processing, thereby to decrease the number of stages of XOR gates or XNOR gates which are connected in series.
Besides, an invention defined in claim 9 consists in:
a semiconductor integrated circuit as defined in any one of claims 1 and 4–7, for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-transitions decrease circuit includes a first circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the first status is larger in the 8-bit input signal, a second circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the second status is larger, and a selector which receives the output of said number-of-levels comparison circuit so as to change-over outputs of said first circuit and said second circuit, and that said first circuit or/and said second circuit perform(s) parallel processing, thereby to decrease the number of stages of XOR gates or XNOR gates which are connected in series.
Besides, an invention defined in claim 10 consists in:
a semiconductor integrated circuit for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-transitions decrease circuit includes a first circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the first status is larger in the 8-bit input signal, or a second circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the second status is larger, and a bit inversion circuit which receives the output of said number-of-levels comparison circuit so as to invert 4 bits among 8 bits of an output of said first circuit or said second circuit, and that said first circuit, said second circuit or said first circuit performs parallel processing, thereby to decrease the number of stages of XOR gates or XNOR gates which are connected in series.
Besides, an invention defined in claim 11 consists in:
a semiconductor integrated circuit as defined in any one of claims 1–7, for realizing a coding circuit comprising a number-of-levels comparison circuit which receives an input signal of 8 bits so as to check statuses of the respective bits of the input signal and which decides whether a first status or a second status is larger in number, a number-of-transitions decrease circuit which receives an output of the number-of-levels comparison circuit and which decreases the number of transitions between adjacent two bits of the input signal, a DC balance circuit which receives an output of the number-of-transitions decrease circuit and the output of the number-of-levels comparison circuit so as to keep balance between the numbers of the first status and the second status in an output signal of 10 bits, and an output inversion circuit which receives an output of the DC balance circuit and which inverts the 8-bit output of the number-of-transitions decrease circuit, characterized in that:
said number-of-transitions decrease circuit includes a first circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the first status is larger in the 8-bit input signal, or a second circuit which decreases the number of the transitions between adjacent two bits in a case where the number of the bits in the second status is larger, and a bit inversion circuit which receives the output of said number-of-levels comparison circuit so as to invert 4 bits among 8 bits of an output of said first circuit or said second circuit, and that said first circuit, said second circuit or said first circuit performs parallel processing, thereby to decrease the number of stages of XOR gates or XNOR gates which are connected in series.
Further, an invention defined in claim 12 consists in:
a semiconductor integrated circuit as defined in any one of claims 8–11, characterized in that the number of the stages of those XOR gates or XNOR gates of said first circuit or said second circuit which are connected in series is at most 3.
In the prior art, the result is not calculated unless 7 stages of XOR gates or XNOR gates are passed, whereas the invention is permitted to decrease the number of the stages by performing the parallel processing. Thus, the output can be calculated in a shorter delay time.
22 Number-of-levels comparison circuit
23 Number-of-transitions decrease circuit
24 DC balance circuit
25 Output inversion circuit
26 Bit inversion circuit
27 Number-of-levels difference computation circuit
28 Condition decision circuit
29 Bit inversion circuit
30 Addition circuit
31 4-bit register
A detailed algorithm will be first elucidated by referring a flow chart, and contrivances for installing the algorithm on a circuit will be thereafter described in detail.
[Flow Chart]
The present invention has been made upon finding out the fact that a flow which is logically equivalent to the flow of the flow chart of the DVI coding system as shown in
First, steps S101–S103 in
[Explanation of S901]
Step S901 is a part of executing processing in which step S101 in
More specifically, in accordance with the DVI standard as it is, the following discriminant condition is used:
(N1{D}>4) OR (N1{D}==4 AND D[0]==0)
In contrast, at step S901 in the present invention, the following quite equivalent condition is used:
N1{D[1:7]}>=4
[Explanation of S902–S904]
Step S902 calculates the data q_m[0:7] in conformity with the same formula as at step S102 (however, a practicable circuit implementation is made more efficient, and this will be described later). Also, step S902 can be altered so as to use the same formula as at step S103, not at step S102.
Next, there will be described a part where steps S902–S904 are put together.
The circuit which is realized as conforms to
This circuit, however, can be constructed only of the encoder employing the XORs correspondent to 8 bits, and an inversion circuit correspondent to 4 bits. The reason therefor is that the following holds:
(result of encoder employing XORs correspondent to 8 bits)+(4-bit inversion)=(result of encoder employing XNORs correspondent to 8 bits)
Concretely, for (N1{D[7:1]}>=4), there hold:
These equations are written down as follows:
Here, by utilizing the fact that the relation of:
holds for an even number of times of XNORS, Eqs. (1) can be reduced as follows:
On the other hand, for (N1{D[7:1]}<4), there hold:
These equations are written down as follows:
When Eqs. (2) and (3) are compared, mere differences are that, except for the data q_m[8], the components of 4 bits with odd-numbered suffixes are inverted.
It is therefore understood sufficient that the data q_m[0:8] is obtained by executing only the computations of the XORs at step S102 in
As thus far described, in the present invention, steps S101–S103 in
[Explanation of S905 and S906]
Steps S905 and S906 in
[Explanation of S907–S914]
Steps S907–S914 in
According to steps S110–S113, in order to update the counts of the counters, the following four equations need to be properly used depending upon conditions:
Cnt(t)=Cnt(t−1)+N1−N0−2(˜q—m[8])
Cnt(t)=Cnt(t−1)+N0−N1+2·q—m[8]
Cnt(t)=Cnt(t−1)+N1−N0
Cnt(t)=Cnt(t−1)−N1+N0
Here, N1 and N0 shall denote N1{q_m[0:7]} and N0{q_m[0:7]}, respectively. Since q_m[8] is “0” or “1”, these equations become:
Cnt(t)=Cnt(t−1)+N1−N0−2
Cnt(t)=Cnt(t−1)+N0−N1+2
Cnt(t)=Cnt(t−1)+N1−N0
Cnt(t)=Cnt(t−1)−N1+N0
Here, Cnt/2 is replaced with hCnt by utilizing the fact that the subtraction of n bits in a binary number can be expressed by an operation employing a complement, as follows:
−A=˜A+1
and the fact that the difference between N0 and N1 infallibly becomes an even number, so the whole equation can be divided by 2. Then, the following equations are obtained:
hCnt(t)=hCnt(t−1)+˜N0N1
hCnt(t)=hCnt(t−1)+N0N1+1
hCnt(t)=hCnt(t−1)+˜N0N1+1
hCnt(t)=hCnt(t−1)+N0N1
Here, N0N1=(N0−N1)/2 is held. Therefore, the computation of the counter values hCnt can be incarnated by the three operations of full inversion, 1-bit addition and full addition.
Next, the computations of the individual conditions at steps S110–S113 will be studied in detail. At step S110, the following computation is executed:
hCnt(t)=hCnt(t−1)−N0N1−(˜q—m[8])=hCnt(t−1)+˜N0N1+1−(˜q—m[8])
Here, the last term; 1−(˜q_m[8]) becomes “0” for q_m[8]=0 and “1” for q_m[8]=1, and it can be replaced with q_m[8], so that the above formula can be expressed as:
hCnt(t)=hCnt(t−1)+˜N0N1+q—m[8]
Subsequently, the computation of step S111 becomes:
hCnt(t)=hCnt(t−1)+N0N1+q—m[8]
Subsequently, regarding step S112, the computation becomes:
hCnt(t)=hCnt(t−1)+N0N1
As seen from step S109, the condition of step S112 is executed when q_m[8] is “0”. Therefore, the formula of hCnt may well be written as:
hCnt(t)=hCnt(t−1)+N0N1+q13 m[8]
Subsequently, regarding step S113, the computation can be expressed as:
hCnt(t)=hCnt(t−1)+˜N0N1+1
Here, when considered similarly to the case of step S112, this computation is executed only for q_m[8]=1, so that it can be written as:
hCnt(t)=hCnt(t−1)+˜N0N1+q—m[8]
It is permitted by reducing the equations to compute steps S110 and S113 with quite the same equation and compute steps S111 and S112 with quite the same equation, and the formulas can be simplified into two as indicated below:
Here, the data N0N1 is inverted when steps S110 and S113 are executed, and it is not inverted when steps S111 and S112 are executed. Referring to
Next, there will be explained a value q_m[9] which has not been explained above and which is used at steps S909 and S910. This value is a value which is directly substituted into q_out[9] finally at steps S913 and S914, so that it is equivalent to q_out[9] which is used at steps S110, S111 and S108 in
Next, q_out[0:9] being a value which is finally output is determined at steps S912–S914 in
As thus far described, in the present invention, steps S106–S113 in
Incidentally, although
[Circuit]
The block diagram in which the flow chart of
Now, the flow of the coding circuit in the present invention will be described with reference to
First, among an 8-bit input signal D[0:7], a signal D[1:7] which corresponds to the 7 bits of the 2nd bit to the 8th bit is applied to a number-of-levels comparison circuit 22. The number-of-levels comparison circuit 22 counts the number of level “H” in the applied 7-bit data and judges whether the number is larger or smaller than “4”, so as to deliver a judged output. The output is applied to a number-of-transitions decrease circuit 23 and a DC balance circuit 24, and it is also output as q_out[8]. Separately from the 7-bit signal D[1:7], the 8-bit input signal D[0:7] is applied to the number-of-transitions decrease circuit 23. Data of 8 bits in which the number of the transitions between adjacent two bits is decreased, are output on the basis of a result coded in the number-of-transitions decrease circuit 23 and the output of the number-of-levels comparison circuit 22. The output of the number-of-transitions decrease circuit 23 is applied to an output inversion circuit 25. The output inversion circuit 25 passes all the bits as they are or inverts them, depending upon the output of the DC balance circuit 24, thereby to output q_out[0:7]. Also, the output of the number-of-transitions decrease circuit 23 is applied to the DC balance circuit 24. The DC balance circuit 24 computes the DC balance of the current data by receiving the output of the number-of-transitions decrease circuit 23, bit data D[1], D[3], D[5] and D[7] of odd-numbered suffixes in the input signal D[0:7], and the output of the number-of-levels comparison circuit 22, and it adds the computed DC balance to the DC balance of data having been output in the past and being held in an internal register, thereby to obtain the value of a counter and to hold the value in the register as the next value. Simultaneously, the DC balance circuit 24 supplies the output inversion circuit 25 with the output which indicates whether or not the data to be output at that time is to be inverted. Besides, when a signal DE is at a level “L”, the DC balance circuit 24 clears the content of the internal register having 4 bits. Also, when the signal DE is at the level “L”, the DC balance circuit 24 needs to output special data which is inserted for synchronization and which is called “Comma”. However, since the present invention is directed toward the method of realizing the coding circuit for the “H” level of the signal DE, a circuit for generating the data “Comma” shall be omitted. The coding which conforms to the DVI standard, is implemented in the above way.
The correspondence between the flow chart of
The operations of various portions in
First, the number-of-levels comparison circuit 22 will be described. It corresponds to the part of the block S901 in the flow chart of
The number-of-levels comparison circuit 22 is a circuit which counts the number of bits at the “H” level in its input signal and judges if the number is at least 4. In accordance with the DVI specification, the following is stipulated:
(N1{D}>4) OR (N1{D}==4 AND D[0]==0)
By evaluating the 8-bit input data D[7:0], therefore, the circuit 22 must detect a case where the number of the level “H” is larger than 4, and a case where the number of the level “H” is 4 when bit D[0] is at the level “L”. However, this condition can be reduced so as to dispense with the evaluation of the bit D[0], that is, it is equivalent to:
N1{D[1:7]}>=4
In other words, if the number of the bits at the “H” level is at least 4 in the input signal of the 7 bits D[1:7] may be judged. Using this equation, the number of bits necessary for the evaluation decreases one bit. Moreover, since the classification of the cases dependent upon the value of the data D[0] need not be performed, a condition judgment circuit is also dispensed with, to bring forth the advantages of a smaller circuit scale and a higher circuit operation speed.
The construction of this equation in terms of a practicable circuit is shown in
As stated before, the circuit is one for deciding whether the number of the bits of “1” in the 7-bit data is larger or smaller than 4. Data D[7:1] being 7 bits of an input is divided into 6 bits of D[6:1] and 1 bit of D[7]. The part of 6 bits is further divided into sets each consisting of 2 bits. The divided data are denoted by D[2i−1] and D[2i] (i=1, 2, 3). Here, putting:
NN[i]={overscore (D[2i−1])}·{overscore (D[2i])}
PP[i]=D[2i−1]·D[2i]
NN[i] becomes “1” when the 2 bits are “00”, and PP[i] becomes “1” when the 2 bits are “11”. Therefore, a case where both the data NN[i] and PP[i] “0” signifies that the 2 bits are either “01” or “10”. Conditions under which at least four “1” exist in the 7 bits of the data D[7:1] are sorted out as follows, depending upon the number of “1” in the data NN[1], NN[2] and NN[3], the number of “1” in the data PP[1], PP[2] and PP[3], and the value “0” or “1” of the data D[7]:
Conditions within ( ) in the table do not actually occur, but they are added because condition formulas are simplified.
Letting NN0 denote a condition as to whether or not the number in which NN[i]==“1” holds is zero, it can be checked by the following equation:
NN0={overscore (NN[0])}·{overscore (NN[1])}·{overscore (NN[2])}
Letting NN1 denote a condition as to whether or not the number in which NN[i]==“1” holds is one, it can be checked by the following equation:
NN1=(NN[0]·{overscore (NN[1])}·{overscore (NN[2])})+({overscore (NN[0])}·NN[1]·{overscore (NN[2]))}+({overscore (NN[0])}·{overscore (NN[1])}·NN[2])
Letting PP0_ denote a condition as to whether or not the number in which PP[i]==“1” holds is any other than zero, it can be checked by the following equation:
PP0_={double overscore (PP[0])}{overscore (·)}{double overscore (PP[1])}{overscore (·)}{double overscore (PP[2])}
Letting PP2 denote a condition as to whether or not the number in which PP[i]==“1” holds is 2, it can be checked by the following equation:
PP2=(PP[0]·PP[1]·{overscore (PP[2])})+({overscore (PP[0])}·PP[1]·PP[2])+(PP[0]·{overscore (PP[1])}·PP[2])
Using these condition formulas, let's rearrange the formula of the condition under which “1” exist at least 4 in the data D[7:1] of 7 bits. Then, the condition formula can be expressed as follows:
{(D[7]+PP0_)·NN0}+{(D[7]+PP2)·PP0—·NN1}
This formula can be calculated with a delay of 5 stages of gates ideally. However, inverters inserted as buffers exist in the number of 14, and they correspond to 28 transistors. With these transistors added, 130 transistors are included in the circuit as shown in
Next, there will be described the number-of-transitions decrease circuit 23 (including a bit inversion portion 26) in
The number-of-transitions decrease circuit 23 has realized a circuit which calculates step S102.
More specifically, the number-of-transitions decrease circuit 23 can be realized in the following form. As shown in
Besides, the number-of-transitions decrease circuit 23 can be realized as a more efficient circuit as shown in
A portion which is not enclosed with a broken line in
When computed in conformity with the DVI standard (step S102 in
q_m[0]=D[0]
q_m[1]=D[1]⊕q_m[0]
q_m[2]=D[2]⊕q_m[1]
q_m[3]=D[3]⊕q_m[2]
q_m[4]=D[4]⊕q_m[3]
q_m[5]=D[5]⊕q_m[4]
q_m[6]=D[6]⊕q_m[5]
q_m[7]=D[7]⊕q_m[6]
In order to obtain data q_m[7], a long time is expended because data q_m[0] to q_m[6] must be calculated in succession. Therefore, the computation is performed as follows:
q_m[0]=D[0]
q_m[1]=D[1]⊕q_m[0]
q_m[2]=D[2]⊕q_m[1]
q_m[3]=D[3]⊕q_m[2]
q_m[4]=D[4]⊕q_m[3]
q—m[5]=(D[5]⊕D[4])⊕q—m[3]
q—m[6]=(D[6]⊕(D[5]⊕D[4]))⊕q—m[3]
q—m[7]=(D[7]⊕(D[6]⊕(D[5]⊕D[4])))⊕q—m[3]
In this manner, regarding the data q_m[5]–q_m[7], terms in parentheses are calculated in parallel earlier so that the XOR of the calculated result and the data q_m[3] is taken, whereby the result of the computation can be obtained faster. Even with this contrivance, however, 3 stages of XOR gates must be passed before the obtainment of the data q_m[3]. Therefore, the computation is further deserialized as follows:
q_m[0]=D[0]
q_m[1]=D[1]D[0]
q_m[2]=D[2]⊕q_m[1]
q—m[3]=(D[3]⊕D[2])⊕q—m[1]
q_m[4]=D[4]⊕q_m[3]
q—m[5]=(D[5]⊕D[4])⊕q—m[3]
q—m[6]=(D[6]⊕(D[5]⊕D[4]))⊕q—m[3]
q—m[7]=((D[7]⊕D[6])⊕(D[5]⊕D[4]))⊕q—[3]
Thus, the result can be obtained merely by passing through 2 stages of XOR gates, or 3 stages of XOR gates even in case of requiring the longest time, until the obtainment of the data q_m[3]. With the circuit in
It is the same as in the case of
Besides, likewise to the relationship between
Next, the DC balance circuit 24 will be described.
The DC balance circuit 24 is a circuit which judges which of the number of the level “H” and that of the level “L” is larger in the 8 bits of the output of the number-of-transitions decrease circuit 23, by including the internal register, and which determines whether or not the final output is to be inverted, so as to keep balance DC-wise in a plurality of T.M.D.S. characters.
The DC balance circuit 24 includes a number-of-levels difference computation circuit 27 which computes the half of the difference between the number of the “H” bits and that of the “L” bits in the 8-bit data, a bit inversion circuit 29 which inverts input 4 bits in accordance with a condition, a 4-bit full addition circuit 30 with a carry input, a condition decision circuit 28 which computes the condition, and the 4-bit register 31 which stores a past DC balance status.
According to the prior-art system, there are the four sorts of formulas for computing the counts of the counters, and hence, it is required to pass the two judgments; the judgment on which of (N0−N1) and (N1−N0) is selected as a value to be added to the count Cnt(t−1) of the internal counter, and the judgment on whether or not the data q_m[8] is added. In contrast, according to the system of the present invention, the two sorts of formulas for computing the counts of the counters suffice, and hence, the condition decision circuit 28 may judge only one condition as to whether or not the data N0N1 is to be inverted.
Besides, according to the prior-art system, the two subtraction circuits for N0N1 and N1N0 as shown at 17a and 17b in
Next, the number-of-levels difference computation circuit 27 (step S907 in the flowchart of
The number-of-levels difference computation circuit 27 is a circuit which receives the output of the number-of-transitions decrease circuit 23 so as to compute the half (expressed as N0N1) of the difference between the number of the “L” bits and that of the “H” bits. Here, the following relationship holds:
(N0{q—m[0:7]}−N1{q—m[0:7]})/2=4−N1{q—m[0:7]}=N0{q—m[0:7]}−4
It is therefore understood that, if N1{q_m[0:7]} is odd, N0N1 is also odd, while if N1{q_m[0:7]} is even, N0N1 is also even. In a case where the data N0N1 is expressed by a binary number, whether it is even or odd is equivalent to whether the least significant bit thereof is at the level “L” or the level “H”. Accordingly, the least significant bit of the data N0N1 can be obtained by judging whether the data N1{q_m[0:7]} is even or odd. Whether the sum of the data q_m[0] to q_m[7] of 8 bits is even or odd, can be found in accordance with Formula “a” below.
q_m[0]⊕q_m[1]⊕q_m[2]⊕q_m[3]⊕q_m[4]⊕q_m[5]⊕q_m[6]⊕q_m[7] [Formula a]
The relationship of Formula “b” below is held by utilizing the definition of q_m[n], and the fact that the XOR between the same data becomes the level “L”.
q—m[n−1]⊕q—m[n]=q—m[n−1]⊕q—m[n−1]⊕D[n])=D[n][Formula b]
When Formula “a” is reduced using Formula “b”, Formula “c” below is obtained.
D[1]⊕D[3]⊕D[5]⊕D[7] [Formula c]
As seen from these operations, the least significant bit of the data N0N1 can be computed with the 4 bits of D[1], D[3], D[5] and D[7]. Therefore, the least significant bit of the data N0N1 can be calculated without passing the data through the number-of-transitions decrease circuit 23, and it can be obtained faster in correspondence with the delay time of the number-of-transitions decrease circuit 23.
Further, a more practicable circuit arrangement of the embodiment in
The half of the difference between the number (N0) of the bits of “0” and the number (N1) of the bits of “1” is calculated from the data q_m[0] to q_m[7]. To this end, there are first calculated the half of the difference between the number of the bits of “0” and that of the bits of “1” as to the data q_m[0] to q_m[3], and the half of the difference between the number of the bits of “0” and that of the bits of “1” as to the data q_m[4] to q_m[7]. The 3-bit data thus obtained are added up, thereby to calculate the half of the difference between the number of the bits of “0” and that of the bits of “1” as to the data q_m[0] to q_m[7]. On this occasion, the least significant bit is obtained beforehand by a least significant bit computation circuit 36 enclosed with a broken line in the figure, and the output result of a number-of-transitions decrease portion need not be employed. Therefore, a result is calculated faster than in case of starting the calculation after the obtainment of the result of the number-of-transitions decrease circuit 23.
The algorithm will be described in somewhat more detail.
The differences between the numbers of “0” and “1” as to the data q_m[0:3] are expressed by 3-bit data S0, S1, S2 of −2 to 2.
Logical expressions created for the respective data S0, S1 and S2 are as follows:
S0=q_m[0]⊕q_m[1]⊕q_m[2]⊕q_m[3]
S1=S2+{overscore (q—m[0])}·{overscore (q—m[1])}·{overscore (q—m[2])}·{overscore (q—m[3])}
S2=q—m[0]·q—m[1]·q—m[2]·q—m[3]+q—m[0]·q—m[1]·(q—m[2]⊕q—m[3])+(q—m[0]⊕q—m[1])·q—m[2]·q—m[3]
Here, using the following condition:
q—m[n]⊕q—m[n+1]=D[n+1](N1{D[7:1]}<4)={overscore (D[n+1])}(N1{D[7:1]}≧4)
The above expressions are simplified as follows:
S0=D[1]⊕D[3]
S1=S2+{overscore (q—m[0])}·q—m[1]·{overscore (q—m[2])}·{overscore (q—m[3])}
S2=q—m[0]·q—m[1]·q—m[2]+q—m[0]·q—m[1]·D[3](or{overscore (D[3])})+D[1](or{overscore (D[1])})·q—m[2]·q—m[3]
When considered similarly, the data q_m[4:7] is expressed by the values of the 3 bits of T0, T1 and T2:
T0=D[5]⊕D[7]
T1=T2+{overscore (q—m[4])}·{overscore (q—m[5])}·{overscore (q—m[6])}·{overscore (q—m[7])}
T2=q—m[4]·q—m[5]·q—m[6]+q—m[4]·q—m[5]·D[7](or{overscore (D[7])})+D[5](or{overscore (D[5])})·q—m[6]·q—m[7]
The data (N0−N1)/2 is calculated by adding up the values S0 to S2 and T0 to T2.
Next, there will be described a counter updating portion which is included in the DC balance circuit 24. The counter updating portion includes circuits 28–31 in
A practicable circuit diagram of the circuits 28–31 constituting the counter updating portion is shown in
This invention can be applied to a coding circuit for transmitting a digital image signal at high speed.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP01/00446 | 1/24/2001 | WO | 00 | 11/22/2002 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO01/91306 | 11/29/2001 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4268861 | Schreiber et al. | May 1981 | A |
4800440 | Kurokawa | Jan 1989 | A |
4894713 | Delogne et al. | Jan 1990 | A |
5307298 | Sawada | Apr 1994 | A |
5432513 | Okamoto | Jul 1995 | A |
6026124 | Lee et al. | Feb 2000 | A |
6327654 | Oowaki et al. | Dec 2001 | B1 |
20030184454 | Okamura et al. | Oct 2003 | A1 |
Number | Date | Country |
---|---|---|
02-094922 | Apr 1990 | JP |
Number | Date | Country | |
---|---|---|---|
20030184454 A1 | Oct 2003 | US |