home .. forth .. misc mail list archive ..

MISC video spec (640x480 ?)


Dear MISC readers:

>From: Jiunn-jye Huang <jjhuang@cm.nctu.edu.tw>
>Subject: 640x480 on MISC?
>
>Hello,
>    Many video capture card can output NTSC at 640x480, can MuP21 do
>the same thing? If could, I think MuP21 is fit for design a Palm PC. 
>Other Palm PC is only black and white, and MuP21 has video output of 16
>color. 
>    I considered that if MuP21 be used with more colors, we can design
>MPEG-2 decoder with MuP21. 
>    Hmmm, this mail is just some of my ideas, very amature. But I think
>if MuP21 or F21 can do 640x480 256 colors or 16bit colors, MISC can do
>more applications excently. 

Since my last post about MISC video programmability I have learned more
about the subject and need to clarify the specification.  I have stated
in the past that resolution was programmable, and it is, but there
are a couple of restrictures that I did not fully understand before.
In discussions with Chuck and with Mark Smeder I have learned more.

The restrictions applie to NTSC composit video and have to do with the
color modulation.  NTSC transmits the brightness (luminance) signal
by amplitude modulation of the carrier wave, and encodes the color
signal by phase modulation.  The frequency for the color burst signal
and color phase modulation is provided from an external oscilator.
The 3.5Mhz signal for color modulation is provided by an external
14M oscilator.

On MuP21 this feature limits the programmability of the video resolution.
The lumenance and chromanance singals are derived from the same clock and
the 3.5Mhz is requirement for color modulation and this locks you into
limited variations on spatial resolution.

So far MuP21 has been programmed to generate 192 or 384 horizontal and
482 pixels vertical.  Most TVs or monitors have signifigant overscan
and therefore can only display about 320x400 on the screen although
some monitors will display the full 384x482.

Using a higher frequency clock will permit increasing spatial resolution,
but would not produced correct color modulation.  So my understanding is
now that the 384x482 is the highest NTSC type resolution that P21 can 
generate with color modulation.

P21 also has two other problems with video.  P21 uses a square wave
to modulate the color signal.  This introduced unwanted harmonics that
result in some P21 colors strobing.  The other problem has to do with
running the lumenance and chromanance signals at the same rate.  NTSC
video specifies 525 horizontal pixels in lumenance resolution, but the
color resolution is less.  As a result of this high frequency color
changes can be too fast for display and cause dot crawl or flicker at
the edges of color changes.

The number of color is also very limited, but that is a separate issue.
P21 only generates 15 colors.  There are four bits to designate color,
but there is no difference between dark black and bright black (intensity
makes no difference if all the primary colors are 0).  One can get
an increase in apparent color resolution by dithering, but this decreases
spatial resolution and as noted above can lead to pixel flicker.

On i21 Chuck has experimented with video quite a lot.  For a long time
he thought that most of the problems were due to the square wave modulation
and improved it into nice sine waves.  He has talked about this a lot and
the probems of generating "slow" sine waves (like 3.5Mhz). The strobing of 
some solid colors seen on P21 was removed from early i21 by the use of these 
improved sine waves for modulation. However the F21 like P21 also runs
the lumenance and chromanance signals at the same rate.  

On i21 Chuck has also experimented with using different frequencies for
brighness and color, and using new instructions in the video coprocessor.

F21 was designed to offer interface tuning that was not available on P21.
The speed of memory interface can be changed with some configuration bits,
and the relative speed of the video clock as compared to the video 
oscilator signal is also controlable.  This gives a little more flexibility 
with the choice of video input clock.

However there is still the 3.5Mhz color modulation requirement in composit
NSTC generation.  So once again this limits the programmability of spatial 
resolution for a modulated color signal when the brighness and color signals
are the same frequency.

F21 provides unmodulated color signals on separate pins in addition to the
composite video output.  On this interface red, green, and blue each have
their own pin the sync signal appears on the green output.  In RGB video
there is no color modulation, so you are not locked into a 3.5Mhz spec.
So the only restrictions on the choice of oscilator freqency is memory
bandwidth and monitor display characteristics.  There should be no problem
in generating MDA, CGA, EGA, VGA, and super VGA format signals in RGB,
but of course you cannot generate composit video at the same time.

A resolution of 384x482 on P21 ( and F21 ) requires aout 62K words
of memory to hold both the pixels and the video framing instructions.
Producing 640x480 would require almost twice as much memory and consume
twice as much memory bandwidth.  Resolutions up through 1024x768 should
be doable.  Since there is no color modulation the RGB video from F21
should be sharp clean and vivid.  It is still however low color resolution.

You will note that if the design were changed to use more bits per pixel
that the memory size bandwidth requirements increase.  100% of DRAM would
hold 1024x1024 pixels, but no framing instructions, so it would not be
doable to provide all memory to video, the cpu needs a little. :-)

iTV is experimenting with different video designs, modulations, encoding,
and video coprocessor instruction sets.  It is not clear what designs will
be selected in the future, but unquestionably there will be higher 
spatial and color resolutions supported.

F21 for the most part has its design frozen and is just in the debugging
phase.  The video is described as 4 bits per pixel with 15 colors.

However one should also note that there is also an analog coprocessor
on F21 separate from the video coprocessor, and that F21 has a network
coprocessor for multiprocessing.  

The F21 analog coprocessor is fast enought to generate video signals, and
with very little hardware and a little software F21 could also generate
a video signal from the analog coprocessor.  I have not actually designed
such hardware or code so I don't really know what restrictions apply.
However the signal is a 6 bit signal so one might be able to get 64 shades
of grey or colors depending on the design.

There is also the potential to generate a single video signal using more than
one F21 at the same time.  It may not be the most efficient or easy way 
to generate video, but in a system with a bunch of F21 connected together
you could have one virtual monitor (like in the Apple OS) with many
screens, and you could have several F21 generating video to one screen.
If you 6 bit analog output on each RGB line you could get 256k colors in
super vga resolutions.  This has of course not been done nor has it
been simulated so I do not know how difficult it will be, but it is one
of many experiments planned for F21.

We also plan to experiment with interfacing other other video output
chipsets and devices.  Image rendering inherently parallel and with scalable 
computing power it may be useful to compute very high resolution
images that well beyond the range of video that can be generated
by the F21 chips themselves.

+-----------------------------------------------------+
|   Jeff Fox                                          |
|   jfox@dnai.com              Ultra Technology Inc.  |
|   jeff@itvcorp.com           the iTV Corporation    |
|   http://www.dnai.com/~jfox/                        |
+-----------------------------------------------------+