Plutonium #19
20 августа 2001

Программирование - формирование изображения на экране монитора (продолжение).

<b>Программирование</b> - формирование изображения на экране монитора (продолжение).
............................................................
        ФОРМИРОВАНИЕ ИЗОБРАЖЕНИЯ НА ЭКРАНЕ МОНИТОРА:
                       ОБЩИЕ ПРИНЦИПЫ
                    (компиляция, продолжение)
............................................................

(с) Tertius Gaudens


  2.4 Количество строк развертки

     Z  оределяется  исходя из пространственной частотной харак-
теристики  системы  зрения.  Установлено, что при расстояниях до
5-ти высот кадра достаточно Z = 660. При других угловых размерах
достаточно Z в пределах [720; 2400], т.е дальнейшее увеличение Z
не улучшает качество воспроизведения.
     Для  чересстрочной развертки в европейских ТВ системах при-
нято

             А    ох            А    ох
        Z = Z 4  0 + Z 4  0  = 2Zп 4  0= 2(Zп + Zп ) = 625 =

          = 575 + 50 = 2*312,5 = 2(288 + 24,5)

       А
  где Z 5  0- количество активных (воспроизводимых  на  экране)
строк кадра;
       ох
      Z   - количество строк обратного хода (ОХ);
      Zп  - количество строк в поле.
  Аналогично для НТСЦ

        Z = 525 = 452 + 73 = 2*262,5 = 2(226 + 36,5)

     Соответственно  при  построчной  развертке  на основе евро-
пейского ТВ стандарта

                Z = 312 = 287 + 25

  Для НТСЦ
                Z = 262 = 225 + 37

  Частота развертки строки в стандарте 50/625 составляет

        F 4с  0= F 4к 0* Z  = 25 Гц * 625 = 15,625 кГц

     При  этом допускаемое стандартом отклонение строчной часто-
ты составляет

        F 4с  0= 15625 +/- 7  03 Гц

     Отсюда  можно  получить допустимое отклонение кадровой час-
тоты.
  Соответственно длительность строки составляет

              Tc 4  0= 1/Fc 4  0= 64 мкс

при длительности ее активной части
          A         ох
         Тc = Tc - Тc  = 64 - 12 = 52 мкс

       ох
  где Т 4с 0  - длительность ОХ строки.                     А
            В НТСЦ Fс 4  0= 29,97*525 = 15,734 кГц,
             Тс 4  0= 63,55 мкс, Тс 5  0=52,6 мкс.
     При  построчной  развертке  требования к быстродействию по-
вышаются:

                     пр     чр
                    Fк  = 2Fк

  Отсюда необходимо, чтобы или

                    пр    чр
                   Fс = 2Fс ,

или
                      пр    чр
                     Z   = Z  /2

     Вляние  Z на качество восприятия оценивается исходя из фак-
тической детальности изображения, которая составляет

                                 А 2
                         N = (Ф*Z )

  Учитывая логарифмический характер восприятия глаза,  можно
                              А
     вычислить,  что уменьшение Z 5  0вдвое уменьшает количество
воспринимаемых   элементарных   деталей   (элементов  разложения
изображения, пиксел, ПЕЛ) только на 13%.
  Из этого следует, что для качества восприятия Fк 4 0 имеет го-
                              А
     раздо большее значение, чем Z . Именно поэтому при работе с
дисплеем  больше подходит построчная развертка на основе НТСЦ, а
не европейский ТВ стандарт.


  2.5 Полоса пропускания

     Необходимая   частота   дискретизации   видеосигнала   fd 4
 0зависит  от  частоты  среза  df, определяемой как максимальная
частота  спектра относительно сигнала, разложенного в ряд Фурье.
При  этом, согласно теореме Котельникова необходимо, чтобы fdmin
=  2df. Для гарантированного обеспечения качесва сигнала при его
обратном  преобразовании  в  аналоговую  форму  fd 4  0выбирают,
исходя из условия

           fd 4  0> fdmin = 2df

           fd 4  0= Г*Fс


  где Г 7  0- количество гармоник, на какие разлагается сигнал.
     Отсюда  можно получить общее выражение для разложения изоб-
ражения:
                       2
               Тк = Ф*Z /(2df*hr)

                      A      A
               hr = (Z /Z)*(Тc /Tc)


  где hr - коэффициент эффективности развертки.
  Кстати, подставляя справочные значения, можно получить

                 625          525
                hr   = 0,75; hr   = 0,71

     В  ПАЛ  принята df = 5,5, в НТСЦ - 5,01, в СЕКАМ - 6,5 мГц.
