Изменить стиль страницы

• Exclusive Or (Исключающее ИЛИ) – присваивает GPRM результат побитового Исключающего ИЛИ заданной величины и GPRM, двух GPRM или GPRM и SPRM.

Глава 13

Логические операции

DVD-плееры хранят значения параметров GPRM и SPRM в своих системных регистрах. Каждый регистр состоит из двух байтов, то есть значения параметров занимают 16 бит. Каждый бит может иметь значение 1 (Включен) или 0 (Выключен). Можно сказать, что каждый параметр GPRM или SPRM состоит из строки битов.

Программа Scenarist позволяет записывать на DVD-диске команды, которые будут исполняться DVD-плеером, для сравнения величин GPRM или SPRM и использовать булеву логику для получения результирующего значения. Это результирующее значение может быть либо нулем, что соответствует ложному сравнению, либо ненулевой величиной, которая обозначает истинное сравнение. В зависимости от результата сравнения DVD-плеер может либо выполнить команду, либо пропустить ее.

Например, шестой бит в параметре SPRM (2) определяет, будет ли отображаться на экране subpicture. Единичное значение включает отображение subpicture на экране, а при нулевом значении subpicture скрывается. Пользователь может использовать операции логического сравнения значения 1000000 с параметром SPRM (имеющим значение 1011011) для определения отображения subpicture на экране. Логический оператор & является оператором булевой логики и соответствует инструкции И. Каждый бит в первой строке сравнивается с таким же битом во второй строке в соответствии со следующими правилами:

• 0 & 0 = 0 (False – ЛОЖЬ);

• 0 & 1 = 0 (False – ЛОЖЬ);

• 1 & 0 = 0 (False – ЛОЖЬ);

• 1 & 1 = 1 (True – ИСТИНА).

Чтобы получить ненулевую величину, нужно, чтобы оба бита с одинаковыми порядковыми номерами имели единичное значение. Так, если значение параметра SPRM, равное 10110011, сравнить с величиной 10000000, то будет получен результат 10000000, который соответствует логическому значению True (Истина).

В этом случае результат True (ИСТИНА) означает, что поток subpicture включен и будет отображаться на экране. Если седьмой бит параметра SPRM (2) имеет другое значение, то результат будет нулевым, что соответствует логическому значению False (ЛОЖЬ). В программе Scenarist приходится оперировать с десятеричными величинами, поэтому вышеприведенный пример означает, что производится сравнение значения параметра SPRM 91 со значением 64.

Создание процедуры логического сравнения

Для следующего примера потребуется создать главное меню с тремя кнопками, которые получат обозначения Кнопка 1, Кнопка 2 и Кнопка 3, а также три коротких видеофрагмента.

Этот пример покажет, как можно создать меню, в котором зритель должен активировать первую и вторую кнопки, прежде чем он сможет активировать третью кнопку. Для этого нужно добавить кнопки, соединенные с тремя видеофрагментами (Video 1, Video 2 и Video 3), следует присвоить параметры GPRM кнопкам Кнопка 1 и Кнопка 2, связать операцию сравнения с кнопкой Кнопка 3, а также добавить команду Post к каждому титулу видеофрагментов, чтобы по окончании воспроизведения управление передавалось обратно в главное меню.

Связывание подсветок кнопок с тремя видеопотоками

Для связывания кнопок с тремя титулами нужно в области авторинга редактора сценариев добавить папку языка к видеоменеджеру, а затем переместить подготовленное меню на эту папку. Затем требуется добавить титулы Title_1, Title2 и Title_3 к VTS1. На них нужно переместить видеоматериалы Fragmentl, Fragment2 и Fragment3. Следует удостовериться, что каждому титулу назначены различные видеоматериалы (см. рис. 13.1).

Профессиональный авторинг DVD i_221.png

Рис. 13.1. Сценарий с добавленными PGC меню и трех фрагментов видеоматериала.

Нужно выбрать главное меню и открыть окно моделирования. В нем нужно нарисовать контуры подсветок трех кнопок и выровнять их по вертикали. В этом примере такое выравнивание применяется из-за того, что кнопки расположены друг под другом (см. рис. 13.2).

Профессиональный авторинг DVD i_222.png

Рис. 13.2. Пример разрабатываемого меню.

Затем следует выполнить команду меню Tools ? Auto Route (Инструменты ? Автоматическая расстановка связей) и добавить связи между кнопками. Также нужно протянуть линию связи от флага Btns создаваемого меню к титульной папке Title_1.

Если PGC свернута, то флаг Btns отображается у иконки самой PGC. Если же PGC развернута, то флаг отображается у иконки меню. В открывшемся диалоговом окне нужно выбрать кнопку Кнопка 1.

Связь будет сформирована и отображена в виде розовой стрелки, соединяющей объекты. Флаг Btns будет отображен с желтой заливкой.

То же самое нужно сделать для кнопок Кнопка 2 и Кнопка 3, соединяя их с титульными папками Title2 и Title3 соответственно. По окончании работы должно существовать три связи между меню и тремя титульными папками (рис. 13.3).

Профессиональный авторинг DVD i_223.png

Рис. 13.3. Расставленные связи меню.

Задание значений параметров GPRM

Для установки значений параметров GPRM нужно в области авторинга редактора сценариев дважды щелкнуть на флаге Post PGC Fragment1. Откроется окно моделирования на закладке PGC Commands (Команды PGC). В списке меню Pre/Post/Cell, который находится прямо под закладкой PGC Commands (Команды PGC), нужно выбрать значение Post. Затем следует сбросить флажок No Command (Нет команды). В результате будет отображено меню Command (Команда). В нем нужно выбрать значение Set T o GPRM (Установить GPRM) и использовать переключатель Immediate. Меню GPRM будет заменено текстовым полем в правой части секции окна (рис. 13.4).

Профессиональный авторинг DVD i_224.png

Рис. 13.4. Операция присваивания значения регистру.

Следует убедиться, что в качестве оператора используется Assign. Также нужно проверить, что в меню GPRM выбрано значение GPRM0.

Теперь нужно ввести значение 1 в текстовое поле, располагающееся в правой части секции. Выполнение данного оператора присваивания приведет к занесению в параметр GPRM0 значения 1.

Эти действия нужно повторить для видеофрагмента Fragment2, присваивая значение 1 параметру GPRM1.

Создание логического сравнения

Для создания операции логического сравнения нужно в области авторинга редактора сценариев дважды щелкнуть на флаге Btns главного меню. В результате откроется окно моделирования на закладке Button Commands (Команды кнопок).

В списке команд нужно выбрать команду перехода на третий видеофрагмент и установить флажок Compare. После этого следует выбрать переключатель GPRM. В левой части окна должен быть выбран параметр GPRM0.

В правой части должен быть выбран параметр GPRM1. На самом деле, если поменять местами параметры GPRM0 и GPRM1, то ничего страшного не произойдет (рис. 13.5). И наконец, нужно установить операцию логического сравнения Bitwise Compare.

Профессиональный авторинг DVD i_225.png

Рис. 13.5. Задание операции логического сравнения.

Добавление команды Post

Команду Post нужно добавить к каждому титулу, чтобы вернуть управление в меню. Для этого в области авторинга редактора сценариев нужно провести линию связи от флага Post титула Title_1 к PGC главного меню.

В появившемся диалоговом окне потребуется указать тип создаваемой связи. Следует выбрать значение Add to the end of the post command list (Добавить в конец списка команд) и нажать кнопку OK.

Эти действия нужно повторить для титулов Title_2 и Title_3.

И на этом – все! Теперь осталось лишь проверить работоспособность созданного примера.