БЫСТРАЯ ИНИЦИАЛИЗАЦИЯ И ВКЛЮЧЕНИЕ ДИСПЛЕЯ
FAST DISPLAY INITIALISATION AND LIGHT UP

Уровень техники
Хотя большинство компьютерных компонентов стали гораздо более быстродействующими по мере развития технологии, но дисплеи персональных компьютеров все еще требуют длительного времени для "загорания " экрана перед использованием. Это справедливо даже для мониторов, основанных на жидких кристаллах и ставших крайне популярными, которые обычно загораются существенно быстрее, чем дисплеи на ЭЛТ. Например, при выходе из режима экономии электроэнергии (например, "глубокого сна") ЖК дисплеям обычно требуется от двух с половиной до шести секунд от момента прихода достоверного видеосигнала до момента, когда они включают подсветку. Одним нежелательным результатом такой задержки является то, что пользователь должен ждать начала работы дисплея и часто нервничать, глядя на темный экран, хотя даже остальная компьютерная система готова к использованию.
Хотя имеется множество конструкторских концепций, которые изготовители дисплеев могут применить для уменьшения существующих времен "загорания", вряд ли какая-нибудь из них существенно сократит время ожидания пользователя. Например, для дисплеев, имеющих много входов, которые поддерживают широкий набор видеосигналов, изготовители, скорее всего, будут не в состоянии достичь времени загорания менее двух секунд, что все еще является довольно нежелательной задержкой. Непрерывно поддерживая наборы микросхем главного контроллера и контроллера дисплея в рабочем состоянии, можно ускорить время восстановления (например, сохраняя питание у главного набора микросхем графики, можно быть уверенным, что дисплей принимает активные импульсы синхронизации, так что дисплей осведомлен о своем текущем режиме), но это неприемлемое решение проблемы, поскольку потребляется слишком много энергии, чтобы удовлетворить желательным требованиям к ее потреблению. В общем, это происходит из-за того, что если оставить главный набор микросхем графики функционировать, то нельзя обесточить основную часть контроллера дисплея для сохранения энергии, а сохранение энергии обычно происходит из-за возможности выключения питания у значительной части главного контроллера и контроллера дисплея.
Сущность изобретения
Это краткое изложение предназначено для ознакомления с набором характерных идей в упрощенной форме, которые в дальнейшем приводятся ниже в Подробном описании. Это краткое изложение не предназначено для идентификации ключевых или существенных признаков заявляемого предмета изобретения и не предназначено для использования любым образом, который может ограничить рамки заявляемого предмета изобретения.
Вкратце, различные аспекты описываемого здесь предмета изобретения направлены на поддержание (сохранение) установок дисплея, когда он находится в "состоянии сна" (ожидания), в котором поддерживаемые установки (параметры) дисплея соответствуют действовавшим установкам (параметрам) дисплея, в то время когда он работал и показывал видеоданные. Когда дисплей впоследствии "пробуждается", главный компьютер связывается с ним, чтобы установить, могут ли системные видеосигналы главного компьютера правильно отображаться с использованием поддерживаемых параметров дисплея. Если это так, то дисплей восстанавливает свои поддерживаемые параметры как фактически действующие параметры.
Дисплей и система главного компьютера могут каждая сохранять маркер, который соответствует набору параметров дисплея. Маркер пересылается во время пробуждения, например, от системы главного компьютера к дисплею, после чего приемник маркера ищет соответствие принятого маркера по отношению к своему собственному запомненному маркеру. Когда принимаемый маркер соответствует заранее сохраненному маркеру, набор параметров дисплея используется для генерации выхода видеоизображения, на основе видеосигналов, принимаемых от системы главного компьютера.
Память в дисплее, в системе главного компьютера или в обоих устройствах может быть использована для сохранения установок (параметров) дисплея, в то время как сам дисплей находится в режиме ожидания, включая контроллер дисплея и/или графический контроллер главного компьютера. При пробуждении главный компьютер связывается с дисплеем, чтобы установить, применим ли по-прежнему набор поддерживаемых параметров дисплея, например, не изменились ли компьютерная система, так же как ее последний набор параметров видео, с тех пор, как дисплей вошел в свой режим ожидания. Если это так, то поддерживаемые параметры дисплея восстанавливаются до фактически действующих, используемых дисплеем для генерации вывода видеосигналов от главного компьютера.
Другие преимущества могут стать очевидными из последующего детального описания в сочетании с чертежами.
Краткое описание чертежей
Настоящее изобретение проиллюстрировано на примере и не ограничено этими сопроводительными чертежами, на которых похожие ссылочные позиции указывают на подобные элементы и в которых:
Фиг.1 показывает иллюстративный пример вычислительной среды общего применения, в который можно реализовать различные варианты настоящего изобретения.
Фиг.2 является блок-схемой, представляющей примерные компоненты, в которых дисплей хранит свои установки (параметры) и предоставляет маркер для компьютерной системы перед своим входом в резервный режим энергосбережения, причем маркер используется в дальнейшем при восстановлении параметров во время возвращения дисплея из резервного режима.
Фиг.3 является блок-схемой, представляющей примерные компоненты, в которых компьютерная система хранит параметры дисплея для их последующего восстановления, когда дисплей выдаст согласованный маркер при возвращении из резервного режима.
Фиг.4 является упрощенным примером схемы последовательности операций, которая представляет собой примерные этапы, которые могут быть выполнены дисплеем при восстановлении параметров дисплея на основе совпадающего маркера.
Фиг.5 является упрощенным примером схемы последовательности операций, которая представляет собой примерные этапы, которые могут быть выполнены системой главного компьютера для восстановления параметров дисплея на основе совпадающего маркера.
Подробное описание
Примерная операционная среда
Фиг.1 иллюстрирует пример подходящей компьютерной операционной среды 100, на которой можно осуществить данное изобретение. Компьютерная операционная среда 100 - это только один пример подходящей компьютерной среды, и он не предполагает каких-либо ограничений на сферу использования или функциональность изобретения. Также компьютерная среда 100 не должна интерпретироваться как имеющая какую-либо зависимость или требования относительно любого компонента или комбинации компонентов, проиллюстрированных примером рабочей среды 100.
Изобретение может функционировать с большим числом других вычислительных систем, сред или конфигураций как общего, так и специального назначения. Примеры хорошо известных вычислительных систем, сред и/или конфигураций, которые подходят для применения данного изобретения, включают в себя, но не ограничиваются этим: персональные компьютеры, серверы, наладонные или портативные устройства, планшетные устройства, многопроцессорные системы, системы на микропроцессорах, телевизионные приставки, программируемая потребительская электроника, сетевые ПК, миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые могут включать в себя любые из вышеперечисленных систем или устройств, и тому подобное.
Изобретение может быть описано в общем контексте компьютерно исполняемых инструкций, таких как программные модули, которые исполняются компьютером. В общем, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализовывают конкретные абстрактные типы данных. Изобретение может также быть применено в распределенных вычислительных средах, где вычисления выполняются посредством удаленных устройств обработки данных, которые соединены друг с другом сетью связи. В распределенных вычислительных средах программные модули могут быть размещены в локальных и/или удаленных компьютерных запоминающих средах, включая устройства хранения памяти.
Со ссылкой на Фиг.1 примерная система для реализации изобретения включает в себя вычислительное устройство общего применения в виде компьютера 110. Компонентами компьютера 110 могут быть, но необязательно: процессор 120, системная память 130 и системная шина 121, которая подсоединяет различные компоненты системы, включая системную память, к процессору 120. Системная шина 121 может быть любой из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества возможных шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину стандартной промышленной архитектуры (ISA), шину микроканальной архитектуры (МСА), улучшенную шину ISA (EISA), локальную шину ассоциации стандартов видеоэлектроники (VESA) и шину межкомпонентного соединения периферийных устройств (РСI), также известную как шина Mezzanine.
Компьютер 110 обычно включает в себя множество считываемых компьютером сред. Этими средами (носителями) могут быть любые доступные среды, к которым компьютер 110 может иметь доступ, включая как энергозависимые, так и энергонезависимые среды, а также съемные и несъемные среды. В качестве примера, но не ограничения, такие считываемые компьютером среды могут составляться из запоминающей среды и среды передачи данных. Компьютерная запоминающая среда (носитель) включает в себя энергозависимые и энергонезависимые, съемные и несъемные средства, выполненные по любому методу или технологии для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие устройства могут включать в себя, но это не ограничение: память типа RAM, ROM, EEPROM, флэш-память или память другой технологии, CD-ROM, цифровые универсальные диски (DVD) или другие оптические диски памяти, магнитные кассеты, магнитные ленты, магнитные диски или другие магнитные устройства памяти, а также любые другие носители, которые можно использовать для хранения нужной информации и к которым компьютер 110 может иметь доступ. Каналы передачи данных обычно формируются как считываемые компьютером инструкции, структуры данных, программные модули или другие данные, реализованные как модулированные сигналы для несущей волны или другого транспортного механизма, и включают в себя любое средство для доставки информации. Термин "модулированный сигнал" означает сигнал, у которого одна или более его характеристик установлена или изменена таким образом, чтобы закодировать информацию в этом сигнале. В качестве примера, но не ограничения, канал передачи может включать в себя проводной носитель, такой как проводная сеть или непосредственное соединение, беспроводной носитель, такой как акустическая, радио, инфракрасная волна или другая беспроводная среда. Любые комбинации из вышеупомянутого следует также включить в рамки считываемой компьютером среды.
Системная память 130 включает в себя среду запоминающего устройства в виде энергозависимой и/или энергонезависимой памяти такого типа, как постоянное запоминающее устройство (ROM) 131 и оперативное запоминающее устройство (RAM) 132. Базовая система входа/выхода 133 (BIOS), содержащая основные стандартные программы, которые позволяют передавать информацию между элементами внутри компьютера 110, как во время запуска, обычно хранится в ROM 131. В памяти RAM 132 обычно содержатся данные и/или программные модули, которые немедленно доступны для процессора 120 и/или с которыми он непосредственно работает. В качестве примера, но не ограничения, на Фиг.1 показана операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другие съемные/несъемные и/или энергозависимые/энергонезависимые запоминающие устройства. Только в качестве примера на Фиг.1 показан накопитель на жестком диске 141, который читает или записывает информацию на несъемную, энергонезависимую магнитную среду, магнитный дисковый накопитель 151, который читает или записывает на съемный энергонезависимый магнитный диск 152, и оптический дисковый накопитель 155, который читает или записывает на съемный энергонезависимый оптический диск 156, такого типа как CD ROM или другой оптический носитель. Другими съемными/несъемными, энергозависимыми/энергонезависимыми компьютерными запоминающими устройствами, которые можно использовать в принятой в качестве примера операционной среде, являются, но не ограничиваются только этим: кассеты с магнитной пленкой, карты флэш-памяти, диски DVD, цифровые видеопленки, твердотельные RAM, твердотельные ROM и им подобные. Накопитель на жестком диске 141 обычно соединен с системной шиной 121 посредством интерфейса несъемной памяти, такого как интерфейс 140, а магнитный дисковый накопитель 151 и оптический дисковый накопитель 155 обычно соединяются с системной шиной 121 посредством интерфейса съемной памяти, такого как интерфейс 150.
Описанные выше и изображенные на Фиг.1 драйвера и связанные с ними запоминающие устройства обеспечивают хранение считываемых компьютерных команд, структур данных, программных модулей и других данных для компьютера 110. Например, на Фиг.1 указан накопитель на жестком диске 141, который хранит операционную систему 144, прикладные программы 145, другие программные модули 146, программные данные 147. Надо отметить, что эти компоненты могут быть или теми же самыми, или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136, программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 снабжены здесь измененными номерами, чтобы пояснить то, что, как минимум, они являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 посредством таких входных устройств, как планшетное устройство или электронный дигитайзер 164, микрофон 163, клавиатура 162 и указующее устройство 161, обычно представляющее собой мышь, шаровой манипулятор или сенсорная панель. Другими входными устройствами, не показанными на Фиг.1, могут служить джойстик, игровая контактная площадка, спутниковая антенна, сканер и тому подобное. Эти и другие входные устройства часто подключаются к процессору 120 через пользовательский входной интерфейс 160, который подсоединен к системной шине, но они могут быть и подключены с помощью других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или устройство отображения другого типа также подключено к системной шине 121 через интерфейс, такой как видеоинтерфейс 190. Монитор 191 может также быть объединен с панелью сенсорного экрана или тому подобным. Надо отметить, что монитор и/или панель сенсорного экрана могут быть физически объединены в один корпус с компьютерным устройством 110, как в случае компактного персонального компьютера. Кроме того, компьютеры, подобные вычислительному устройству 110, могут также включать в себя другие выходные периферийные устройства типа динамиков 195 и принтера 196, которые могут быть подключены через выходной периферийный интерфейс 194 или тому подобный.
Компьютер 110 может работать и в сетевом окружении, используя логические подключения к одному или более удаленным компьютерам, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть и персональным компьютером, и сервером, и маршрутизатором, и сетевым ПК, и одноранговым устройством или другим общим главным узлом, и обычно включает в себя многие или все из вышеописанных элементов относительно компьютера 110, хотя на Фиг.1 показано только запоминающее устройство 181. Логические подключения, изображенные на Фиг.1, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также содержать и другие сети. Подобные сетевые окружения являются обычным явлением в офисах, в корпоративной сети компьютеров, в корпоративной сети повышенной надежности и в Интернет.
При использовании в сетевом окружении LAN компьютер 110 подсоединен к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевом окружении WAN в компьютер 110 обычно включается модем 172 или другое средство для установления связи через WAN 173, подобное Интернет. Модем 172, который может быть во внутреннем или внешнем исполнении, может быть подсоединен к системной шине 121 через пользовательский входной интерфейс 160 или другой подходящий механизм. В сетевом окружении программные модули, изображенные относящимися к компьютеру 110, или их части могут храниться в удаленных запоминающих устройствах. В качестве примера, но не ограничения, на Фиг.1 показаны удаленные прикладные программы 185 как размещенные на устройстве памяти 181. Следует принять во внимание, что показанные сетевые соединения являются примером, и установление линии связи между компьютерами может быть осуществлено другими методами.
БЫСТРОЕ ВКЛЮЧЕНИЕ ДИСПЛЕЯ И ЕГО ИНИЦИАЛИЗАЦИЯ
Различные аспекты описанной методики направлены на обмен информацией (любым образом) между главным компьютером и подсоединенным к нему дисплеем, где использованный здесь термин "дисплей" относится к любому устройству, способному выводить визуальную информацию, выработанную компьютером, в том числе (но не ограничиваясь только) к мониторам, к телевизорам, кадрам цифрового изображения, механизмам проекционного типа и тому подобным. В общем, как описано ниже, информация, обмениваемая между главным компьютером и дисплеем, дает возможность дисплею быть уверенным в том, что главный компьютер, к которому дисплей подсоединен (и/или наоборот), не изменился (например, не изменились требования (управления) видео, или же монитор не переключен на другой главный компьютер или же на входной порт с новыми требованиями видеоотображения), в соответствии с чем дисплей может быстро восстановить свои предыдущие установочные параметры.
Более детально, процесс возобновления работы обычного дисплея занимает значительное время, поскольку дисплею нужно обнаружить сигнал среди возможного множества входных сигналов, проанализировать этот сигнал, чтобы убедиться, что он достоверный, загрузить соответствующее встроенное ПО (микропроцессорный набор) в соответствии с этим сигналом, проверить через это встроенное ПО и определить информацию о сигнале (например, разрешающую способность, данные синхронизации и т.д.), а заодно определить правильность показа выходной информации на экране, сделать любые необходимые поправки, а затем включить подсветку. Вместо этого, путем сохранения предыдущих установочных параметров и установления через главный компьютер, что набор предварительно сохраненных установочных параметров является правильным, эти предварительно сохраненные установочные параметры могут быть восстановлены, а не повторно вычислены, позволяя тем самым дисплею обойти большую часть инициализации и быстро включиться. Быстрое загорание экрана (которое может длиться всего 200 миллисекунд и до 500 миллисекунд) будет существенно быстрее, чем время загорания в настоящее время, и вывод информации на дисплее появляется практически мгновенно по сравнению с существующими сейчас временами включения.
В целом, многие из здесь приведенных примеров направлены на детализацию осуществления изобретения, в которой связь между компьютером и дисплеем усиливает и расширяет стандарты VESA™ (ассоциация видеоэлектронных стандартов), DDC/CI™ (Канал данных дисплея/командный интерфейс) и MCCS (Набор команд управления монитором), используя, по меньшей мере, одну новую команду VCP (панель управления видео). Эти стандарты (исключая описанные здесь улучшения) публично доступны в VESA™ и не будут детально рассматриваться. Несмотря на нижеприведенные примеры, понятно, что любой связной протокол и/или механизм может быть использован для осуществления описанного здесь процесса передачи видеоданных и данных управления.
Таким образом, понятно, что данное изобретение не ограничено примерами, протоколами или другими структурами и функциональными зависимостями, описанными здесь. Точнее, любой из примеров, описанных здесь, не является ограничением, и данное изобретение может быть использовано различным образом, обеспечивающим выгоды и преимущества в вычислительных и демонстрационных технологиях в целом.
На Фиг.2 показан пример блок-схемы, на которой главный компьютер 210 (на базе персонального компьютера 110 на Фиг.1) обменивается с устройством отображения 250 (таким как устройство, соответствующее монитору 191 на Фиг.1). Обратите внимание, что канал связи 246, представленный на Фиг.2, показан как связь видео (и, возможно, аудио) сигналов и управляющей информации по отдельным соединениям, что может реализовываться с использованием одного и того же физического или беспроводного подключения. Однако это только один пример, поскольку может быть применен любой тип связного соединения с любым соответствующим протоколом, например канал управления может осуществляться как внеполосной канал, внутриполосной канал, внедренный в сам видеосигнал канал, как некая комбинация вышесказанного и тому подобное. Сигнал управления и видеосигнал могут совместно использовать физически одно подключение (например, видеокабель), а могут использовать один и тот же набор проводов или различный набор проводов в одном и том же физически одном кабеле.
Надо отметить, что "дисплей" на Фиг.2 альтернативно помечен как коммутирующий блок 250 (например, удаленное устройство в компьютерной сети и/или имеющее непосредственные кабели и тому подобное), который может подсоединять множество главных компьютеров к множеству дисплеев. Например, коммутирующий блок может находиться между главным компьютером 210 и другим дисплеем. Коммутирующий блок 250 может использовать данные от компьютера 210, чтобы сделать короче переходный период для какого бы то ни было набора мониторов/дисплеев (по крайней мере, одного), подключенных к выходу коммутирующего блока, например, с помощью признаков (тэгов) коммутирующий блок 250 может определить, что налицо переключение между одинаковыми разрешениями. Коммутационный блок может также использовать эти данные самостоятельно, даже если подключенный главный компьютер их не поддерживает, при переключении дисплея между одним и другим компьютерами. Для целей простоты, как принято в дальнейшем, термин "дисплей" относится к любому потребителю/процессору видеоданных (сигналов и/или управляющей информации), даже если переключение данных к другому потребителю/обработчику является временным, и таким образом, слово "дисплей" эквивалентно и также соответствует слову "коммутирующий блок".
В целом, операционная система 234 или другой процесс обменивается управляющей информацией и относящимся к видеосигналами с видеодрайвером 240, который затем выводит данные и информацию для пересылки в виде сигналов известным образом, например, через карту графического адаптера (не показана). Как описано далее, одна часть управляющей информации, которую операционная система может поддерживать в памяти 230 и посылать на видеодрайвер 240, - это маркер 242, который используется логикой 252 дисплея, чтобы определить, по-прежнему ли установочные параметры 254, сохраненные в памяти дисплея 258, применимы при последующем выходе дисплея из состояния пониженного энергопотребления. В качестве альтернативы видеодрайвер может поддерживать маркер в выделенной части своей памяти 230. В любом случае маркер можно посылать на дисплей 250 для обработки. Отметим, что в среде с одиночным главным компьютером, выдающим сигналы для многих дисплеев, маркер и соответствующие параметры могут сохраняться для каждого дисплея, чтобы быстро восстановить правильные параметры для фактического использования.
Маркер соответствует новому/расширенному протоколу обмена между главным компьютером 210 и дисплеем 250, который позволяет дисплею 250 сохранить свои текущие параметры, а затем впоследствии восстановить их по запросу главного компьютера 210. Важнейший результат заключается в том, что дисплей восстанавливается очень быстро после режима энергосбережения или гашения, так что пользователю кажется, что это происходит почти мгновенно. Одним примером протокола для связи между главным компьютером 210 и устройством отображения 250 может быть реализация в виде нового кода операции/команды VCP (Виртуальной панели управления); коды операции обычно детально изложены в спецификации VESA MCCS 2.0. Новая VCP-команда может быть послана в любое время, однако, чтобы избежать не необходимых посылок, команда может быть послана прямо перед тем, как главный компьютер собирается прекратить посылку видео и синхронизующих сигналов. Отметим, что после некоторой задержки, когда дисплей перестает получать видео и синхронизующие сигналы, дисплей обычно входит в состояние "глубокого сна" (ожидания). Монитор может быть также помещен в режим "глубокого сна", например, и командой VCP.
В общем, команда "сохранение параметров" содержит пакет, в который включено поле, содержащее маркер, например значение, которое единственным образом (уникально) генерируется главным компьютером. Когда дисплей 250 принимает этот командный пакет, его логика 252 (лигические средства) старается найти возможность для последующей быстрой перезагрузки его точного текущего состояния, так что дисплей может быстро обрабатывать аналогичные видеосигналы после своего восстановления из состояния глубокого ожидания.
Для этого логика дисплея сохраняет копию маркера 260 (которая необязательно является точной копией, а может быть значением, соответствующим значению маркера, например значение хэш функции) вместе с текущими видеопараметрами 254, включающими в себя, например, текущий набор заданных значений в видеопроцессоре, включая регистры, которые характерны для существующего видеопотока. Дисплей 250 может вернуть сигнал подтверждения приема команды, а может вернуть другой или модифицированный маркер, что позволяет главному компьютеру однозначно идентифицировать модель дисплея.
Когда главный компьютер 210 начинает работу после режима ожидания и знает, что он может послать и пошлет те же самые видеосигналы, которые он ранее посылал на дисплей 250, главный компьютер 210 выдаст команду "восстановить параметры" или что-то подобное с тем же самым маркером (копия 242 компьютера), который главный компьютер 210 посылал ранее. Главный компьютер 210 также инициализирует и посылает видеосигналы так быстро, как это возможно.
Когда дисплей 250 принимает эту команду, требующую операции восстановления параметров, логика 252 дисплея проверяет совпадение маркера от компьютера с соответствующим маркером 260, сохраненным в памяти дисплея 258. Если этот маркер совпадает, дисплей восстанавливает свои параметры 254 и пытается показывать видеосигналы так быстро, как это возможно, без входа в обычную стандартную программу полного определения и корректирования. Отметим, что та же самая команда может также использоваться в других сценариях, таких как начало работы после режима неактивности, когда главный компьютер перестает посылать видеосигналы. Эта команда может также использоваться при сценариях выключения и перехода в "спящий" режим, но только если компьютер собирается начать работу именно с теми параметрами видео, которые были на момент выключения. Заметим, что современные операционные системы этого не делают, а охотнее перезагружаются с низким разрешением и параметрами по умолчанию. Несмотря на это, маркер может использоваться для выполнения начальной загрузки, используя предыдущие параметры (включая высокое разрешение), или начальная загрузка может стартовать с установками по умолчанию (например, с низким разрешением), а затем быстро вернуться к предыдущим параметрам где-то во время загрузки, если маркеры совпадают.
Как следует понимать, основная цель маркера - это указать дисплею 250 во время восстановления, что главный компьютер 210 вместе с любыми из его видеопараметров не изменился с тех пор, как дисплей 250 был переведен в состояние ожидания. Следует отметить, что для большинства компьютерных пользователей львиную долю времени тот же самый компьютер будет оставаться подключенным к "спящему" дисплею, и пока дисплей ожидает, никаких изменений в параметрах не происходит. Когда маркер главного компьютера 242 совпадает с маркером дисплея 260, это означает отсутствие изменений, и дисплей может безопасно восстанавливать свои предыдущие параметры 254 из памяти 258 в свои операционные регистры и так далее. Отметим, что операционные регистры могут поддерживать свои параметры, как, например, посредством непрерывного восстановления заряда, и в этом случае повторная загрузка будет просто включать в себя восстановление полной мощности.
Надо отметить, что любые изменения, такие как подключение другой компьютерной системы к дисплею или изменение видеопараметров на той же самой компьютерной системе, могут сделать информацию дисплея непонятной, и по этой причине пользователь не сможет видеть выходные сигналы, чтобы провести коррекцию. В результате, если необходимо, может быть установлено некое предохраняющее средство для преодоления некоторых проблем, вызванных необычными обстоятельствами или ошибками. Одно такое предохраняющее средство будет предназначено для пользователя, чтобы отсоединить монитор от сети, или выполнить какое-либо другое действие (например, нажать определенную комбинацию клавиш на клавиатуре, нажать сетевую кнопку монитора некоторое число раз подряд, непрерывно держать сетевую кнопку монитора нажатой, чтобы принудить к перезагрузке и т.д.), так чтобы дисплей потерял или очистил свой сохраняемый маркер, в результате чего запустится обычная стандартная программа полного определения и коррекции.
Чтобы удостовериться, что никаких изменений не произошло при обычном начале работы из состояния ожидания, маркер содержит некоторое значение, которое уникально в компьютерной среде и дисплейной среде, например глобально уникальный идентификатор GUID, случайное или псевдослучайное число, временная отметка и так далее, которое может быть скомбинировано некоторым образом с некоторым уникальным значением идентификатора компьютера, таким как адрес управления доступом к среде МАС. Отметим, что главный компьютер способен удалить любой маркер, который может присутствовать всякий раз, когда имеются изменения в видеопараметрах, которые могут повлиять на способность дисплея выводить значимое видео, так что случайного совпадения маркеров произойти не может. Удаление не является обязательным действием при любых изменениях, например изменение, такое как переход с книжной на альбомную ориентацию, может быть проведен с помощью другой команды и/или набора флагов (признаков), сопровождающих маркер, и поэтому установки могут быть восстановлены также как и модифицированы в соответствии с этим, в результате чего происходит быстрое восстановление дисплея по сравнению с восстановлением путем выполнения обычной стандартной программы полного определения и коррекции. Также те временные изменения, которые были сделаны, а потом отменены, не надо считать изменениями.
В общем, в примере исполнения на Фиг.2, когда главный компьютер хочет разбудить дисплей 250, например, после своего собственного возврата из режима ожидания, главный компьютер 210 будет регулярно выдавать маркер 242, например, с расширенной VCP (с маркером) командой пробуждения видеопроцессора. Чтобы гарантировать, что дисплей увидит команду, как только он проснется настолько, что уже будет готов обрабатывать команды, посылку расширенного операционного кода VCP можно очень часто повторять, до тех пор, пока дисплей или опознает команду (которая может быть "Да" (могу восстановиться) или "Нет" (подтверждение невозможности восстановиться), или истечет время без прихода подтверждения. Отметим, что ограничение времени в первую очередь предназначено для дисплеев, которые не понимают набор команд VCP; другой тест можно применять для дисплеев, которые реагируют, по меньшей мере, на одну из других команд VCP. Так происходит потому, что отклик на другую VCP команду указывает на то, что дисплей 250 находится в состоянии готовности и реагирования на VCP команды, и главный компьютер может посылать команду "восстановить параметры" (с маркером) по меньшей мере еще один раз, в результате чего логика 252 дисплея или признает расширенную команду, или станет ясно, что он способен воспринимать обычные VCP команды, но не способен воспринимать расширенную команду.
Следует отметить, что другим путем ускорения процесса пробуждения дисплея является изменение способа, которым дисплей считывает видеосигналы от множества входов. Обычно дисплей считывает сигналы циклическим образом "по кругу", например некоторое время считывает со входа А, затем со входа В, затем со входа С, затем со входа D, затем опять с А и так далее. Этот процесс может требовать много времени, особенно если сигнал поступает на вход сразу после того, как этот вход проверялся, требуя тем самым полного цикла опроса всех других входов до возврата к этому входу и считывания сигнала. Улучшенный способ определить наличие сигнала - это заставить дисплей запомнить, какой вход использовался последним, и считывать с этого последнего входа более часто. Например, если вход В использовался последним, то шаблон опроса может быть таким: вход В, вход А, вход В, вход С, вход В, вход D в предположении, что этот вход, вероятно, будет использован снова. Более сложные шаблоны опроса могут быть применены для тех дисплеев, в которых есть тенденция часто использовать множество входов.
В общем, если маркеры совпадают, то сохраненные установки дисплея перегружаются в регистры дисплея для быстрого обеспечения видеовыхода. Отметим, что для дисплея нет ограничений только одного маркера и одного набора параметров, и вместо этого он может поддерживать параметры, соответствующие многочисленным маркерам, а затем использовать данный маркер, который совпадает, как индекс или искать среди параметров тот, что соответствует этому маркеру. Например, различные главные компьютеры могут быть соединены, и при этом один набор параметров быстро загружается для каждого из них на основании маркера каждого главного компьютера. В качестве другого примера рассмотрим ситуацию, когда один и тот же главный компьютер может иметь несколько различных пользователей, каждый из которых поэтому имеет соответствующий поддерживаемый маркер (например, по регистрации входа в систему), в соответствии с чем в зависимости от пользователя посылаются различные маркеры. Если дисплей поддерживает параметры для каждого маркера, то каждый маркер может соответствовать различным параметрам, которые автоматически и быстро подгружаются для данного пользователя, например различные значения разрешения требуются для различных пользователей из-за разницы в зрении или личных предпочтений. Параметры могут поддерживаться в дисплее как для различных пользователей, так и для различных главных компьютеров. Видеодрайвер 240 или 340 может поддерживать маркер и/или данные установочных параметров, даже если имеется только один соответствующий набор на машину.
Фиг.3 представляет собой альтернативную реализацию, в которой главный компьютер 310 содержит в кэш-памяти некоторые или все из параметров дисплея для дисплея 350. Такое исполнение позволяет дисплею 350 требовать меньше памяти и может обеспечить другие преимущества, такие как возможность хранить параметры для большого числа профилей. Наряду с требованием, чтобы по меньшей мере часть из параметров дисплея (например, сами параметры, их подгруппы и/или любые отличия от стандартного набора или текущего набора) были сообщены главному компьютеру, выгодность меньшей памяти на дисплее вместе с гибкостью возможностей поддерживать относительно неограниченное число параметров в системе памяти главного компьютера может быть полезной в некоторых сценариях использования. Следует отметить, что маркер может использоваться или графическим контроллером компьютера, или контроллером дисплея, или обоими, так что это выгодно, когда главный компьютер или его графическая подсистема находятся в режиме энергосбережения и/или подсоединены к множеству дисплеев.
Другие альтернативы включают посылку множества маркеров и прием ответного отклика относительно того, что есть соответствие для одного из них (если вообще оно есть). Также подходит модель типа опроса, в которой неудача из-за нераспознавания приводит к посылке нового маркера, и так до тех пор, пока или найдется соответствие, или больше не останется маркеров для попыток. В другом варианте возвращенный отклик с ошибкой может включать в себя и маркер, так что приемник может распознать, соответствует ли он ранее использованному.
Кроме того, другая альтернатива, когда маркер не опознан, для кода совпадения есть передача назад к компьютеру другого маркера или другого отклика/значения, указывающих, что некоторый набор параметров может быть немедленно применен дисплеем, если другая сторона согласна. Это может быть временным согласием на показ, по меньшей мере значительного выхода, до тех пор пока новый набор параметров не сможет быть обговорен.
Фиг.4 подводит итог примером логических действий для исполнения простого одиночного согласования маркеров, начиная с этапа 400, когда маркер был принят, например, в логике 252 дисплея. На этапе 402 проводится оценка, есть ли совпадение маркеров. Если нет, на этапе 418 происходит возврат "ошибка", и в этом упрощенном примере, где не рассматриваются другие маркеры или альтернативы, выполняется этап 420, где проводится стандартная инициализация, например полное выделение сигнала и коррекция параметров.
Если вместо этого логика согласования находит совпадение на этапе 402, то на этапе 404 извлекаются из памяти поддерживаемые параметры, а этап 406 применяет их, посылая их, например, на операционные регистры дисплея. Надо отметить, что параметры могут храниться в самом дисплее (как на Фиг.2) или на этапе 404 их можно получить из главного компьютера (как на Фиг.3).
Этап 408 выполняет тестирование на ошибку. Это может произойти по любой другой причине, такой как обнаружение того, что хотя маркеры и совпадают, что-то как-то изменилось и возникла проблема с сигналом, так что он больше не соответствует параметрам. Также сам пользователь может указать на ошибку, включая и выключая дисплей таким образом, что это означает, что что-то, вероятнее всего, не так. Это можно сделать посредством удержания сетевой кнопки дисплея нажатой, или нажатия кнопки перезагрузки (если она есть), или комбинацией клавиш на клавиатуре, что приводит к посылке команды перезагрузки на дисплей, или к любым другим способом указания на ошибку. Если это произошло, с этапа 408 переходят на этап 418, где делается возврат "ошибка" (который может отличаться от ошибки при не совпадении маркеров), а затем - на этап 420, где выполняется стандартная инициализация.
В очень вероятном случае, когда маркер совпадает и нет ошибки (этап 408), выполняется этап 410 с возвратом "успех". Этап 412 представляет собой включение дисплея с использованием загруженных параметров и с их применением для видеовыхода дисплея. Как легко понять, если избежать этапа 420, то быстрое восстановление выполнено.
Фиг.5 представляет собой упрощенный пример этапов с точки зрения системы главного компьютера, начиная с этапа 500, где маркер впервые послан, например, с расширенной командой VCP на восстановление параметров вместе с видеосигналами. На этапе 502 оценивается отклик/подтверждение, что указывает на благоприятный исход, и если это обнаружено, то программа заканчивается.
Если благоприятного исхода нет (по крайней мере, пока), выполняется этап 504 для поиска отклика на несоответствие, что является подтверждением. Если имеется несовпадение, на этапе 506 предпринимаются некоторые действия по обработке ошибок, например посылка другого маркера, договоренность о временных параметрах или какие-либо другие действия, как описано выше. Отметим, что в упрощенной логике действий дисплея на Фиг.4 нет соответствующих логических средств обработки ошибок, и поэтому этап 506 в такой комбинации не нужен.
Шаг 508 проверяет, откликнулся ли дисплей на другую команду VCP. Если это так, то система главного компьютера знает, что дисплей пробудился и действует и понимает команды VCP, хотя и необязательно понимает расширенную команду "восстановить установки". На этапе 510 повторно посылается маркер еще один дополнительный раз (например, команду восстановить параметры), и на этом процесс запуска заканчивается. Надо отметить, что вместо окончания процесса после некоторой задержки может быть выполнен тест на благоприятный исход против несовпадения, чтобы дать дисплею время на обработку команды, при условии, что имеются возможности обработки ошибок, например возможность применить другой маркер. Однако для исполнения простого одиночного согласования маркеров, как описано в отношении Фиг.4, это не является обязательным, поскольку дисплей или обработает команду/маркер, присланные на этапе 510, и восстановит параметры или нет.
Этап 512 представляет собой тест на временной интервал ожидания событий, который используется для дисплеев, не способных принять команду VCP. В общем, такие дисплеи будут игнорировать команды VCP, и со временем, когда в компьютере установленное время истечет, он перестанет посылать эти команды. Если время не истекло, то есть возможность такой ситуации, что дисплей способен управлять восстановлением параметров по расширенной команде VCP, но он еще не выделил видеосигналы или недостаточно пробудился для обработки команд VCP. Таким образом, как описано выше, и надо повторно посылать маркер. Некоторая (необязательная) задержка применяется для того, чтобы обеспечить такую ситуацию: команда и маркер часто и неоднократно посылаются для содействия быстрому отклику дисплея, но эти посылки не должны быть такими быстрыми, чтобы переполнить канал управления и он был перегружен.
Поскольку изобретение допускает различные модификации и альтернативные построения, некоторые иллюстрированные варианты его осуществления показаны на чертежах и были описаны выше в деталях. Однако надо понимать, что намерение ограничить изобретение раскрытыми конкретными примерами отсутствует, а наоборот, изобретение должно покрывать все модификации, альтернативные построения и эквиваленты, соответствующие по объему и по форме изобретению.