Для  всех ТВ систем принята fd 4  0= 13,5 мГц. Она является гар-
моникой   частоты  2,25  мГц  -  наименьшего  общего  кратного в
системах  с разложением на 525 (Г 7  0= 143) и 625 (Г 7  0= 144)
строк.
  Отсюда для ПАЛ/СЕКАМ количество отсчетов - в строке  Nx 4   0=
                              A
864, в активной части строкм Nx 5  0= 702, длительнлсть отсчета
td 4  0= 74,1 нс.
                       A
  Для НТСЦ Nx = 858 и Nx = 710.
     Поскольку  при  построчной развертке количество строк вдвое
менье,  то  значение Nx 4  0тоже соответственно уменьшается: для
ПАЛ/СЕКАМ  fd 4   0=  6,75 МГц; td 4  0= 148,2 (приблизительно 7
 0150) нс;

           A
Nx 4  0= 432; Nx = 351; df = 3,375 МГц.
     Сопоставим  эти  данные с требованиями к дискретизации зву-
ка.  Диапазон,  воспринимаемый  ухом  - 2 Гц...20 кГц. Исходя из
этого, частота дискретизации звука принята равной

                       зв    зв
                    2df 5  0 < fd   = 44 кГц

  Это примерно в 2,6 раза выше, чем Fс.

  2.6 Погрешность дискретизации

     Для  того,  чтобы  избежать геометричних искажений по гори-
зонтали (растягивания или сжатия), необходимо обеспечить

                 A    A
                Nx = Z  *Ф

     С учетом этого

                       A  A    A    A
               fdг 4г 0 = Nx/Тc = Z *Ф/Тc

                              A   A
               tdг = 1/fdг = Тc /Z *Ф


     Отсюда   желательная   длительность   дискретизации   tdг 4
составит:  для  развёртки  типа  50/625  -  67,83,  для 60/525 -
87,28 нс. Поскольку длительность отображения элемента разложения
(пикселя,  ПЭЛ)  tпэл 4   0определяет размер ПЭЛ по горизонтали,
геометрическая погрешность дискретизации, %, составит

              dг 4  0= [(td - tdг)/tdг]*100

  Отсюда для  50/625 dг = +9%, для 60/525 dг = -15%.


  2.7 Пример реализации

     Рассмотрим  возможность  формирования сигналов ТВ синхрони-
зации на примере МК КР1816ВЕ31.
     Учитывая,  что  этот МК содержит делитель на 12, максималь-
ная  частота  исполнения  команд  составляет 1 МГц (длительность
такта - 1мкс). Это позволяет непосредственно использовать МК.

───────────────────┬────────────────────┬───────
                   │Длительность, мкс   │Погрешн.
    Название       ├───────────┬────────┼───┬───
                   │необхо-    │обеспе- │ПЭЛ│ %
                   │димая      │чиваемая│   │
───────────────────┼───────────┼────────┼───┼───
Передний уступ     │1,5 +/- 0,3│    2   │ 4 │0,8
Строчный синхроимп.│4,7 +/- 0,2│    4   │ 4 │1,1
Выравнивающий имп. │2,35+/- 0,1│    2   │ - │0,6
Синхроимп. поля    │   27,3    │   28   │ - │1,1
Врезка             │4,7 7  0+/- 0,2│    4   │ - │1,1
Строчн. гасящий имп│12 7   0+/- 0,3│   12   │ 0 │0
───────────────────┴───────────┴────────┴───┴───

     Погрешность,  создаваемая  применением  МК при td 4  0= 150
нс,  определена  через  количество  ПЭЛ  и относительно длитель-
ности строки:


                  dN = (tз - tн)/td

                  dt 4  0= [(to - tн)/Tс]*100

  где tз - длительность, которую обеспечивает МК;
      tн - стандартная длительность.

  3 Компьютерная графика

  3.1 Восприятие

     Попробуем  рассмотреть  некоторые  особенности,  отличающие
компьютерную графику от ТВ изображения.
     В  ТВ  системотехнике генераторы строчной развертки и высо-
кого  напряжения  совмещены.  Это  приводит  к некоторой зависи-
мости  горизонталного  размера  изображения  и  его интегральной
яркости  -  и при воспроизведении компьютерной графики это имеет
больше значения, чем в случае ТВ картинки.
  На различия в восприятии могут также влиять:
  - внешняя засветка;
  - интегральная яркость изображения;
     -  аудитория  -  ее количество, состав, эмоциональный наст-
рой,  степень  концентрации  внимания  (это  я к тому, что, нап-
ример,  просматривать  демки  в  одиночку и "на фестивале" - две
большие разницы);
     -  угловой  размер экрана - при большом размере проявляется
