CA2092663C - Video control circuit for multimedia applications - Google Patents
Video control circuit for multimedia applicationsInfo
- Publication number
- CA2092663C CA2092663C CA002092663A CA2092663A CA2092663C CA 2092663 C CA2092663 C CA 2092663C CA 002092663 A CA002092663 A CA 002092663A CA 2092663 A CA2092663 A CA 2092663A CA 2092663 C CA2092663 C CA 2092663C
- Authority
- CA
- Canada
- Prior art keywords
- signals
- block
- multiplexer
- synchronism
- output
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/641—Multi-purpose receivers, e.g. for auxiliary information
Abstract
A video control circuit is provided which is particularly adapted to multimedia applications, wherein image transmission services are offered in addition to usual telephone speech and data transmission services. The circuit is capable of processing both photographic and graphic video images, meeting relevant CCIR standards as well as specifications commonly used in personal computers such as VGA and EGA, so as to allow the representation of either type of images on a single display. To this end, it generates timings both for CCIR standards, and for VGA
standards, with an upper representation limit of graphic planes of 1024 columns per 1024 lines. It can provide an interface between a computer and an ISDN circuit for the display of images from the latter as well as images from the computer and other sources.
standards, with an upper representation limit of graphic planes of 1024 columns per 1024 lines. It can provide an interface between a computer and an ISDN circuit for the display of images from the latter as well as images from the computer and other sources.
Description
`- 2092663 1, The present invention concerns apparatus for building up multimedia user terminals to be used in the Integrated Service Digital Network (ISDN) and more particularly a video control circuit for multimedia applications.
25 It is well known that in the development of the ISDN network, besides the usual telephone speech and data transmission services, the idea is of offering, in a capillary way to the home subscribers, additional telematic services, among which reception and transmission of documents by Group 4 facsimile equipment and reception and transmission of photo images at CCIR standard resolution.
30 The Group 4 facsimile is a real time transmission method of texts and images,sent onto the ISDN network with a particular coding and a 64 kbiVs rate, in which the whole process, from the composition moment (acquisition through a scanner, acquisition from the memory of a processor, etc.) up to the reception and printing, is of digital type. Noise immunity is very high and resolution is of 400 pixels per inch, 35 higher that that of the analog facsimile presently used.
There is also the possibility of transmitting photo images, locally obtained with a TV camera, residing in the memory of a processor or received from a distant databank. Their resolution is that as from studio, foreseen in CCIR 656 recommendation, ~ - ~092G63 1 so they are to be displayed with suitable means in order to obtain good quality images with the same transmission resolution. This type of transmission can be used in the most different fields, e.g. it can meet the requirements of estate agents, tour operators, and the like, who could consult centralised data bases regrouping the offers 5 available on the market at that moment. It could resolve the problem of the creation of a general archive of the works of art, facililaling the transmission of the images of paintings, monuments and others to the culture ministry and hence their vision by the public.
To be able to access in a capillary way all these services, offered within an ISDN
10 network, the subscribers must be equipped with suitable terminals capable of allowing the transmission, the reception, the display and possibly the printing of the exchanged documents. The costs of such terminals can be reduced by the use of the computerwhich is already widespread in private houses. With the addition of a suitable circuit and a suitable programme, it can become the first and more versatile terminal of the 15 ISDN network.
The circuit, which can be housed on one or more printed circuit boards, will permit the computer to carry out complex processing operations of the video signal in real time. It must comprise a video signal memory to be used for image acquisition from a TV camera or for display of images residing in the personal computer itself.
20 Besides it must be equipped with interface circuits towards the digital ISDN network. A
suitable circuit allowing the computer monitor, operating with its particular TVstandard, to display the images with the characteristics specified in CCIR 656 recommendation, is also to be provided. Thus resorting to a specific monitor only for displaying the images with the specified characteristics is avoided.
25 The control programme can be permanently stored under firmware format.To date it does not exist on the market a video control circuit capable of carrying out all the operations carried out by the circuit provided by the invention. It exists on the contrary a series of devices for carrying out some partial functions. They are generally dedicated to the processing of images and particularly to the graphics, and 30 are used in the video control units installed in personal computers and workstations dedic~ted to CAD processes.
E.g. there are programmable integrated circuits, named "Colour video controller", such as those identified by IMS G300B and described on page 87 and ff. of the catalogue 1990 of INMOS, which implement the real-time control functions of a 35 graphic system and of its display means, e.g. a cathode ray tube (CRT), a laser printer or a colour plotter. They can be interfaced with the bus of each standard processor, wherefrom they receive the programmes necessary to specify timings and data display characteristics on the screen of the CRT or on a printed sheet. They can also be 1 interfaced with the source of data to be represented, using in both cases dual-port memories which allow speed up the procedures to the maximum. Said controllers contain a video timing generator, completely programmable by the external microprocessor, which generates video synchronism, addresses, data timing and all 5 the display characteristics required, such as: image dimension, vertical and horizontal scanning frequency, presence of interlacing, etc. They contain in addition threetotally-programmable memories, the so called "colour look-up tables", allowing the representation of output data with a certain number of colours chosen out of a larger set.The three RGB flows outgoing from the table are converted into analog form to be 10 directly sent to the video screen.
Moreover, there is another type of integrated circuits, such as those identified by IMS G178, described on page 63 and ff. of the above catalogue 1990 of INMOS, which implement the already-described "Colour look-up table" function, i.e. the storing of the colour values to be associated to different screen points. They comprise three bi-- 15 port memories, generally of small capacity, each relative to one of the primary colours processed (RGB = red, green, blue). Each memory is loaded and the contents is updated by the microprocessor controlling the system. The reading of the memories is carried out by using instantaneous values of RGB data flow to be displayed as addresses, each of them corresponding to a suitable value which is presented at the output gate.
20 The three values obtained thus, converted into analog form, form the tern determining the colour of a pixel of the screen.
As mentioned, said integrated circuits are particularly oriented towards graphicapplications in personal computer and workstations, by implementing the typical specifications of graphic cards, such as VGA, EGA, etc. Besides they are apt to process 25 the signals under the format of the fundamental RGB colours, while CCIR standards require the photographic images be processed under the format of luminance and chrominance components.
The limitations above are eliminated by the video control circuit for multimediaapplications provided by the present invention, which is capable of processing both 30 photographic and graphic video images, by satisfying both the relevant CCIR standards, and the specifications proper to personal computers, VGA, EGA, etc, so as to allow the representation of the two types of images on an only type of display. To this aim, it is c~p~hle of generating both the timings proper to the CCIR standards for a resolution of 720 columns per 576 lines, and the timings proper to VGA specification, for a 35 resolution of 640 columns per 480 lines, with an upper representation limit of - graphic planes of 1024 columns per 1024 lines.
It is the main object of the present invention a video control circuit for multimedia applications, such as described in the characterising portion of claim 1.
The foregoing and other characteristics of the present invention will be made clearer by the following description of a preferred embodiment thereof, given by way of non limiting example, and by the annexed drawing, wherein:
- Fig.1 is the general block diagram of the control circuit;
5 - Fig.2 is the block diagram of the biock denoted by INP in Fig.1;
- Fig.3 is the block diagram of the block denoted by VID in Fig.1;
- Fig.4 is the block diagram of the block denoted by OUT in Fig.1;
- Fig 5 is a time diagram relevant to horizontal timing generated by block TIM of Fig .1;
10 - Fig.6 is the block diagram of part TlMa of the block denoted by TIM in Fig.1;
- Fig.7 is a time diagram relevant to vertical timing generated by block TIM of Fig.1;
- Fig.8 is the block diagram of the portion TlMb of the block denoted by TIM in Fig.1;
- Fig.9 is the block diagram of the block denoted by MAD in Fig.3;
- Fig. 10 is the block diagram of the block denoted by OVE in Fig.3.
15 The video control circuit accepts at the input a digital video signai according to CCIR 656 recommendation and renders it available at the output still in digital form with 16 bit parallelism and with separated synchronism signals.
Besides it accepts at the input a digital video signal in luminance-chrominance format (Y,Cb,Cr), mixes it with another 8 bit video signal and converts it into a 20 standard RGB signal for colour monitor.
The same RGB output is converted into a digital video signal according to CCIR
656 recommendation.
Programming the image format from the outside is possible: number of lines per each field, number of pixels per each line, operation in interlaced or non-interlaced 25 mode.
The whole timing can be synchronised by signals supplied from the outside and all the functions can be programmed from the outside by a microprocessor.
The general block diagram of the control circuit is shown in Fig. 1.
8-bit digital video signals reach through connection 1 a block INP, which is the30 video-flow decoder. It extracts synchronism and active data in each line, temporarily storing them in a buffer memory to obtain output flux synchronization, supplied on connection 2. In addition to line and field synchronism and field parity code, on connection 2 there are output 16-bit video data in Y,Cb,Cr format. On connection 3 block INP receives control signals of the emission of video data.Connection 1 reaches 35 also block MX2, a multiplexer allowing sending to output 5 the digital video flux present on connection 1 or the one present on connection 4, under the control of the signal on wire 6. In such a way it is sent to the output either the same input flux or the one generated inside the control circuit by block OUT.
`~
16-bit video data in Y,Cb,Cr format arrive from the outside through connection 7, together with signal for controlling data input, i.e. enabling, clock, selection signals. They are led to block VID, which synchronises them using timings established from the outside and converts them into RGB format, making them available on 5 connection 8 with a 24-bit parallelism, plus the clock signal. The same data are made available in Y,Cb,Cr format, still with 24 bit parallelism, on connection 21.
Through connection 9 block VID carries out also the control of an external videomemory, containing a secondary image superimposable to the current image named "overlay memoryH. More particularly VID generates on connection 9 the addresses, and 10 at varying instants, receives video data and synchronism signals.
All the timing signals, needed by block VID, are sent to block TIM through connection 10. Among them there are the signals specifying pixel position, whose value is sent onto connection 8, consisting of horizontal and vertical synchronism and of pixel clock.
15 Block VID interfaces the control microprocessor through block INT and connections 11 and 12. Through connection 11 it receives from the microprocessorthe commands for programming its registers and through connection 12 it allows the microprocessor to read its operating condition.
Finally, through connection 13, block VID renders available to the outside 20 vertical, horizontal and parity signals, as well as state signals, e.g. filling state of the buffer memory, and a control signal for an external video multiplexer, allowing the image present on connection 8 to be combined with an external video image.
Block TIM generates the timing signals for the whole circuit, sending them both on the already examined connection 10, and on connection 14 towards block OUT. Block 25 TIM receives from the outside the pixel clock and external horizontal and vertical synchronism signals through connection 15. Two connections 16 and 17 allow the external microprocessor to program and check the block operation respectively.
Block INT allows address signal decoding coming from the external microprocessor on connection 18, granting it the access to one of the internal 30 registers. The datum to be written at the specified address is to be rendered available by the microprocessor on connection 19, at the input to block INT, which forwards it on connections 11 and 16. Connection 20 presents the address of the register themicroprocessor wants to read to block MX1, a multiplexer which transfers to the output on connection 19 one of the data present on connections 12 or 17.
35 Finally, block OUT converts 24-bit data under Y,Cb,Cr format, present on connection 21, into data under CCIR 656 format, it renders available on connection 4.
Timings for the correct operation of OUT are supplied by block TIM through connection 1 4 .
Fig. 2 shows the block diagram denoted by INP on Fig.1, which operates video flow decoding.
Digital video data and relevant timings, present on connections 1a and 1b respectively, are first stored in a register R1 and then transferred into a register R3, 5 both of them with 8-bit parallelism. As a result of the storing and of transferring, on connection 31 there is the first input datum and on connection 30 the second datum, which can now be taken as an only 16-bit datum and sent to block FIF. Thanks to parallelism doubling, the frequency of data sent to FIF is equal to half that of the arriving data. Which renders constraints on the performance of block FIF less 10 stringent in terms of operating speed.
Connection 30 reaches also a block MS1, consisting of a finite state automaton, which extracts synchronism information present in the digital data flow and renders them available on connection 2b. Besides it generates on connection 32 a signal indicating that the data present on connections 31 and 30 are significant to block FIF.
15 Block MS1 is clocked by the signal present on connection 1 b, at the same frequency of the arriving data.
Through wire 33, MS1 receives an enabling signal when a block CRP realizes that the information on video synchronism contains some errors. In fact block CRP
receives through connection 34 the code containing synchronism state and relative 20 parity from a register R2. CRP effects the analysis of data and of their parity and is capable of correcting an error and signalling the presence of two errors. In the first case it sends the correct synchronism information to MS1, while in the second case blocks MS1 at the preceding state. Register R2 receives its timing signal from MS1, so as to be able to extract at the suitable instant the synchronism word from the input 25 data flow.
Block FIF, basically consisting of a FIFO memory, allows the input data frequency to be matched with the output data frequency. It is controlled by a finite-stateautomaton MS2 through connection 36, on which selection signals and writing pulses are transiting. To generate these signals, MS2 needs information on the validity of data 30supplied by MS1 on connection 32 and of the clock signal present on connection 1b.
Besides block FIF communicates to MS2 on wire 37 the possible fullness of FIF0 memory, by blocking further writing operations. Finally, FIF receives selection signals and pulses of data reading in memory FIFO through connection 3, by supplying them onto a 16-bit connection 2a.
35 Fig.3 represents a block diagram of the block denoted by VID in Fig.1.Throughconnection 7a the 16-bit video data under the Y,Cb,Cr format, coming from an external video memory, enter the block and are inserted into a buffer memory of the 20926~3 1 FIFO type, denoted by FOF. The timing relevant to the writing of these data, enabling, clock, selection, arrives on the contrary through 3-wire connection 7b.
Block FOF reorganises data so as to present them at the 24-bit output 50. Timingsignals controlling output data flow are generated by block SYN, which supplies them 5 on connection 51.
Block FOF signals to the outside of the circuit the emptiness state of FIFO
memory by a signal sent onto connection 1 3b, so as to inform the external microprocessor of the necessity of sending new data.
Block OVE controls the data routing inside the whole block VID on the basis of its 10 programming, set by the external microprocessor, and also of the data coming from the external overlay memory on connection 9a. On connection 9b it generates the addresses and control signals for the external memory and on wire 13a a signal for controlling an external video multiplexer, as previously already disclosed. It is given necessary timing by block SYN on connection 52.
5 Block OVE contains at its inside registers controlling the operation of the external overlay memory and of the memories containing the look-up tables. Registers and memories are programmable by an external microprocessor through connection 11.
On 24-bit connection 53 there is the output of the colour memory with three Y,Cb,Cr components per each pixel. Colour memory contains 16 possible colours, the one 20 specified by the contents of the external overlay memory for to that pixel being used.
One of these colours is used as a code to signal the non-superposition of the overlay image. Block OVE decodes this particular code and as a consequence controls through wire 54 a multiplexer MX3, so that either Y,Cb,Cr code present on connection 53, or Y,Cb,Cr code arriving from block FOF, relevant to the main image, is transferred to 25 the output 21.
Analogously, 24-wire connections 55 and 56 carry respectively the code under RGB format relevant to the overlay image element and the control signal for a multiplexer MX4, which transfers to its output 8 either the code or the one, still under RGB format, coming from block MAD onto 24-wire connection 57.
30 Through connection 12 the external microprocessor reads block OVE state, i.e. the contents of the registers previously written and some test bits.
Block SYN, starting from timing signals coming on connection 10, generates timings for blocks FOF and OVE, phase shifted so as to ensure data coherence on connections 50 and 53 or on connections 57 and 55. In fact, in the case the mixing is 3scarried out by MX4, the delay introduced by block MAD is to be taken into account for the phase shift. Finally, horizontal and vertical synchronism and field parity signals of the image outgoing on wire 8 are present on connection 13c. The choice of the type of 2092~63 1 phase shift to be applied to its outputs 51 and 52 is carried out on the basis of the information received on wire 11.
Block MAD converts data under Y,Cb,Cr format, present on connection 21, into data under RGB format, and renders them available on connection 57. MAD consists of 5 an arithmetic unit capable of carrying out the additions and multiplications necessary to the conversion.
Some intermediate results, which are rendered available on connection 58 for test purposes, can be led to output 8 through multiplexer MX4.The latter besidesmixing signals on connections 55 and 57 in normal operation,can transfer to the 10 output on connection 8 the signals on connections 58 or 21 during the operation in test mode.
Fig.4 shows the block diagram of the block denoted by OUT in Fig.1. Y,Cb,Cr components of the pixel to be converted into CCIR 656 format are present at the input on connections 21a, 21b and 21c respectively. The three sets of 8-bit signals are 15 stored in registers RX1,RX2, and RX3, which receive timing blocks from block TIM
(Fig. 1) through wire 14a. CCIR 656 flow is obtained by duly combining Y,Cb,Cr values present at outputs 60, 61, and 62 of registers RX1, RX2 and RX3 through amultiplexer MX5. The codes relevant to synchronism and parity information, present inside CCIR 656 flow, are generated by a block COD, by which they are supplied onto 20 8-bit connection 63 on the basis of the synchronism signal state present on connection 1 4b .
Multiplexer MX5 is controlled by connection 64 by a finite state automaton MS3, which generates also on connection 67 control signals for generation of the synchronism words of CCIR 656 flow. The synchronism sequence consists of a word 25 formed by all ones, followed by two words formed by all zeros. To obtain that, MS3 sends suitable set and reset signals to a register RX5, on the basis of synchronism signals generated with a suitable phase shift by block TIM (Fig.1) on connection 14c.
Clock signal at pixel frequency for automaton MS3 and registers RX4 and RX4 is present on connection 14d. This chain of registers transfers the data present at MX5 30 output on connection 65 to output connection 4, duly synchronised thanks to the delay operated by RX4 and RX5, which introduces also the synchronism words.
Fig.5 shows the waveforms generated by block TIM (Fig.1) relevant to the horizontal timing.
The waveform denoted by 10a, which reference is equal to that of the wire 3swhereupon it is present, is characterised by two time durations L and C. Value L
represents the period of the waveform expressed in number of clock pulses and corresponds to the time duration of a line on the screen, whilst C, always expressed in number of clock pulses, represents the duration of the line blanking pulse. Waveform 209266~
1 10a still contains a pulse with the leading edge exactly positioned at the middle between the trailing edges of the two adjacent pulses.
This waveform is used as a clock signal by the vertical timing circuit.
The waveform denoted by 10b, as the wire on which it is present, has a period 5 still equal to L and is characterised by two time durations D and W, which represent the delay of the trailing and leading edges with respect to the beginning of the period.
These waveforms are used as horizontal synchronism signals.
Fig.6 shows the portion of the block TIM, denoted by TlMa, which generates the just described waveforms. Values L,C,D,W are contained in registers RLX,RCX,RDX and 10 RWX, respectively; these registers, at the presence of a suitable signal on wire 16f, are loaded with initial values correspondent to standard TV format.
Each individual register can be reached by the external microprocessor,which can change the initial values by modifying as a consequence the image format. The microprocessor presents data on connection 16e and, through enabling signals on 15 wires 16a,16b,16c,16d, writes them in the four registers RCX,RLX,RDX,RWX. In case their contents are to be read, the microprocessor reaches the registers through connections 17a,17b,17e and 17f.
An important function is carried out by 11-bit counter CN1, which counts at the pixel frequency the pulses present on wire 15b. The outputs of the counter on 20 connection 70 are sent to a comparator CM1, which emits at its output 72 a signal indicating when counter CN1 output and the value present on connection 71 are equal.
This value is supplied by one of the three high impedance driving circuits (Buffer tri-state) TR1, TR2, TR3, enabled in turn by finite-state automaton MS4 through connections 73,74,75.
25 Finite-state automaton MS4 is the circuit generating at its output the waveform 10a (Fig.5). At the beginning MS4 enables through wire 73 buffer TR1,which as a consequence presents on connection 71, at the input of comparator CM1, the contents of register RCX, i.e. the value C of the waveform 10a (Fig.5). When the counting value of CN1 reaches C, MS4 receives on wire 72 the pulse signalling the equality found out 30 by CM1 and resets the signal on wire 10a, initially set to 1. Thus a pulse of duration equal to C clock pulses is obtained.
At this instant, MS4 inhibits through wire 73 buffer TR1 and enables through wire 74 buffer TR2. The latter presents on connection 71 the value contained in RLX
multiplied by 4. When counter CN1 reaches this value, MS4 sets to 1 the signal on 3swire 10a and keeps it at one for two clock pulses.
Meanwhile, TR2 is inhibited and TR3 is enabled through wire 75. Buffer TR3 presents and TR2 enabled through wire 75. Buffer TR3 presents in turn on wire 71the value contained in RLX multiplied by 8. When CN1 reaches this value, which ~` 2092663 1 represents the duration of a horizontal line in number of clock pulses, MS4 sets to one the signal on wire 10a, enables through wire 76 counter CN1 to load the initial value supplied by multiplexer MX6 on connection 77, inhibits TR3 and re-enables TR1, to start a new cycle.
5 During the testing phase, it is possible to observe the operation of finite^state automaton MS4 through connection 17c, made available to the outside.
The waveform on wire 10b is generated by a finite-state automaton MS5. It receives on wire 78 the pulses signalling the equality found out by a comparator CM2 between the value supplied by counter CN1 on connection 79 and the value supplied on 10connection 80 by a multiplexer MX7. The latter, controlled by a finite-state automaton MS6 through wire 81, presents alternately on connection 80 the values present onconnections 17e and 17f, consisting of values contained in registers RDX and RWXrespectively.
At first on connection 80 there is the value contained in RDX; when counter CN1 15 reaches such a value, MS5 resets the signal on wire 1 Ob. At the same time MS5 signals to MS6 through wire 82 its state change, that's why MS6 switches through wire 81multiplexer MX7, which transfers onto connection 80 the contents of register RWX.
When the counter CN1 reaches this new value, MS5 sets to 1 the signal on wire 10b, to start then a new cycle starting from the following line.
20 The synchronization of the whole circuit TlMa with an external horizontal synchronism signal is carried out by finite-state automaton MS6. This automaton checks the phase relation existing between the external synchronism signal, present on wire 15a, with the synchronism signal generated by MS5 on wire 82. If the phase shift differs by a certain predetermined value, e.g. + 3 clock pulses, automaton MS6 25Operates resynchronization of the whole circuit by acting on MS4,MS5,CN1 by means of wires 83,84,85. In MS4 and MS5 it resets the outputs and in CN1 loads the value present on connection 77. In case of resynchronization, MS6 controls through wire 86 multiplexer MX6 so that it presents on connection 77 the signal at the output 87 of an adder AD1. The latter sums up to value D, present on connection 88, a constant value 30 N,present under wired form on connection 89. In this way, counter CN1 is loaded with value D+N, where N represents the intervention delay of automaton MS6.
Once the synchronism is attained, MS6 switches MX6 so as to cause the transfer on connection 77 of a constant value M, present under wired form on connection 90.
This value represents the delay introduced by MS4 when loads CN1 through wire 76.
35 During the testing phase, it is possible to observe the operation of finite-state automaton MS6 through connection 17d, made available to the outside.
Fig.7 shows the waveforms generated by block TIM (Fig.1) relevant to the vertical timing.
The waveform denoted by 10c, which reference is equal to that of the wire whereupon it is present, is characterised by four time durations BP, FP,BD and FD, expressed in number of half-lines of TV frame. Value FD represents the waveform period and corresponds to time duration of a complete frame on the screen, while FP
5 represents the duration of the even field. Value BD indicates the instants at which ends the retrace of the odd field and value BP represents the duration of retrace of the even field.
The waveform denoted by 10d, which reference is equal to that of the wire whereupon it is present, has a period always equal to FD and is characterised by three 10 time durations DV,WV and SW,which represent respectively the delay of trailing edge, the delay of leading edge with respect to the beginning of the period and the interval between two subsequent trailing edges. This waveform is used as a vertical synchronism signal.
The waveform denoted by 10e represents parity signal which identifies even and 15 odd fields.
Fig.8 shows the portion of the block TIM, denoted by TlMb, which generates the just described waveforms. Values BP,FP,BD and FD are contained in the block of registers RVX; these registers, at the presence of a suitable signal on wire 16f, are loaded with initial values correspondent to the standard TV format.
20 Each individual register can be reached by the external microprocessor,which can change the initial values by modifying as a consequence the image format.
Another group of registers RVY contains values DV,WV and SW. They also take up initial values under the control of the signal on wire 16f and can be written by the external microprocessor.
25 The microprocessor presents data on connection 16e and, through enabling signals on connection 169 for RVX and 16h for RVY, writes them in the block of registers selected. In case their contents are to be read, the microprocessor reaches the registers through connections 179 and 17m.
An important function is carried out by 11-bit counter CN2, which counts at 30 halfline frequency, i.e. at a frequency twice as high as the line frequency, the pulses present on wire 10a. The outputs of the counter on connection 90 are sent to a comparator CM3, which emits at its output 92 a signal indicating when equality between the output of counter CN2 and the value present on connection 91 is reached.
This value is supplied by a multiplexer MX9, addressed by finite state automaton MS7 3sthrough connection 93.
Finite-state automaton MS7 is the circuit generating at its outputs waveforms 1 Oc and 1 Oe (Fig.7). At the beginning MS7 enables through connection 93 multiplexer MX9, which as a consequence presents on connection 91, at the input of ` 2092663 1 comparator CM3, the contents of register RVX, made available on connection 94, i.e.
the value BP of the waveform 10c (Fig.7). When the counting value of CN2 reachesBP, MS7 receives on wire 92 the pulse signalling the equality found out by CM3 and resets the signal on wire 10c, initially set to 1. Thus, a pulse of duration equal to BP
5 half-lines is obtained.
At this instant, MS7 switches through wire 93 multiplexer MX9, so as to present on connection 91 the value FP contained in RVX and present on connection 95. When counter CN2 reaches this value, MS7 sets to 1 the signal on wire 10e, switches MX9 so that on connection 91 may appear signal BD, present on connection 96, and waits 10 for the signalling of comparator CM3, indicating that this new value has been reached by CN2. Hence MS7 resets to zero the signal on wire 10c and switches MX9 so as it may present on connection 91 signal FD present on connection 97.
When CN2 reaches this value, which represents the duration of a frame in number of half-lines, MS7 sets again to one the signal on wire 10c. Besides it enables 15 through wire 98 counter CN2 to load the initial value supplied by multiplexer MX8 on connection 99 and switches again MX9 to start a new cycle.During the testing phase, it is possible to observe the operation of finite-state automaton MS7 through connection 17h, made available to the outside.
The waveform on wire 10d is generated by a finite-state automaton MS8. It 20 receives on wire 100 the pulses signalling the equality found out by a comparator CM4 between the value supplied by counter CN2 on connection 101 and the value supplied on connection 102 by a multiplexer M10. The latter, controlled by a finite-state automaton MS8 through connection 103, presents alternately on connection 102 values DV and WV present on connections 104 and 105, or the same values summed up 25 to value SW present on connection 106.
At first on connection 102 there is value DV; when counter CN2 reaches such a value, MS8 resets the signal on wire 10d. At the same time MS8 signals to MS9 through wire 107 its state change and switches M10 so that it transfers on connection 102 value WV. When counter CN2 reaches this new value, MS8 sets again to 1 the 30signal on wire 10d and switches M10 so that it may present on connection 102 the sum of the values present on connections 104 and 106. Thus the pulse generation cycle of the signal on wire 10d is repeated, by using this time values DV plus SW and WV
plus SW. At the end of the pulse value DV is presented again to comparator CM4 and the circuit is prepared for the subsequent frame.
35 Finite-state automaton MS8 can be controlled during testing phase by the external microprocessor through connection 17i.
The synchronization of the whole circuit TlMb with an external vertical synchronism signal is carried out by finite-state automaton MS9. This automaton 1 checks the phase relation existing between the external synchronism signal, present on wire 15c, with the synchronism signal generated by MS8 on wire 107 MS9 countsthe number of subsequent times wherein phase coincidence between the above-mentioned synchronism signals is lacking; when this number exceeds a certain 5 predetermined value, automaton MS9 carries out resynchronization of the whole circuit acting on MS7 and MS8 through wires 108 and 109. In MS7 and MS8 it resets the outputs, which operation causes loading of the value present on connection 99 in CN2. In case of resynchronization, MSg controls through wire 110 multiplexer MX8so that it may present on connection 99 the signal on connection 111, which 10 represents value DV plus a constant value P, present under wired form in M10. In this way, counter CN2 is loaded with the value DV+P, wherein P represents intervention delay of automaton MS9.
Once the synchronism has been attained, MS9 switches MX8 so as to cause the transfer on connection 99 of a constant value R, present under wired form on 15 connection 112. This value represents the delay introduced by MS7 when CN1 loads through wire 98.
During the testing phase, it is possible to observe the operation of finite-state automaton MSg through connection 17n, made available to the outside.
The operation of the just-described block TlMb refers to interlaced mode. The 20 circuit can also operate in non-interlaced mode; the operation is analogous, but values FP,BD, and SW are no longer used.
Circuit MAD, presented while describing fig.3, is represented in the block diagram of Fig.9.
It operates the conversion from Y,Cb,Cr format into RGB format. As known, the 25 three R,G,B components can be expressed in comparison with Y,Cb,Cr components by the following formulae:
R = 1.36875 Cr + Y - 175 G = Y - 0.6972 Cr - 0.33755 Cb + 132 B = 1.7381 Cb + Y - 222 The Y,Cb,Cr components are presented at MAD input on connections 21c,21a,21b respectively and are stored in registers ZX3,ZX1,ZX2. From register ZX1 Cb component is sent to two read-only memories RO2 and RO4 through connections 151 and 150. Memory RO2 carries out multiplying operation of 256 values of Cb by 1,7381 and the subtraction of 222 from the results, using the previously computed 35 and permanently stored values. The result of the operations carried out by RO2 is led through connection 152 to a register ZX7,wherein it is stored and rendered available on connection 153 for an adder AD3. The other input of the adder receives through connection 154 the value Y,suitably delayed by the bank of registers ZX3,ZX4,ZX9 to take into account propagation delays through read-only-memory RO2. At the output of AD3, on connection 58a, is then available the true value of B component. B is further delayed by the chain of registers Z11 and Z15, to take into account the propagation delays through an adder AD5, and is made available at the output on connection 156.
5 Analogously for the generation of R component, from register ZX2 the Cr component is sent to two read-only memories RO3 and RO1 through connections 157 and 158. Memory RO1 carries out the multiplication of 256 values of Cr by 1,36875 and subtraction of 175 from the results, using previously computed and permanently stored values. The result of the operations carried out by RO1 is led through 0connection 159 to a register ZX8,whereby it is stored and rendered available onconnection 160 for an adder AD4. The other input of the adder receives through connection 154 the value Y,suitably delayed by the chain of registers ZX3,ZX4,ZX9 to take into account propagation delays through read-only memory RO1. At the output of AD4, on connection 58b, the true value of R component is then available. R is further 5delayed by the chain of registers Z12 and Z16, to take into account the propagation delays through an adder AD5, and is made available at the output on connection 162.
As to generation of G component, Cb and Cr components are read out from registers ZX1 and ZX2 through connections 150 and 157 and read-only memories RO3and RO4 are addressed. The operations of multiplication of Cr by -0.6972 and addition 20 of 66 to the result take place in RO3, whilst the operations of multiplication of Cb by -0.33755 and addition of 66 to the result take place in RO4. Subdivision of additive coefficient into two parts allows simplification of read-only memories RO3 and RO4.
The results of the operations carried out by RO3 and RO4 are led through connections 164 and 163 to registers ZX6 and ZX5, where they are stored and made25 available on connections 165 and 166 for an adder/subtractor AD2, wherein they are summed up to each other. The result of the addition, available on connection 167, is stored in register Z10 and through connection 168 is led to adder AD5. The otherinput of the adder receives through connection 169 the value Y, previously delayed in the chain of registers ZX3,ZX4, ZX9 and Z13, to take into account propagation delays 30 through read-only memories RO3, RO4 and adder AD2.
At the output of AD5, on connection 170, the true value of G component is then available. G is stored in register Z14 and rendered available at the output on connection 171.
To facilitate the testing phase of memories RO1 and RO2, connections 58a and 58b35 are rendered available to the outside.
Fig. 10 shows the block diagram of the block denoted by OVE in Fig.3. The main task of this circuit is the generation of control signals of external overlay memory.
Besides it receives the overlay memory data and interprets them suitable. The counter 1 denoted by CN3 generates the addresses for the overlay memory. This counter receives clock pulses at half-line frequency on connection 52 coming from block SYN (Fig.3).
The counter can be loaded through connection 200 with the contents of register R23, containing starting-line value used while scanning the overlay memory. The external 5 microprocessor can write in this register through connection 11 and read its contents through connection 12b. Register R22 contains instead the starting column used for scanning the overlay memory. Also in this register the external microprocessor can write through connection 11 and read the contents through connection 1 2a.
The value of starting column is led through connection 201 to a multiplexer 10 M21, whilst the other input receives on connection 202 the output of counter CN3. At the output of the multiplexer on connection 9b there are then present alternately the line or column address of the overlay memory, in function of the control signals on connection 9c. A register R20 stores the 8-bit value coming from the overlay memory on connection 9a. The subsequent multiplexer M20 alternately transfers to connection 15 203 the upper or lower part of this value, present on connections 204 and 205. The values of the new 4-bit format are sent to a conversion table LUT, which supplies at the output on connection 204 a 24-bit value per each of the 16 input values. 24-bit values, relevant to pixels, are programmable by the external microprocessor through connection 11.
The values on connection 204 are stored in register R21 and rendered available on connections 53 and 55 directed to multiplexers MX4 and MX3 (Fig.3). Connection 203 is also led to a block LOG, which generates control signals of the above-mentioned multiplexers on connections 54 and 56. It generates also on wire 13a the controlsignal for the external multiplexer already mentioned.
25 It is clear that what described is given by way of a non limiting example.
Variations and modifications are possible without going out of the scope of the claims.
25 It is well known that in the development of the ISDN network, besides the usual telephone speech and data transmission services, the idea is of offering, in a capillary way to the home subscribers, additional telematic services, among which reception and transmission of documents by Group 4 facsimile equipment and reception and transmission of photo images at CCIR standard resolution.
30 The Group 4 facsimile is a real time transmission method of texts and images,sent onto the ISDN network with a particular coding and a 64 kbiVs rate, in which the whole process, from the composition moment (acquisition through a scanner, acquisition from the memory of a processor, etc.) up to the reception and printing, is of digital type. Noise immunity is very high and resolution is of 400 pixels per inch, 35 higher that that of the analog facsimile presently used.
There is also the possibility of transmitting photo images, locally obtained with a TV camera, residing in the memory of a processor or received from a distant databank. Their resolution is that as from studio, foreseen in CCIR 656 recommendation, ~ - ~092G63 1 so they are to be displayed with suitable means in order to obtain good quality images with the same transmission resolution. This type of transmission can be used in the most different fields, e.g. it can meet the requirements of estate agents, tour operators, and the like, who could consult centralised data bases regrouping the offers 5 available on the market at that moment. It could resolve the problem of the creation of a general archive of the works of art, facililaling the transmission of the images of paintings, monuments and others to the culture ministry and hence their vision by the public.
To be able to access in a capillary way all these services, offered within an ISDN
10 network, the subscribers must be equipped with suitable terminals capable of allowing the transmission, the reception, the display and possibly the printing of the exchanged documents. The costs of such terminals can be reduced by the use of the computerwhich is already widespread in private houses. With the addition of a suitable circuit and a suitable programme, it can become the first and more versatile terminal of the 15 ISDN network.
The circuit, which can be housed on one or more printed circuit boards, will permit the computer to carry out complex processing operations of the video signal in real time. It must comprise a video signal memory to be used for image acquisition from a TV camera or for display of images residing in the personal computer itself.
20 Besides it must be equipped with interface circuits towards the digital ISDN network. A
suitable circuit allowing the computer monitor, operating with its particular TVstandard, to display the images with the characteristics specified in CCIR 656 recommendation, is also to be provided. Thus resorting to a specific monitor only for displaying the images with the specified characteristics is avoided.
25 The control programme can be permanently stored under firmware format.To date it does not exist on the market a video control circuit capable of carrying out all the operations carried out by the circuit provided by the invention. It exists on the contrary a series of devices for carrying out some partial functions. They are generally dedicated to the processing of images and particularly to the graphics, and 30 are used in the video control units installed in personal computers and workstations dedic~ted to CAD processes.
E.g. there are programmable integrated circuits, named "Colour video controller", such as those identified by IMS G300B and described on page 87 and ff. of the catalogue 1990 of INMOS, which implement the real-time control functions of a 35 graphic system and of its display means, e.g. a cathode ray tube (CRT), a laser printer or a colour plotter. They can be interfaced with the bus of each standard processor, wherefrom they receive the programmes necessary to specify timings and data display characteristics on the screen of the CRT or on a printed sheet. They can also be 1 interfaced with the source of data to be represented, using in both cases dual-port memories which allow speed up the procedures to the maximum. Said controllers contain a video timing generator, completely programmable by the external microprocessor, which generates video synchronism, addresses, data timing and all 5 the display characteristics required, such as: image dimension, vertical and horizontal scanning frequency, presence of interlacing, etc. They contain in addition threetotally-programmable memories, the so called "colour look-up tables", allowing the representation of output data with a certain number of colours chosen out of a larger set.The three RGB flows outgoing from the table are converted into analog form to be 10 directly sent to the video screen.
Moreover, there is another type of integrated circuits, such as those identified by IMS G178, described on page 63 and ff. of the above catalogue 1990 of INMOS, which implement the already-described "Colour look-up table" function, i.e. the storing of the colour values to be associated to different screen points. They comprise three bi-- 15 port memories, generally of small capacity, each relative to one of the primary colours processed (RGB = red, green, blue). Each memory is loaded and the contents is updated by the microprocessor controlling the system. The reading of the memories is carried out by using instantaneous values of RGB data flow to be displayed as addresses, each of them corresponding to a suitable value which is presented at the output gate.
20 The three values obtained thus, converted into analog form, form the tern determining the colour of a pixel of the screen.
As mentioned, said integrated circuits are particularly oriented towards graphicapplications in personal computer and workstations, by implementing the typical specifications of graphic cards, such as VGA, EGA, etc. Besides they are apt to process 25 the signals under the format of the fundamental RGB colours, while CCIR standards require the photographic images be processed under the format of luminance and chrominance components.
The limitations above are eliminated by the video control circuit for multimediaapplications provided by the present invention, which is capable of processing both 30 photographic and graphic video images, by satisfying both the relevant CCIR standards, and the specifications proper to personal computers, VGA, EGA, etc, so as to allow the representation of the two types of images on an only type of display. To this aim, it is c~p~hle of generating both the timings proper to the CCIR standards for a resolution of 720 columns per 576 lines, and the timings proper to VGA specification, for a 35 resolution of 640 columns per 480 lines, with an upper representation limit of - graphic planes of 1024 columns per 1024 lines.
It is the main object of the present invention a video control circuit for multimedia applications, such as described in the characterising portion of claim 1.
The foregoing and other characteristics of the present invention will be made clearer by the following description of a preferred embodiment thereof, given by way of non limiting example, and by the annexed drawing, wherein:
- Fig.1 is the general block diagram of the control circuit;
5 - Fig.2 is the block diagram of the biock denoted by INP in Fig.1;
- Fig.3 is the block diagram of the block denoted by VID in Fig.1;
- Fig.4 is the block diagram of the block denoted by OUT in Fig.1;
- Fig 5 is a time diagram relevant to horizontal timing generated by block TIM of Fig .1;
10 - Fig.6 is the block diagram of part TlMa of the block denoted by TIM in Fig.1;
- Fig.7 is a time diagram relevant to vertical timing generated by block TIM of Fig.1;
- Fig.8 is the block diagram of the portion TlMb of the block denoted by TIM in Fig.1;
- Fig.9 is the block diagram of the block denoted by MAD in Fig.3;
- Fig. 10 is the block diagram of the block denoted by OVE in Fig.3.
15 The video control circuit accepts at the input a digital video signai according to CCIR 656 recommendation and renders it available at the output still in digital form with 16 bit parallelism and with separated synchronism signals.
Besides it accepts at the input a digital video signal in luminance-chrominance format (Y,Cb,Cr), mixes it with another 8 bit video signal and converts it into a 20 standard RGB signal for colour monitor.
The same RGB output is converted into a digital video signal according to CCIR
656 recommendation.
Programming the image format from the outside is possible: number of lines per each field, number of pixels per each line, operation in interlaced or non-interlaced 25 mode.
The whole timing can be synchronised by signals supplied from the outside and all the functions can be programmed from the outside by a microprocessor.
The general block diagram of the control circuit is shown in Fig. 1.
8-bit digital video signals reach through connection 1 a block INP, which is the30 video-flow decoder. It extracts synchronism and active data in each line, temporarily storing them in a buffer memory to obtain output flux synchronization, supplied on connection 2. In addition to line and field synchronism and field parity code, on connection 2 there are output 16-bit video data in Y,Cb,Cr format. On connection 3 block INP receives control signals of the emission of video data.Connection 1 reaches 35 also block MX2, a multiplexer allowing sending to output 5 the digital video flux present on connection 1 or the one present on connection 4, under the control of the signal on wire 6. In such a way it is sent to the output either the same input flux or the one generated inside the control circuit by block OUT.
`~
16-bit video data in Y,Cb,Cr format arrive from the outside through connection 7, together with signal for controlling data input, i.e. enabling, clock, selection signals. They are led to block VID, which synchronises them using timings established from the outside and converts them into RGB format, making them available on 5 connection 8 with a 24-bit parallelism, plus the clock signal. The same data are made available in Y,Cb,Cr format, still with 24 bit parallelism, on connection 21.
Through connection 9 block VID carries out also the control of an external videomemory, containing a secondary image superimposable to the current image named "overlay memoryH. More particularly VID generates on connection 9 the addresses, and 10 at varying instants, receives video data and synchronism signals.
All the timing signals, needed by block VID, are sent to block TIM through connection 10. Among them there are the signals specifying pixel position, whose value is sent onto connection 8, consisting of horizontal and vertical synchronism and of pixel clock.
15 Block VID interfaces the control microprocessor through block INT and connections 11 and 12. Through connection 11 it receives from the microprocessorthe commands for programming its registers and through connection 12 it allows the microprocessor to read its operating condition.
Finally, through connection 13, block VID renders available to the outside 20 vertical, horizontal and parity signals, as well as state signals, e.g. filling state of the buffer memory, and a control signal for an external video multiplexer, allowing the image present on connection 8 to be combined with an external video image.
Block TIM generates the timing signals for the whole circuit, sending them both on the already examined connection 10, and on connection 14 towards block OUT. Block 25 TIM receives from the outside the pixel clock and external horizontal and vertical synchronism signals through connection 15. Two connections 16 and 17 allow the external microprocessor to program and check the block operation respectively.
Block INT allows address signal decoding coming from the external microprocessor on connection 18, granting it the access to one of the internal 30 registers. The datum to be written at the specified address is to be rendered available by the microprocessor on connection 19, at the input to block INT, which forwards it on connections 11 and 16. Connection 20 presents the address of the register themicroprocessor wants to read to block MX1, a multiplexer which transfers to the output on connection 19 one of the data present on connections 12 or 17.
35 Finally, block OUT converts 24-bit data under Y,Cb,Cr format, present on connection 21, into data under CCIR 656 format, it renders available on connection 4.
Timings for the correct operation of OUT are supplied by block TIM through connection 1 4 .
Fig. 2 shows the block diagram denoted by INP on Fig.1, which operates video flow decoding.
Digital video data and relevant timings, present on connections 1a and 1b respectively, are first stored in a register R1 and then transferred into a register R3, 5 both of them with 8-bit parallelism. As a result of the storing and of transferring, on connection 31 there is the first input datum and on connection 30 the second datum, which can now be taken as an only 16-bit datum and sent to block FIF. Thanks to parallelism doubling, the frequency of data sent to FIF is equal to half that of the arriving data. Which renders constraints on the performance of block FIF less 10 stringent in terms of operating speed.
Connection 30 reaches also a block MS1, consisting of a finite state automaton, which extracts synchronism information present in the digital data flow and renders them available on connection 2b. Besides it generates on connection 32 a signal indicating that the data present on connections 31 and 30 are significant to block FIF.
15 Block MS1 is clocked by the signal present on connection 1 b, at the same frequency of the arriving data.
Through wire 33, MS1 receives an enabling signal when a block CRP realizes that the information on video synchronism contains some errors. In fact block CRP
receives through connection 34 the code containing synchronism state and relative 20 parity from a register R2. CRP effects the analysis of data and of their parity and is capable of correcting an error and signalling the presence of two errors. In the first case it sends the correct synchronism information to MS1, while in the second case blocks MS1 at the preceding state. Register R2 receives its timing signal from MS1, so as to be able to extract at the suitable instant the synchronism word from the input 25 data flow.
Block FIF, basically consisting of a FIFO memory, allows the input data frequency to be matched with the output data frequency. It is controlled by a finite-stateautomaton MS2 through connection 36, on which selection signals and writing pulses are transiting. To generate these signals, MS2 needs information on the validity of data 30supplied by MS1 on connection 32 and of the clock signal present on connection 1b.
Besides block FIF communicates to MS2 on wire 37 the possible fullness of FIF0 memory, by blocking further writing operations. Finally, FIF receives selection signals and pulses of data reading in memory FIFO through connection 3, by supplying them onto a 16-bit connection 2a.
35 Fig.3 represents a block diagram of the block denoted by VID in Fig.1.Throughconnection 7a the 16-bit video data under the Y,Cb,Cr format, coming from an external video memory, enter the block and are inserted into a buffer memory of the 20926~3 1 FIFO type, denoted by FOF. The timing relevant to the writing of these data, enabling, clock, selection, arrives on the contrary through 3-wire connection 7b.
Block FOF reorganises data so as to present them at the 24-bit output 50. Timingsignals controlling output data flow are generated by block SYN, which supplies them 5 on connection 51.
Block FOF signals to the outside of the circuit the emptiness state of FIFO
memory by a signal sent onto connection 1 3b, so as to inform the external microprocessor of the necessity of sending new data.
Block OVE controls the data routing inside the whole block VID on the basis of its 10 programming, set by the external microprocessor, and also of the data coming from the external overlay memory on connection 9a. On connection 9b it generates the addresses and control signals for the external memory and on wire 13a a signal for controlling an external video multiplexer, as previously already disclosed. It is given necessary timing by block SYN on connection 52.
5 Block OVE contains at its inside registers controlling the operation of the external overlay memory and of the memories containing the look-up tables. Registers and memories are programmable by an external microprocessor through connection 11.
On 24-bit connection 53 there is the output of the colour memory with three Y,Cb,Cr components per each pixel. Colour memory contains 16 possible colours, the one 20 specified by the contents of the external overlay memory for to that pixel being used.
One of these colours is used as a code to signal the non-superposition of the overlay image. Block OVE decodes this particular code and as a consequence controls through wire 54 a multiplexer MX3, so that either Y,Cb,Cr code present on connection 53, or Y,Cb,Cr code arriving from block FOF, relevant to the main image, is transferred to 25 the output 21.
Analogously, 24-wire connections 55 and 56 carry respectively the code under RGB format relevant to the overlay image element and the control signal for a multiplexer MX4, which transfers to its output 8 either the code or the one, still under RGB format, coming from block MAD onto 24-wire connection 57.
30 Through connection 12 the external microprocessor reads block OVE state, i.e. the contents of the registers previously written and some test bits.
Block SYN, starting from timing signals coming on connection 10, generates timings for blocks FOF and OVE, phase shifted so as to ensure data coherence on connections 50 and 53 or on connections 57 and 55. In fact, in the case the mixing is 3scarried out by MX4, the delay introduced by block MAD is to be taken into account for the phase shift. Finally, horizontal and vertical synchronism and field parity signals of the image outgoing on wire 8 are present on connection 13c. The choice of the type of 2092~63 1 phase shift to be applied to its outputs 51 and 52 is carried out on the basis of the information received on wire 11.
Block MAD converts data under Y,Cb,Cr format, present on connection 21, into data under RGB format, and renders them available on connection 57. MAD consists of 5 an arithmetic unit capable of carrying out the additions and multiplications necessary to the conversion.
Some intermediate results, which are rendered available on connection 58 for test purposes, can be led to output 8 through multiplexer MX4.The latter besidesmixing signals on connections 55 and 57 in normal operation,can transfer to the 10 output on connection 8 the signals on connections 58 or 21 during the operation in test mode.
Fig.4 shows the block diagram of the block denoted by OUT in Fig.1. Y,Cb,Cr components of the pixel to be converted into CCIR 656 format are present at the input on connections 21a, 21b and 21c respectively. The three sets of 8-bit signals are 15 stored in registers RX1,RX2, and RX3, which receive timing blocks from block TIM
(Fig. 1) through wire 14a. CCIR 656 flow is obtained by duly combining Y,Cb,Cr values present at outputs 60, 61, and 62 of registers RX1, RX2 and RX3 through amultiplexer MX5. The codes relevant to synchronism and parity information, present inside CCIR 656 flow, are generated by a block COD, by which they are supplied onto 20 8-bit connection 63 on the basis of the synchronism signal state present on connection 1 4b .
Multiplexer MX5 is controlled by connection 64 by a finite state automaton MS3, which generates also on connection 67 control signals for generation of the synchronism words of CCIR 656 flow. The synchronism sequence consists of a word 25 formed by all ones, followed by two words formed by all zeros. To obtain that, MS3 sends suitable set and reset signals to a register RX5, on the basis of synchronism signals generated with a suitable phase shift by block TIM (Fig.1) on connection 14c.
Clock signal at pixel frequency for automaton MS3 and registers RX4 and RX4 is present on connection 14d. This chain of registers transfers the data present at MX5 30 output on connection 65 to output connection 4, duly synchronised thanks to the delay operated by RX4 and RX5, which introduces also the synchronism words.
Fig.5 shows the waveforms generated by block TIM (Fig.1) relevant to the horizontal timing.
The waveform denoted by 10a, which reference is equal to that of the wire 3swhereupon it is present, is characterised by two time durations L and C. Value L
represents the period of the waveform expressed in number of clock pulses and corresponds to the time duration of a line on the screen, whilst C, always expressed in number of clock pulses, represents the duration of the line blanking pulse. Waveform 209266~
1 10a still contains a pulse with the leading edge exactly positioned at the middle between the trailing edges of the two adjacent pulses.
This waveform is used as a clock signal by the vertical timing circuit.
The waveform denoted by 10b, as the wire on which it is present, has a period 5 still equal to L and is characterised by two time durations D and W, which represent the delay of the trailing and leading edges with respect to the beginning of the period.
These waveforms are used as horizontal synchronism signals.
Fig.6 shows the portion of the block TIM, denoted by TlMa, which generates the just described waveforms. Values L,C,D,W are contained in registers RLX,RCX,RDX and 10 RWX, respectively; these registers, at the presence of a suitable signal on wire 16f, are loaded with initial values correspondent to standard TV format.
Each individual register can be reached by the external microprocessor,which can change the initial values by modifying as a consequence the image format. The microprocessor presents data on connection 16e and, through enabling signals on 15 wires 16a,16b,16c,16d, writes them in the four registers RCX,RLX,RDX,RWX. In case their contents are to be read, the microprocessor reaches the registers through connections 17a,17b,17e and 17f.
An important function is carried out by 11-bit counter CN1, which counts at the pixel frequency the pulses present on wire 15b. The outputs of the counter on 20 connection 70 are sent to a comparator CM1, which emits at its output 72 a signal indicating when counter CN1 output and the value present on connection 71 are equal.
This value is supplied by one of the three high impedance driving circuits (Buffer tri-state) TR1, TR2, TR3, enabled in turn by finite-state automaton MS4 through connections 73,74,75.
25 Finite-state automaton MS4 is the circuit generating at its output the waveform 10a (Fig.5). At the beginning MS4 enables through wire 73 buffer TR1,which as a consequence presents on connection 71, at the input of comparator CM1, the contents of register RCX, i.e. the value C of the waveform 10a (Fig.5). When the counting value of CN1 reaches C, MS4 receives on wire 72 the pulse signalling the equality found out 30 by CM1 and resets the signal on wire 10a, initially set to 1. Thus a pulse of duration equal to C clock pulses is obtained.
At this instant, MS4 inhibits through wire 73 buffer TR1 and enables through wire 74 buffer TR2. The latter presents on connection 71 the value contained in RLX
multiplied by 4. When counter CN1 reaches this value, MS4 sets to 1 the signal on 3swire 10a and keeps it at one for two clock pulses.
Meanwhile, TR2 is inhibited and TR3 is enabled through wire 75. Buffer TR3 presents and TR2 enabled through wire 75. Buffer TR3 presents in turn on wire 71the value contained in RLX multiplied by 8. When CN1 reaches this value, which ~` 2092663 1 represents the duration of a horizontal line in number of clock pulses, MS4 sets to one the signal on wire 10a, enables through wire 76 counter CN1 to load the initial value supplied by multiplexer MX6 on connection 77, inhibits TR3 and re-enables TR1, to start a new cycle.
5 During the testing phase, it is possible to observe the operation of finite^state automaton MS4 through connection 17c, made available to the outside.
The waveform on wire 10b is generated by a finite-state automaton MS5. It receives on wire 78 the pulses signalling the equality found out by a comparator CM2 between the value supplied by counter CN1 on connection 79 and the value supplied on 10connection 80 by a multiplexer MX7. The latter, controlled by a finite-state automaton MS6 through wire 81, presents alternately on connection 80 the values present onconnections 17e and 17f, consisting of values contained in registers RDX and RWXrespectively.
At first on connection 80 there is the value contained in RDX; when counter CN1 15 reaches such a value, MS5 resets the signal on wire 1 Ob. At the same time MS5 signals to MS6 through wire 82 its state change, that's why MS6 switches through wire 81multiplexer MX7, which transfers onto connection 80 the contents of register RWX.
When the counter CN1 reaches this new value, MS5 sets to 1 the signal on wire 10b, to start then a new cycle starting from the following line.
20 The synchronization of the whole circuit TlMa with an external horizontal synchronism signal is carried out by finite-state automaton MS6. This automaton checks the phase relation existing between the external synchronism signal, present on wire 15a, with the synchronism signal generated by MS5 on wire 82. If the phase shift differs by a certain predetermined value, e.g. + 3 clock pulses, automaton MS6 25Operates resynchronization of the whole circuit by acting on MS4,MS5,CN1 by means of wires 83,84,85. In MS4 and MS5 it resets the outputs and in CN1 loads the value present on connection 77. In case of resynchronization, MS6 controls through wire 86 multiplexer MX6 so that it presents on connection 77 the signal at the output 87 of an adder AD1. The latter sums up to value D, present on connection 88, a constant value 30 N,present under wired form on connection 89. In this way, counter CN1 is loaded with value D+N, where N represents the intervention delay of automaton MS6.
Once the synchronism is attained, MS6 switches MX6 so as to cause the transfer on connection 77 of a constant value M, present under wired form on connection 90.
This value represents the delay introduced by MS4 when loads CN1 through wire 76.
35 During the testing phase, it is possible to observe the operation of finite-state automaton MS6 through connection 17d, made available to the outside.
Fig.7 shows the waveforms generated by block TIM (Fig.1) relevant to the vertical timing.
The waveform denoted by 10c, which reference is equal to that of the wire whereupon it is present, is characterised by four time durations BP, FP,BD and FD, expressed in number of half-lines of TV frame. Value FD represents the waveform period and corresponds to time duration of a complete frame on the screen, while FP
5 represents the duration of the even field. Value BD indicates the instants at which ends the retrace of the odd field and value BP represents the duration of retrace of the even field.
The waveform denoted by 10d, which reference is equal to that of the wire whereupon it is present, has a period always equal to FD and is characterised by three 10 time durations DV,WV and SW,which represent respectively the delay of trailing edge, the delay of leading edge with respect to the beginning of the period and the interval between two subsequent trailing edges. This waveform is used as a vertical synchronism signal.
The waveform denoted by 10e represents parity signal which identifies even and 15 odd fields.
Fig.8 shows the portion of the block TIM, denoted by TlMb, which generates the just described waveforms. Values BP,FP,BD and FD are contained in the block of registers RVX; these registers, at the presence of a suitable signal on wire 16f, are loaded with initial values correspondent to the standard TV format.
20 Each individual register can be reached by the external microprocessor,which can change the initial values by modifying as a consequence the image format.
Another group of registers RVY contains values DV,WV and SW. They also take up initial values under the control of the signal on wire 16f and can be written by the external microprocessor.
25 The microprocessor presents data on connection 16e and, through enabling signals on connection 169 for RVX and 16h for RVY, writes them in the block of registers selected. In case their contents are to be read, the microprocessor reaches the registers through connections 179 and 17m.
An important function is carried out by 11-bit counter CN2, which counts at 30 halfline frequency, i.e. at a frequency twice as high as the line frequency, the pulses present on wire 10a. The outputs of the counter on connection 90 are sent to a comparator CM3, which emits at its output 92 a signal indicating when equality between the output of counter CN2 and the value present on connection 91 is reached.
This value is supplied by a multiplexer MX9, addressed by finite state automaton MS7 3sthrough connection 93.
Finite-state automaton MS7 is the circuit generating at its outputs waveforms 1 Oc and 1 Oe (Fig.7). At the beginning MS7 enables through connection 93 multiplexer MX9, which as a consequence presents on connection 91, at the input of ` 2092663 1 comparator CM3, the contents of register RVX, made available on connection 94, i.e.
the value BP of the waveform 10c (Fig.7). When the counting value of CN2 reachesBP, MS7 receives on wire 92 the pulse signalling the equality found out by CM3 and resets the signal on wire 10c, initially set to 1. Thus, a pulse of duration equal to BP
5 half-lines is obtained.
At this instant, MS7 switches through wire 93 multiplexer MX9, so as to present on connection 91 the value FP contained in RVX and present on connection 95. When counter CN2 reaches this value, MS7 sets to 1 the signal on wire 10e, switches MX9 so that on connection 91 may appear signal BD, present on connection 96, and waits 10 for the signalling of comparator CM3, indicating that this new value has been reached by CN2. Hence MS7 resets to zero the signal on wire 10c and switches MX9 so as it may present on connection 91 signal FD present on connection 97.
When CN2 reaches this value, which represents the duration of a frame in number of half-lines, MS7 sets again to one the signal on wire 10c. Besides it enables 15 through wire 98 counter CN2 to load the initial value supplied by multiplexer MX8 on connection 99 and switches again MX9 to start a new cycle.During the testing phase, it is possible to observe the operation of finite-state automaton MS7 through connection 17h, made available to the outside.
The waveform on wire 10d is generated by a finite-state automaton MS8. It 20 receives on wire 100 the pulses signalling the equality found out by a comparator CM4 between the value supplied by counter CN2 on connection 101 and the value supplied on connection 102 by a multiplexer M10. The latter, controlled by a finite-state automaton MS8 through connection 103, presents alternately on connection 102 values DV and WV present on connections 104 and 105, or the same values summed up 25 to value SW present on connection 106.
At first on connection 102 there is value DV; when counter CN2 reaches such a value, MS8 resets the signal on wire 10d. At the same time MS8 signals to MS9 through wire 107 its state change and switches M10 so that it transfers on connection 102 value WV. When counter CN2 reaches this new value, MS8 sets again to 1 the 30signal on wire 10d and switches M10 so that it may present on connection 102 the sum of the values present on connections 104 and 106. Thus the pulse generation cycle of the signal on wire 10d is repeated, by using this time values DV plus SW and WV
plus SW. At the end of the pulse value DV is presented again to comparator CM4 and the circuit is prepared for the subsequent frame.
35 Finite-state automaton MS8 can be controlled during testing phase by the external microprocessor through connection 17i.
The synchronization of the whole circuit TlMb with an external vertical synchronism signal is carried out by finite-state automaton MS9. This automaton 1 checks the phase relation existing between the external synchronism signal, present on wire 15c, with the synchronism signal generated by MS8 on wire 107 MS9 countsthe number of subsequent times wherein phase coincidence between the above-mentioned synchronism signals is lacking; when this number exceeds a certain 5 predetermined value, automaton MS9 carries out resynchronization of the whole circuit acting on MS7 and MS8 through wires 108 and 109. In MS7 and MS8 it resets the outputs, which operation causes loading of the value present on connection 99 in CN2. In case of resynchronization, MSg controls through wire 110 multiplexer MX8so that it may present on connection 99 the signal on connection 111, which 10 represents value DV plus a constant value P, present under wired form in M10. In this way, counter CN2 is loaded with the value DV+P, wherein P represents intervention delay of automaton MS9.
Once the synchronism has been attained, MS9 switches MX8 so as to cause the transfer on connection 99 of a constant value R, present under wired form on 15 connection 112. This value represents the delay introduced by MS7 when CN1 loads through wire 98.
During the testing phase, it is possible to observe the operation of finite-state automaton MSg through connection 17n, made available to the outside.
The operation of the just-described block TlMb refers to interlaced mode. The 20 circuit can also operate in non-interlaced mode; the operation is analogous, but values FP,BD, and SW are no longer used.
Circuit MAD, presented while describing fig.3, is represented in the block diagram of Fig.9.
It operates the conversion from Y,Cb,Cr format into RGB format. As known, the 25 three R,G,B components can be expressed in comparison with Y,Cb,Cr components by the following formulae:
R = 1.36875 Cr + Y - 175 G = Y - 0.6972 Cr - 0.33755 Cb + 132 B = 1.7381 Cb + Y - 222 The Y,Cb,Cr components are presented at MAD input on connections 21c,21a,21b respectively and are stored in registers ZX3,ZX1,ZX2. From register ZX1 Cb component is sent to two read-only memories RO2 and RO4 through connections 151 and 150. Memory RO2 carries out multiplying operation of 256 values of Cb by 1,7381 and the subtraction of 222 from the results, using the previously computed 35 and permanently stored values. The result of the operations carried out by RO2 is led through connection 152 to a register ZX7,wherein it is stored and rendered available on connection 153 for an adder AD3. The other input of the adder receives through connection 154 the value Y,suitably delayed by the bank of registers ZX3,ZX4,ZX9 to take into account propagation delays through read-only-memory RO2. At the output of AD3, on connection 58a, is then available the true value of B component. B is further delayed by the chain of registers Z11 and Z15, to take into account the propagation delays through an adder AD5, and is made available at the output on connection 156.
5 Analogously for the generation of R component, from register ZX2 the Cr component is sent to two read-only memories RO3 and RO1 through connections 157 and 158. Memory RO1 carries out the multiplication of 256 values of Cr by 1,36875 and subtraction of 175 from the results, using previously computed and permanently stored values. The result of the operations carried out by RO1 is led through 0connection 159 to a register ZX8,whereby it is stored and rendered available onconnection 160 for an adder AD4. The other input of the adder receives through connection 154 the value Y,suitably delayed by the chain of registers ZX3,ZX4,ZX9 to take into account propagation delays through read-only memory RO1. At the output of AD4, on connection 58b, the true value of R component is then available. R is further 5delayed by the chain of registers Z12 and Z16, to take into account the propagation delays through an adder AD5, and is made available at the output on connection 162.
As to generation of G component, Cb and Cr components are read out from registers ZX1 and ZX2 through connections 150 and 157 and read-only memories RO3and RO4 are addressed. The operations of multiplication of Cr by -0.6972 and addition 20 of 66 to the result take place in RO3, whilst the operations of multiplication of Cb by -0.33755 and addition of 66 to the result take place in RO4. Subdivision of additive coefficient into two parts allows simplification of read-only memories RO3 and RO4.
The results of the operations carried out by RO3 and RO4 are led through connections 164 and 163 to registers ZX6 and ZX5, where they are stored and made25 available on connections 165 and 166 for an adder/subtractor AD2, wherein they are summed up to each other. The result of the addition, available on connection 167, is stored in register Z10 and through connection 168 is led to adder AD5. The otherinput of the adder receives through connection 169 the value Y, previously delayed in the chain of registers ZX3,ZX4, ZX9 and Z13, to take into account propagation delays 30 through read-only memories RO3, RO4 and adder AD2.
At the output of AD5, on connection 170, the true value of G component is then available. G is stored in register Z14 and rendered available at the output on connection 171.
To facilitate the testing phase of memories RO1 and RO2, connections 58a and 58b35 are rendered available to the outside.
Fig. 10 shows the block diagram of the block denoted by OVE in Fig.3. The main task of this circuit is the generation of control signals of external overlay memory.
Besides it receives the overlay memory data and interprets them suitable. The counter 1 denoted by CN3 generates the addresses for the overlay memory. This counter receives clock pulses at half-line frequency on connection 52 coming from block SYN (Fig.3).
The counter can be loaded through connection 200 with the contents of register R23, containing starting-line value used while scanning the overlay memory. The external 5 microprocessor can write in this register through connection 11 and read its contents through connection 12b. Register R22 contains instead the starting column used for scanning the overlay memory. Also in this register the external microprocessor can write through connection 11 and read the contents through connection 1 2a.
The value of starting column is led through connection 201 to a multiplexer 10 M21, whilst the other input receives on connection 202 the output of counter CN3. At the output of the multiplexer on connection 9b there are then present alternately the line or column address of the overlay memory, in function of the control signals on connection 9c. A register R20 stores the 8-bit value coming from the overlay memory on connection 9a. The subsequent multiplexer M20 alternately transfers to connection 15 203 the upper or lower part of this value, present on connections 204 and 205. The values of the new 4-bit format are sent to a conversion table LUT, which supplies at the output on connection 204 a 24-bit value per each of the 16 input values. 24-bit values, relevant to pixels, are programmable by the external microprocessor through connection 11.
The values on connection 204 are stored in register R21 and rendered available on connections 53 and 55 directed to multiplexers MX4 and MX3 (Fig.3). Connection 203 is also led to a block LOG, which generates control signals of the above-mentioned multiplexers on connections 54 and 56. It generates also on wire 13a the controlsignal for the external multiplexer already mentioned.
25 It is clear that what described is given by way of a non limiting example.
Variations and modifications are possible without going out of the scope of the claims.
Claims (8)
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A video control circuit for multimedia applications, which accepts at the input digital video signals according to CCIR 656 recommendation, video signals under luminance-chrominance Y,Cb,Cr format and renders available at the output correspondent signals under digital parallel format and separated synchronism signals, standard RGB signals possibly mixed with external video signals coming from an external video memory, characterised in that it comprises:
- a video flow decoder (INP), which receives at the input (1) the video digital signals, and extracts their synchronisms and active data of each line, storing them at the same time in a buffer memory to obtain the synchronization of the outgoing flow (2), supplied under Y,Cb,Cr format;
- a first multiplexer (MX2), transferring to the output (5) the digital video flow present at the input (1) or that generated within the control circuit;
- a block (VID), which receives at the input (7) video data under Y,Cb,Cr formattogether with control signals, synchronises them using timings determined from the outside and varies their parallelism supplying them to a first output (21) or convert them into RGB format, rendering it available at a second output (8), besides it controls an external video memory, containing a secondary image superimposable to the current image and supplies (13) synchronism and state signals;
- a timing signal generator (TIM), programmable (16) by an external-control microprocessor;
- an interface (INT) for the dialogue of said block (VID) with the control microprocessor;
- a second multiplexer (MX1), which transfers to the output (19) towards the external microprocessor the data coming either from timing signal generator (TIM) or from said block (VID);
- a conversion block (OUT), which converts data in Y, Cb, Cr format (21) into data in CCIR 656 format (4).
- a video flow decoder (INP), which receives at the input (1) the video digital signals, and extracts their synchronisms and active data of each line, storing them at the same time in a buffer memory to obtain the synchronization of the outgoing flow (2), supplied under Y,Cb,Cr format;
- a first multiplexer (MX2), transferring to the output (5) the digital video flow present at the input (1) or that generated within the control circuit;
- a block (VID), which receives at the input (7) video data under Y,Cb,Cr formattogether with control signals, synchronises them using timings determined from the outside and varies their parallelism supplying them to a first output (21) or convert them into RGB format, rendering it available at a second output (8), besides it controls an external video memory, containing a secondary image superimposable to the current image and supplies (13) synchronism and state signals;
- a timing signal generator (TIM), programmable (16) by an external-control microprocessor;
- an interface (INT) for the dialogue of said block (VID) with the control microprocessor;
- a second multiplexer (MX1), which transfers to the output (19) towards the external microprocessor the data coming either from timing signal generator (TIM) or from said block (VID);
- a conversion block (OUT), which converts data in Y, Cb, Cr format (21) into data in CCIR 656 format (4).
2. A video control circuit for multimedia applications as in claim 1, characterised in that said video flow decoder (INP) comprises:
- two registers (R1,R3) wherein digital video data and the relevant timings are stored with a certain parallelism and read with a higher parallelism;
- a frequency conversion block (FIF), basically consisting of a FIFO memory, wherein the digital video data supplied by said registers (R1,R3) are stored;
- a first finite-state automaton (MS1), which extracts the synchronism information present in the digital data flow and renders them available at the output (2b) and checks data validity;
- a block for detecting synchronism errors (CRP), which analyses data and their parity and corrects an error or signals the presence of two of them to said finite-state automaton (MS1);
- a register (R2) for storing the synchronism state and the relevant parity to send to the block for detecting synchronism errors (CRP);
- a second finite-state automaton (MS2), controlling said frequency conversion block (FIF) on the basis of the information on the validity of data and clock signals.
- two registers (R1,R3) wherein digital video data and the relevant timings are stored with a certain parallelism and read with a higher parallelism;
- a frequency conversion block (FIF), basically consisting of a FIFO memory, wherein the digital video data supplied by said registers (R1,R3) are stored;
- a first finite-state automaton (MS1), which extracts the synchronism information present in the digital data flow and renders them available at the output (2b) and checks data validity;
- a block for detecting synchronism errors (CRP), which analyses data and their parity and corrects an error or signals the presence of two of them to said finite-state automaton (MS1);
- a register (R2) for storing the synchronism state and the relevant parity to send to the block for detecting synchronism errors (CRP);
- a second finite-state automaton (MS2), controlling said frequency conversion block (FIF) on the basis of the information on the validity of data and clock signals.
3. A video control circuit for multimedia applications as in claim 1, characterised in that said block (VID) comprises:
- a buffer memory of FIFO type (FOF), which stores input data (7a) under Y,Cb,Cr format and supplies them at the output (50) with higher parallelism;
- a block for controlling data routing (OVE), which operates under the control of the external microprocessor (11) and of data coming from the external video memory (9a), generating the addresses and control signals for the external memory (9b) control, for an external video multiplexer (13a), for the memories containing the colour palette and supplying the three Y,Cb,Cr components (53) or the code under RGB format (55) to superimpose possibly to the image element coming from the outside;
- a third multiplexer (MX3), which transfers to the output (21) either the Y,Cb,Cr code, supplied by said block for controlling data routing (OVE), or the Y,Cb,Cr code coming from said buffer memory (FOF) relevant to the main image, under the control (54) of the block for controlling data routing;
- an arithmetic unit (MAD), which operates data conversion from Y,Cb,Cr format (21) into RGB format (57);
- a fourth multiplexer (MX4), which transfers to its output (8) either RGB code relevant to the external video memory (55) or the RGB code coming (57) from said arithmetic unit (MAD), under the control (56) of said block for controlling data routing (OVE);
- a timing generator (SYN), for said block for controlling data routing (OVE) and for said buffer memory of FIFO type (FOF).
- a buffer memory of FIFO type (FOF), which stores input data (7a) under Y,Cb,Cr format and supplies them at the output (50) with higher parallelism;
- a block for controlling data routing (OVE), which operates under the control of the external microprocessor (11) and of data coming from the external video memory (9a), generating the addresses and control signals for the external memory (9b) control, for an external video multiplexer (13a), for the memories containing the colour palette and supplying the three Y,Cb,Cr components (53) or the code under RGB format (55) to superimpose possibly to the image element coming from the outside;
- a third multiplexer (MX3), which transfers to the output (21) either the Y,Cb,Cr code, supplied by said block for controlling data routing (OVE), or the Y,Cb,Cr code coming from said buffer memory (FOF) relevant to the main image, under the control (54) of the block for controlling data routing;
- an arithmetic unit (MAD), which operates data conversion from Y,Cb,Cr format (21) into RGB format (57);
- a fourth multiplexer (MX4), which transfers to its output (8) either RGB code relevant to the external video memory (55) or the RGB code coming (57) from said arithmetic unit (MAD), under the control (56) of said block for controlling data routing (OVE);
- a timing generator (SYN), for said block for controlling data routing (OVE) and for said buffer memory of FIFO type (FOF).
4. A video control circuit for multimedia applications as in claim 1, characterised in that said conversion block (OUT) comprises:
- a set of registers (RX1,RX2,RX3) which store Y,Cb,Cr components of the pixel to be converted:
- a block (COD) to generate codes relevant to the synchronism and parity information according to CCIR 656 recommendation;
- a fifth multiplexer (MX5), mixing the Y,Cb,Cr components outgoing (60,61,62) from said set of registers with the codes generated by said block (COD);
- a third finite-state automaton (MS3), which controls (64) said fifth multiplexer (MX5) and generates (67) control signals for the generation of the synchronism words of CCIR 656 flow;
- a chain of registers (RX4,RX5), synchronising the data supplied by said fifth multiplexer (MX5) through a controlled delay and introduces the synchronism words.
- a set of registers (RX1,RX2,RX3) which store Y,Cb,Cr components of the pixel to be converted:
- a block (COD) to generate codes relevant to the synchronism and parity information according to CCIR 656 recommendation;
- a fifth multiplexer (MX5), mixing the Y,Cb,Cr components outgoing (60,61,62) from said set of registers with the codes generated by said block (COD);
- a third finite-state automaton (MS3), which controls (64) said fifth multiplexer (MX5) and generates (67) control signals for the generation of the synchronism words of CCIR 656 flow;
- a chain of registers (RX4,RX5), synchronising the data supplied by said fifth multiplexer (MX5) through a controlled delay and introduces the synchronism words.
5. A video control circuit for multimedia applications as in claim 1, characterised in that said timing signal generator (TIM), has a portion (TIMa) for the generationhorizontal synchronism signals comprising:
- a set of registers (RLX,RCX,RDX,RWX) wherein the external microprocessor loads the values (L,C,D,W) of the different level durations of said horizontal synchronism signals;
- a presettable counter (CN1), which counts pulses (15b) at pixel frequency;
- a first comparator (CM1) which compares the signal at its first input (70) supplied by the counter with the value present at its second input (71);
- three high-impedance driving circuits (TR1,TR2,TR3), enabled in turn to supply signals (C,4*L,8*L), contained in two out of said set of registers (RCX, RLX) to the second input (71) of said first comparator;
- a fourth finite-state automaton (MS4) which enables in turn (73,74,75) said driving circuits and enables (76) the counter (CN1) to load the initial value supplied by a sixth multiplexer (MX6), generating at the output (10a) one of said horizontal synchronism signals, on the basis of signals (72,83) received from the first comparator and from a fifth finite-state automaton (MS6);
- an adder (AD1), which adds to the value (D) supplied by one (RDX) of said set of registers a constant value (N);
- said sixth multiplexer (MX6), which transfers to the output (77) a wired value (90) or the value supplied by the adder to preset the counter (CN1);
- a seventh multiplexer (MX7), which transfers to the output (80) one of the values (D,W) contained in two (RDX,RWX) of said set of registers;
- a second comparator (CM2), which compares the signal at its first input (75)supplied by the counter (CN1) with the value supplied by the seventh multiplexer;
- a sixth finite-state automaton (MS5), which generates at the output (10b) a second horizontal synchronism signal, on the basis of the signals received by the second comparator;
- said fifth finite-state automaton (MS6), which operates the synchronization ofthe portion (TIMa) for the generation of horizontal synchronism signals, checking the phase relationship existing between an external synchronism signal (15a) with a synchronism signal generated by the sixth finite-state automaton (MS5) and acting on the seventh multiplexer (MX6,MX7), on the counter (CN1), on the fourth and sixth finite-state automatons (MS4, MS5).
- a set of registers (RLX,RCX,RDX,RWX) wherein the external microprocessor loads the values (L,C,D,W) of the different level durations of said horizontal synchronism signals;
- a presettable counter (CN1), which counts pulses (15b) at pixel frequency;
- a first comparator (CM1) which compares the signal at its first input (70) supplied by the counter with the value present at its second input (71);
- three high-impedance driving circuits (TR1,TR2,TR3), enabled in turn to supply signals (C,4*L,8*L), contained in two out of said set of registers (RCX, RLX) to the second input (71) of said first comparator;
- a fourth finite-state automaton (MS4) which enables in turn (73,74,75) said driving circuits and enables (76) the counter (CN1) to load the initial value supplied by a sixth multiplexer (MX6), generating at the output (10a) one of said horizontal synchronism signals, on the basis of signals (72,83) received from the first comparator and from a fifth finite-state automaton (MS6);
- an adder (AD1), which adds to the value (D) supplied by one (RDX) of said set of registers a constant value (N);
- said sixth multiplexer (MX6), which transfers to the output (77) a wired value (90) or the value supplied by the adder to preset the counter (CN1);
- a seventh multiplexer (MX7), which transfers to the output (80) one of the values (D,W) contained in two (RDX,RWX) of said set of registers;
- a second comparator (CM2), which compares the signal at its first input (75)supplied by the counter (CN1) with the value supplied by the seventh multiplexer;
- a sixth finite-state automaton (MS5), which generates at the output (10b) a second horizontal synchronism signal, on the basis of the signals received by the second comparator;
- said fifth finite-state automaton (MS6), which operates the synchronization ofthe portion (TIMa) for the generation of horizontal synchronism signals, checking the phase relationship existing between an external synchronism signal (15a) with a synchronism signal generated by the sixth finite-state automaton (MS5) and acting on the seventh multiplexer (MX6,MX7), on the counter (CN1), on the fourth and sixth finite-state automatons (MS4, MS5).
6. A video control circuit for multimedia applications as in claim 1, characterised in that said timing signal generator (TIM), has a portion (TIMb) for the generationvertical synchronism signals, which comprises:
- a first block of registers (RVX), wherein the external microprocessor loads the values (BP,FP,BD,FD) of the durations of the different levels of a first vertical synchronism signal;
- a second presettable counter (CN2), which counts the pulses (10a) at a frequency twice as high as the line frequency;
- a third comparator (CM3), which compares the signal at its first input (90) supplied by the second counter with the value present at its second input (91);
- a ninth multiplexer (MX9), which transfers to the output (91) one of the values contained in said first block of registers (RVX);
- a seventh finite-state automaton (MS7), which selects (93) said ninth multiplexer (MX9) and enables (98) the second counter (CN2) to store the initial value supplied by an eighth multiplexer (MX8), generating at the output (10c,10e) two of said vertical synchronism signals, on the basis of the signals (92,108) received from the third comparator and from a ninth finite-state automaton (MS9);
- a second block of registers (RVY), wherein the external microprocessor loads the values (DV,WV,SW) of the durations of different levels of a second vertical synchronism signal;
- a fourth comparator (CM4), which compares the signal to its first input (101) supplied by said second counter with the value present at its second input (102);
- a tenth multiplexer (M10), which transfers to the output (102) one of the values contained in said second block of registers (RVY);
- an eight finite-state automaton (MS8), which selects (103) said tenth multipiexer (M10), generating to the output (10d) the third of said vertical synchronism signals, on the basis of signals (100,109) received from the fourth comparator and by a ninth finite-state automaton (MS9);
- an eighth multiplexer (MX8), which transfers to the output (99) a wired value (112) or the value supplied by the tenth multiplexer in order to preset the second counter (CN2), on the basis of a signal supplied by a ninth finite-state automaton (MS9);
- said ninth finite-state automaton (MS9), which operates the synchronization of the portion (TIMb) for the generation of vertical synchronism signals, by checking the phase-relationship existing between an external synchronism signal (15c) and a synchronism signal generated by the eight finite-state automaton (MS8) and acting on sixth and eight multiplexer (MX8), on the seventh and eighth finite-state automatons (MS7,MS8).
- a first block of registers (RVX), wherein the external microprocessor loads the values (BP,FP,BD,FD) of the durations of the different levels of a first vertical synchronism signal;
- a second presettable counter (CN2), which counts the pulses (10a) at a frequency twice as high as the line frequency;
- a third comparator (CM3), which compares the signal at its first input (90) supplied by the second counter with the value present at its second input (91);
- a ninth multiplexer (MX9), which transfers to the output (91) one of the values contained in said first block of registers (RVX);
- a seventh finite-state automaton (MS7), which selects (93) said ninth multiplexer (MX9) and enables (98) the second counter (CN2) to store the initial value supplied by an eighth multiplexer (MX8), generating at the output (10c,10e) two of said vertical synchronism signals, on the basis of the signals (92,108) received from the third comparator and from a ninth finite-state automaton (MS9);
- a second block of registers (RVY), wherein the external microprocessor loads the values (DV,WV,SW) of the durations of different levels of a second vertical synchronism signal;
- a fourth comparator (CM4), which compares the signal to its first input (101) supplied by said second counter with the value present at its second input (102);
- a tenth multiplexer (M10), which transfers to the output (102) one of the values contained in said second block of registers (RVY);
- an eight finite-state automaton (MS8), which selects (103) said tenth multipiexer (M10), generating to the output (10d) the third of said vertical synchronism signals, on the basis of signals (100,109) received from the fourth comparator and by a ninth finite-state automaton (MS9);
- an eighth multiplexer (MX8), which transfers to the output (99) a wired value (112) or the value supplied by the tenth multiplexer in order to preset the second counter (CN2), on the basis of a signal supplied by a ninth finite-state automaton (MS9);
- said ninth finite-state automaton (MS9), which operates the synchronization of the portion (TIMb) for the generation of vertical synchronism signals, by checking the phase-relationship existing between an external synchronism signal (15c) and a synchronism signal generated by the eight finite-state automaton (MS8) and acting on sixth and eight multiplexer (MX8), on the seventh and eighth finite-state automatons (MS7,MS8).
7. A video control circuit for multimedia applications as in claim 1, characterised in that said arithmetic unit (MAD) comprises:
- three registers (ZX1,ZX2,ZX3), wherein Y,Cb,Cr components, are stored;
- read-only memories (RO1,RO2,RO3,RO4) which, addressed with possible values of Cb and Cr, supply the same multiplied by numerical constants and algebraically summed to others;
- a set of registers (ZX4,...,ZX9), wherein the signals supplied by said read-only memories as well as Y component are stored;
- a first and a second adder (AD3,AD4), which sum Y to the values computed by two (RO1,RO2) of said read-only memories to obtain R and B components of RGB signal;
- four registers (Z11,Z12,Z15,Z16) which store and allow synchronization of R
and B components;
- a third adder (AD2), which adds the values computed by two (RO3,RO4) out of said read-only memories;
- two registers (Z10,Z13), which store and allow synchronization of Y
component and of the signal supplied by said third adder (AD2);
- a fourth adder (AD5), which adds the signals supplied by said two registers (Z10,Z13) to obtain the G component of RGB signal;
- a register (Z14), storing and allowing synchronization of G component.
- three registers (ZX1,ZX2,ZX3), wherein Y,Cb,Cr components, are stored;
- read-only memories (RO1,RO2,RO3,RO4) which, addressed with possible values of Cb and Cr, supply the same multiplied by numerical constants and algebraically summed to others;
- a set of registers (ZX4,...,ZX9), wherein the signals supplied by said read-only memories as well as Y component are stored;
- a first and a second adder (AD3,AD4), which sum Y to the values computed by two (RO1,RO2) of said read-only memories to obtain R and B components of RGB signal;
- four registers (Z11,Z12,Z15,Z16) which store and allow synchronization of R
and B components;
- a third adder (AD2), which adds the values computed by two (RO3,RO4) out of said read-only memories;
- two registers (Z10,Z13), which store and allow synchronization of Y
component and of the signal supplied by said third adder (AD2);
- a fourth adder (AD5), which adds the signals supplied by said two registers (Z10,Z13) to obtain the G component of RGB signal;
- a register (Z14), storing and allowing synchronization of G component.
8. Control circuit via multimedia applications as in claim 3, characterised in that said block for controlling data routing (OVE) comprises:
- a third presettable counter (CN3), which counts pulses at half-line frequency (52) by generating line addresses (202) for said external video memory;
- a first register (R23), wherein the external microprocessor can write the number of the starting line of scanning of the external video memory;
- a second register (R22), wherein the external microprocessor can write the number of the starting column of scanning of the external video memory;
- a ninth multiplexer (M21), which transfers alternately to the output (9b) the line or column address of the external video memory received from the third counter (CN3) or from the second register (R22);
- a third register (R20), wherein data (9a) arriving from the external video memory are stored;
- a tenth multiplexer (M20), which transfers alternately to the output (203) the higher or lower part of the data stored in said third register (R20);
- a block (LOG), which generates control signals (54,56,13a) for said third and fourth multiplexers (MX3,MX4) and for an external multiplexer on the basis of the signals supplied by the tenth multiplexer (M20);
- a conversion table (LUT), which is addressed by the datum supplied by the tenth multiplexer (M20) and supplies at the output (204) the value relevant to a pixel, all the values stored being programmable by the external microprocessor (11);
- a fourth register (R21), which stores the values outgoing from said conversion table (LUT).
- a third presettable counter (CN3), which counts pulses at half-line frequency (52) by generating line addresses (202) for said external video memory;
- a first register (R23), wherein the external microprocessor can write the number of the starting line of scanning of the external video memory;
- a second register (R22), wherein the external microprocessor can write the number of the starting column of scanning of the external video memory;
- a ninth multiplexer (M21), which transfers alternately to the output (9b) the line or column address of the external video memory received from the third counter (CN3) or from the second register (R22);
- a third register (R20), wherein data (9a) arriving from the external video memory are stored;
- a tenth multiplexer (M20), which transfers alternately to the output (203) the higher or lower part of the data stored in said third register (R20);
- a block (LOG), which generates control signals (54,56,13a) for said third and fourth multiplexers (MX3,MX4) and for an external multiplexer on the basis of the signals supplied by the tenth multiplexer (M20);
- a conversion table (LUT), which is addressed by the datum supplied by the tenth multiplexer (M20) and supplies at the output (204) the value relevant to a pixel, all the values stored being programmable by the external microprocessor (11);
- a fourth register (R21), which stores the values outgoing from said conversion table (LUT).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ITTO920224A IT1259343B (en) | 1992-03-17 | 1992-03-17 | VIDEO CONTROL CIRCUIT FOR MULTIMEDIA APPLICATIONS |
ITTO92A000224 | 1992-03-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2092663A1 CA2092663A1 (en) | 1993-09-18 |
CA2092663C true CA2092663C (en) | 1996-07-09 |
Family
ID=11410225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002092663A Expired - Fee Related CA2092663C (en) | 1992-03-17 | 1993-03-12 | Video control circuit for multimedia applications |
Country Status (6)
Country | Link |
---|---|
US (1) | US5319447A (en) |
EP (1) | EP0561358B1 (en) |
JP (1) | JPH07118774B2 (en) |
CA (1) | CA2092663C (en) |
DE (2) | DE561358T1 (en) |
IT (1) | IT1259343B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596696A (en) * | 1993-05-10 | 1997-01-21 | Object Technology Licensing Corp. | Method and apparatus for synchronizing graphical presentations |
EP0663639A1 (en) * | 1994-01-14 | 1995-07-19 | International Business Machines Corporation | Method for creating a multimedia application |
US5557538A (en) * | 1994-05-18 | 1996-09-17 | Zoran Microelectronics Ltd. | MPEG decoder |
US5598525A (en) | 1995-01-23 | 1997-01-28 | Cirrus Logic, Inc. | Apparatus, systems and methods for controlling graphics and video data in multimedia data processing and display systems |
US6839093B1 (en) * | 1998-11-13 | 2005-01-04 | Intel Corporation | Programmably controlling video formats |
TW521215B (en) * | 2000-09-01 | 2003-02-21 | Mustek System Inc | Graphic data processing system for increasing processing speed of graphic data |
US6542152B2 (en) * | 2001-01-19 | 2003-04-01 | Silicon Integrated Systems Corp. | Method and apparatus for culling |
US7081874B2 (en) * | 2002-12-20 | 2006-07-25 | Motorola, Inc. | Portable display device and method utilizing embedded still image buffer to facilitate full motion video playback |
US20060227241A1 (en) * | 2005-04-06 | 2006-10-12 | Dyke Phil V | Apparatus and method for adjusting colors of an image |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5643885A (en) * | 1979-09-18 | 1981-04-22 | Nec Corp | Color data converter |
US4580165A (en) * | 1984-04-12 | 1986-04-01 | General Electric Company | Graphic video overlay system providing stable computer graphics overlayed with video image |
US4707727A (en) * | 1986-04-08 | 1987-11-17 | Tektronix, Inc. | Apparatus for providing an indication that a color represented by a Y, R-Y, B-Y color television signal is validly reproducible on an RGB color display device |
AU586948B2 (en) * | 1987-03-16 | 1989-07-27 | Sharp Kabushiki Kaisha | Image signal processor |
US4792846A (en) * | 1987-06-26 | 1988-12-20 | Tektronix, Inc. | Component television timing corrector |
JPH06105950B2 (en) * | 1987-10-16 | 1994-12-21 | キヤノン株式会社 | Image processing device |
JP2577765B2 (en) * | 1988-03-15 | 1997-02-05 | 日本電気ホームエレクトロニクス株式会社 | Color signal conversion decoder for facsimile broadcast receiver |
JPH02149891A (en) * | 1988-11-30 | 1990-06-08 | Seiko Instr Inc | Synchronizing signal generating circuit |
US5150109A (en) * | 1989-02-13 | 1992-09-22 | Touchstone Computers, Inc. | VGA controller card |
US4994912A (en) * | 1989-02-23 | 1991-02-19 | International Business Machines Corporation | Audio video interactive display |
EP0404393A3 (en) * | 1989-06-19 | 1992-03-04 | International Business Machines Corporation | Video digitising/display adapter |
JP3135241B2 (en) * | 1989-09-04 | 2001-02-13 | キヤノン株式会社 | Error detection and correction decoding device |
US5220312A (en) * | 1989-09-29 | 1993-06-15 | International Business Machines Corporation | Pixel protection mechanism for mixed graphics/video display adaptors |
GB2243047A (en) * | 1990-04-11 | 1991-10-16 | Rank Cintel Ltd | A digital composite video encoder |
GB2243743A (en) * | 1990-04-11 | 1991-11-06 | Rank Cintel Ltd | Digital colour video key signal generator using two programmable lookup tables |
JPH05324821A (en) * | 1990-04-24 | 1993-12-10 | Sony Corp | High-resolution video and graphic display device |
-
1992
- 1992-03-17 IT ITTO920224A patent/IT1259343B/en active IP Right Grant
-
1993
- 1993-02-11 US US08/016,686 patent/US5319447A/en not_active Expired - Fee Related
- 1993-03-12 CA CA002092663A patent/CA2092663C/en not_active Expired - Fee Related
- 1993-03-15 JP JP5078639A patent/JPH07118774B2/en not_active Expired - Lifetime
- 1993-03-16 DE DE0561358T patent/DE561358T1/en active Pending
- 1993-03-16 DE DE69315461T patent/DE69315461T2/en not_active Expired - Lifetime
- 1993-03-16 EP EP93104285A patent/EP0561358B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2092663A1 (en) | 1993-09-18 |
IT1259343B (en) | 1996-03-12 |
US5319447A (en) | 1994-06-07 |
ITTO920224A0 (en) | 1992-03-17 |
DE69315461D1 (en) | 1998-01-15 |
EP0561358A1 (en) | 1993-09-22 |
JPH07118774B2 (en) | 1995-12-18 |
DE561358T1 (en) | 1994-12-08 |
EP0561358B1 (en) | 1997-12-03 |
ITTO920224A1 (en) | 1993-09-17 |
JPH0614203A (en) | 1994-01-21 |
DE69315461T2 (en) | 1998-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838296A (en) | Apparatus for changing the magnification of video graphics prior to display therefor on a TV screen | |
US5119082A (en) | Color television window expansion and overscan correction for high-resolution raster graphics displays | |
US5327156A (en) | Apparatus for processing signals representative of a computer graphics image and a real image including storing processed signals back into internal memory | |
US5517612A (en) | Device for scaling real-time image frames in multi-media workstations | |
US5999160A (en) | Method for forming sub image data packet including data of sub image superimposed on main image, recording medium for recording sub image data packet, and image process apparatus | |
US4719503A (en) | Display processor with color matrixing circuitry and two map memories storing chrominance-only data | |
US4855831A (en) | Video signal processing apparatus | |
US5426731A (en) | Apparatus for processing signals representative of a computer graphics image and a real image | |
US5321500A (en) | Non-real-time film scanning system | |
KR0146345B1 (en) | Superimposing apparatus | |
US5590252A (en) | Video processor system and audio processor system | |
JPH05122664A (en) | Television receiver of wide aspect ratio | |
KR970000824B1 (en) | Synthesizing device for digital image | |
CA2092663C (en) | Video control circuit for multimedia applications | |
EP0484981B1 (en) | Image data processing apparatus | |
JPH05199500A (en) | Format converter | |
US5943097A (en) | Image processing means for processing image signals of different signal formats | |
KR100208552B1 (en) | Apparatus for processing mixed yuv and color palettized video signal | |
US5835103A (en) | Apparatus using memory control tables related to video graphics processing for TV receivers | |
US6710810B1 (en) | Video signal processing apparatus with resolution enhancing feature | |
JPS61208578A (en) | Image forming device | |
EP0484970A2 (en) | Method and apparatus for generating and recording an index image | |
US6104376A (en) | Equipment for outputting video images to a computer screen | |
KR930002305B1 (en) | Simulation system of data | |
JPH1042313A (en) | Signal processing system, image processor and circuit for converting signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed | ||
MKLA | Lapsed |
Effective date: 20010312 |