строчная  структура  изображения  (чтобы  этого избежать, в слу-
чае ТВ изображения применяют гребенчатый фильтр, удвоение строк,
повышение кадровой частоты и т.п.).
     Качество  стандартного  ТВ  разложения  вполне удовлетвори-
тельно,  если  рассматривать  его  В  ЦЕЛОМ  (и то - при опреде-
ленных  углах  зрения,  уровнях  яркости,  внешней засветки). Но
попробуйте   сконцентроровать   внимание  на  отдельных  деталях
(например,  на  номере  игрока  при  общем  плане матча) - и что
тогда?  Этим  и  объясняются  повышенные требования к ТВЧ и ЭВМ.
Отдельного  рассмотрения заслуживает синтез общего изобра- жения
из  двух  кадров  при  Fк 4   0=  50 Гц. Если оба исходных изоб-
ражения  отличаются  незначительно - тогда все в порядке. Но при
попытке,    например,   синтезировать   новый   цвет,   зачастую
получается мерцающее изображение.


  3.2 Отображение на Спектруме

     Исходя  из максимально допустимой тактовой частоы процессо-
ра Z80 Fпр 4  0= 3,5 МГц в большинстве Спектрумов принята такто-
вая  частота  Fси 4   0=  14  МГц (применяется также 14,5...15,0
МГц).
  Соответственно, коэффициент пересчета -

                       kп = Fси:Fпр = 4

  Частота выборки -

                     Fпэл 4  0= Fси/2 = 7 МГц

     Следовательно,  в  стандарте 50/625 число гармоник строчной
частоты -

            Г = Nx= Fcи : Fс 4  0= 7000 : 15,625 = 448

  В то же время для 60/525

                  Г = 7000 : 15,734 = 444,9 (приблизительно)

     Это  указывает на несовместимость как с НТСЦ, так и с боль-
шинством современных компьютерных мониторов.
  Длительность ПЭЛ -

                     tпэл = 1/Fпэл = 143 нс (приблизительно)

  Отсюда показатели строчной развертки составят:

               Tс = 64 мкс = 448 ПЭЛ

               А
              Tс = 52 мкс = 364 ПЭЛ

              ох
             Tс = 12 мкс =  84 ПЭЛ


          /───────────────────────Tс───────────────────────/
          │                   А                        ох  │
          /──────────────────Tс────────────────────/──Tс───/
          │                                       │tу tси  │
          /─tв─/─────────────tс──────────────/    /-/───/  │
          │    │                             │    │ │   │  │
/───/───/─┌───────────────────────────────────────┐─┬───┬──┐
│   │ Zв│ │        /─/-tзн 2        BORDER 2      │ │   │  │
│   │   /─│     ┌─┬───────────────────────────┐   │ │   │  │
│   │Zзн/─│     ├─┘                           │   │ │   │  │
│   │   │ │     │                  PAPER 2    │   │ │   │  │
│   │   │ │     │                             │   │ │   │  │
│  А│   │ │     │                             │   │ │   │  │
│ Z │ Zр│ │     │                             │   │ │   │  │
│   │   │ │     │                             │   │ │   │  │
Z   │   │ │     │                             │   │ │   │  │
│   │   │ │     │                             │   │ │   │  │
│   │   │ │     │                             │   │ │   │  │
│   │   │ │     │                             │   │ │   │  │
│   │   /─│     └─────────────────────────────┘   │ │   │  │
│   │     │                                       │ │   │  │
│ ох/───/─└───────────────────────────────────────┘─┴───┴──┤
│Z  │Zси/─├───────────────────────────────────────┬─┬───┬──┤
│   │     │                                       │ │   │  │
/───/─────└───────────────────────────────────────┴─┴───┴──┘

     При  стандартной  длительности строчного синхроимпульса 4,7
+/- 0,2 и его переднего уступа 1,5 +/- 0,3 мкс может быть реали-
зовано, соответственно

              tси = 32 ПЭЛ = 4,6 мкс

               tу = 10 ПЭЛ = 1,4 мкс

           ох
     В  числе  Z 5   0  =  25 строк содержатся Zси 4  0= 9 строк
синхрони-  зации,  из  которых  3  средние  строки отводятся под
кадровые  синхроимпульсы, а прочие 6 - под выравнивающие (их при
рабо- те с мониторами обычно не формируют).
     Информационное  поле  (PAPER)  разбивается  на  знакоместа,
имеющие размерность 8х8 ПЭЛ:

                tзн = 0,143*8 = 1,14 мкс

                Zзм = 8 строк

     Приняв,  что  формируемое  изображение  "раскрашивается" по
знакоместам, получим частоту дискретизации цвета:

                 цв
                fd = fd/8 = 875 кГц

     Цвет  передают  3 бита RGB и 1 бит яркости, т.е. всего - 16
градаций,  что  соответствует  количеству  уверенно  идентифици-
руемых цветов.
  PAPER имеет размерность

                 tp = 36,6 мкс = 256 ПЭЛ = 32 знакоместа

                 Zp = 192 строки = 24 знакоместа

                  Ф = tp:Zp = 4:3

  Обрамление информационного поля (BORDER) имеет размеры

                        A
                 tb = (Tc - tp)/2 = 7,7 мкс = 54 ПЭЛ

                        A
                 Zb = (Z - Zp)/2 = 48 строк

       zx                         tv
     При  Fси 5   0=  14  МГц отклонение от Fси 5  0= 13,5 МГц -
3,7%, а геометрическая погрешность дискретизации составляет

                    zx            tv
                   dг  = +5,3% < dг  = +9%


  3.3 Реализация адресных счетчиков

     Подсчет Nx 4  0= 448 особых трудностей не представляет. Для
этого   достаточно   двух  четырехразрядных  двоичных  счетчиков
(типа ИЕ7) и одного T-триггера:

                  Nx 4  0= 448 = 16*28 = 16*(16 + 12)

     С  подсчетом же Z = 312 дело обстоит гораздо сложнее. В ка-
честве примера рассмотрим "ленинградский вариант". В нем

                 Z = 312 = 16*12 + 16*7 + 8

  После того, как счетчики CTY1 и CTY2 совместно делают

                          16*12 = 192 отсчетов,

CTY2 устанавливается в состояние "8", и делается

                          16*7 = 112 отсчетов,

     затем   CTY1  устанавливается  в  состояник  "7"  и  делает
остающи- еся 8 отсчетов.
     Для  реализации этого алгоритма используются 2 корпуса ИЕ7,
корпус ТМ2 и корпус ЛА3.
     Разработчики  "Пентагона"  "пошли  другим  путем".  Ничтоже
сумняшеся,  они  приняли  Z  =  320,  чем,  конечно, значительно
упростили себе жизнь:

                  Z = 320 = 256 + 64 = 16*10*2

     В  этом случае специальная схема дешифрации вообще не нужна
(правда,   аппаратный  выигрыш  по  сравнению  с  "ленинградским
вариантом" - практически никакой). При этом

                   320
                  Fк   = 15,625 : 320 = 48,8 Гц

  Это составляет отклонение от стандарта в -2,3%.
     Утверждается,  что за счет незначительного ухудшения эффек-
тивности  и  эргономики  развертки  эти  самые  дополнительные 8
строк  обратного  хода  придают  дополнительные  возможности для
формирования  динамического  изображения. Мол, 512 мкс - это как
раз то, чего не хватает для полного счастья при кадровой частоте
прерываний.
  Но... Вам оно надо?!
     Удовлетворительную  динамику,  напомню, обеспечивает 25 Гц.
Следовательно,  доостаточно  делать  прерывание  только в каждом
втором,  а,  учитывая, что применяемая частота дискретизации в 2
раза меньше телевизионной, то и в каждом четвертом кадре.

                             * * *





Другие статьи номера:

Вступление - не заставил себя долго ждать новый номер нашей газеты ;).

Софт - X-DOS о планах развития новой оперционной системы для Спектрума.

News - Черная ворона - новый электронный журналы на Спектруме.

News - Новости, старости: Chaos Construction 2001 состоялся, Pussy стала freeware, новое бумажное издание на спектруме, Raver покинул ряды Phantasy, новая версия эмулятора спектрума Real Speccy, Assembly 2001, новый коммандер Real Commander 2.0, Delirium Tremens уходят со спектрума...

Press - обзор свежей прессы: Explorer 1,2,3, IzhNews #0C, Body, Zx-Light, Inferno #2, ULTIMATUM#2, MADNESS #1, KoSME#0.

Humor - юмор.

Fazan - Поток БезФазания от Анонимного Лица/GmdTeam.

Программирование - формирование изображения на экране монитора.

Программирование - формирование изображения на экране монитора (продолжение).

Демопати - Chaos C0NstRucTI0n'2001 отчет от Shiru Otaku.

Демопати - Chaos C0NstRucTI0n'2001: результаты.

Демосцена - портрет "нового" Спектрумиста.

Авторы - авторы газеты.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Horror Legends - обзор классических фильмов ужасов.
Дебют - игра Deep Strike.
Новости - О выходе юбилейного девятого номера...
BBS - список станций BBS ZXNet.
Вступление - прикольно наблюдать иногда за пользователями ПЦ...

В этот день...   25 апреля