УПРАВЛЕНИЕ ПЕРЕХОДАМИ АДАПТИВНЫХ ЧАСТОТ ОТОБРАЖЕНИЯ ДЛЯ РАЗЛИЧНЫХ СЦЕНАРИЕВ ВОСПРОИЗВЕДЕНИЯ ВИДЕО Российский патент 2018 года по МПК G06F3/14 G06F9/44 G09G5/12 

Описание патента на изобретение RU2646318C2

УРОВЕНЬ ТЕХНИКИ

[0001] Компьютерные дисплеи, как правило, обновляют изображение на дисплее шестьдесят раз в секунду, т.е. с частотой обновления 60 герц (Гц). Некоторые компьютерные дисплеи предоставляют возможность задавать эту частоту в диапазоне возможных частот, таких как 48 Гц, 50 Гц, 59,94 Гц, 72 Гц и т.д.

[0002] Когда видео воспроизводится на компьютере, последовательность изображений, называемых кадрами, отображается на компьютерном дисплее с желаемой частотой воспроизведения или частотой кадров. Видео типично имеет частоту кадров 24 Гц, 25 Гц, 29,97 Гц и другие. Видеоизображение может получаться из фильмов, анимации, игр и т.п.

[0003] Для воспроизведения фильмов компьютерный дисплей предпочтительно устанавливается в частоту обновления, которая является целым кратным частоты кадров воспроизводимого видео. Иначе кадры повторяются неравномерно с тем, чтобы создавать среднюю частоту кадров, соответствующую частоте обновления дисплея. Например, когда воспроизводится видео с частотой кадров 24 Гц на дисплее с частотой обновления 60 Гц, некоторые кадры повторяются три раза, а другие кадры повторяются только два раза, приводя в результате к частоте кадров 60 Гц. Неравномерный повтор кадров является видимым и нежелательным. Также, дисплей с более высокой частотой обновления потребляет больше энергии.

[0004] Видеоигры имеют аналогичную проблему. Видеоигры совмещают визуализацию с тем, когда кадры могут быть отображены на экране, чтобы предотвращать разрывающиеся и запинающиеся артефакты. Вследствие этого совмещения, если игра способна визуализировать только со скоростью, которая меньше частоты обновления, тогда модуль визуализации для игры может быть реализован несколькими способами. В некоторых реализациях предоставляется возможность возникновения запинающихся и разрывающихся артефактов. Другой альтернативой является визуализация с нецелым кратным частоты кадров и согласование кадров с ближайшим кадром монитора. В других реализациях визуализация может быть стеснена следующим фактором частоты обновления. Например, если визуализация может происходить только при 55 кадрах в секунду, а частота обновления равна 60 кадрам в секунду, тогда игра осуществляет визуализацию при 30 кадрах в секунду. Этот шаблон продолжается: если визуализация может происходить только при менее чем 30 кадрах в секунду, тогда визуализация выполняется при 20 кадрах в секунду. Если игра может выполнять визуализацию при 55 кадрах в секунду, тогда, посредством изменения частоты обновления до 55 Гц с 60 Гц, игра может отображаться при 55 кадрах в секунду вместо 30 кадров в секунду, приводя в результате к более приятному визуальному восприятию.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0005] Эта сущность вводит избранные концепции в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Эта сущность не предназначена ни чтобы идентифицировать ключевые или неотъемлемые признаки заявленного предмета изучения, ни чтобы ограничивать рамки заявленного предмета изучения.

[0006] В то время как желательно предоставлять возможность приложению задавать частоту обновления дисплея, чтобы она была целым кратным частоты кадров видеоизображения, которое формирует приложение, если множество приложений на компьютере, каждое, представляют данные на компьютерном дисплее, тогда операционная система координирует регулировки частоты обновления приложениями. В частности, если операционная система компьютера управляет множеством многозадачных приложений, каждое из которых формирует данные для отображения, частота обновления для компьютерного дисплея не зависит исключительно от частоты кадров, желаемой одним приложением. Например, многие компьютерные приложения создают анимации в своих интерфейсах, предполагая, что частота дисплея равна 60 Гц, тогда как видеоизображение и игровая анимация могут иметь множество частот воспроизведения.

[0007] Чтобы управлять динамической регулировкой частоты обновления компьютерного дисплея, операционная система определяет по меньшей мере два режима воспроизведения: один или более настраиваемых (“custom”) режимов, которые могут быть выбраны приложениями, и стандартный режим, который является настройкой по умолчанию для системы, которая может ожидаться приложениями. Настраиваемый режим не ограничивается воспроизведением видео с частотой 48 Гц; настраиваемые режимы могут быть определены для игр, например 55 Гц, для приложений рисования, например 120 Гц, и другие частоты. Каждый настраиваемый режим, как правило, определяет частоту обновления, которая является целым кратным частоты кадров видеоизображения, формируемого приложением. Настраиваемый режим может обеспечивать частоту обновления, которая выше, чем в стандартном режиме, чтобы улучшать визуальное качество. Настраиваемый режим может обеспечивать частоту обновления, которая ниже, чем в стандартном режиме, чтобы улучшать как визуальное качество, так и потребление энергии. Такие режимы особенно полезны для питаемых от аккумулятора устройств, таких как переносные компьютеры, планшетные компьютеры, тонкие компьютеры, карманные компьютеры, мобильные телефоны и другие устройства. Для видеоигр такая реализация предоставляет возможность модулю визуализации в игре воспроизводить кадры со своей наивысшей согласующейся частотой, которой система может соответствовать.

[0008] Операционная система решает проблему выполнения гладкого перехода между настраиваемыми режимами и стандартным режимом в ответ на различные события, возникающие в компьютере.

[0009] В целом, операционная система указывает настраиваемый режим в ответ на запрос от приложения. Операционная система предоставляет интерфейс прикладного программирования, который предоставляет возможность приложению выполнять такой запрос, на который операционная система отвечает информацией, указывающей, может ли приложение использовать настраиваемый режим. Если разрешается использование настраиваемого режима, тогда приложение формирует видеоданные в буфере для отображения на основе настраиваемого режима.

[0010] Переход назад из настраиваемого режима в стандартный режим может происходить в ответ на множество случаев. Переход может быть инициирован приложением или может быть в ответ на события, которые являются асинхронными с приложением. Однако, видеоданные могут уже быть в буфере для отображения, сформированном посредством приложения на основе настраиваемого режима.

[0011] Чтобы решать эту проблему, операционная система пользуется преимуществом буферизации, которая используется, чтобы воспроизводить видео. Когда видеоданные помещаются в буфер, каждый кадр ассоциируется с данными о времени, которые указывают продолжительность, в течение которой каждый кадр отображается с помощью выбранного настраиваемого режима или стандартного режима. Когда происходит переход в стандартный режим, ассоциированные данные о времени используются, чтобы воспроизводить видеоданные, уже находящиеся в буфере с частотой обновления стандартного режима. Приложение уведомляется системой о переходе назад в стандартный режим. После того как приложение реагирует на такое уведомление, приложение начинает записывать данные в буфер с информацией о том, что дисплей системы был переведен обратно в стандартный режим.

[0012] Соответственно, в одном аспекте, принимается запрос от приложения, чтобы представлять кадр с настраиваемой частотой обновления. Кадр буферизуется. Данные о времени для отображения кадра с настраиваемой частотой обновления и стандартной частотой обновления, отличной от настраиваемой частоты, сохраняются. Буферизованный кадр отображается на дисплее согласно данным о времени. Буферизованный кадр может быть отображен на дисплее со стандартной частотой обновления или с настраиваемой частотой обновления с помощью данных о времени для фактически используемой частоты обновления.

[0013] В одной реализации запрос принимается от приложения на предмет доступных частот обновления, при этом настраиваемая частота обновления является одной из доступных частот обновления. Доступные частоты обновления предоставляются приложению в ответ на запрос. В одной реализации определяется, разрешило ли приложение использование настраиваемой частоты обновления. Приложение снабжается информацией, указывающей, разрешено ли приложению использование настраиваемой частоты обновления. Если приложению не разрешено использование настраиваемой частоты обновления, тогда кадры, представляемые приложением, отображаются со стандартной частотой обновления, несмотря на то, представляются ли кадры с использованием настраиваемой частоты обновления. Операционная система для компьютера может предоставлять информацию, определяющую доступные частоты обновления в формате, который согласуется между устройствами отображения. Операционная система также может разрешать приложению использовать настраиваемую частоту обновления, если другие приложения не зависят от стандартной частоты обновления.

[0014] Эти различные операции могут быть выполнены операционной системой в ответ на множество приложений, работающих на компьютере под управлением операционной системы. Например, операционная система может вычислять данные о времени для стандартной частоты обновления в ответ на приложение, представляющее кадр с данными о времени для воспроизведения с настраиваемой частотой обновления.

[0015] В различных аспектах такие методики могут быть осуществлены как компьютерно-реализуемый процесс, компьютер и компьютерный программный продукт и могут быть реализованы с помощью операционной системы компьютера.

[0016] В последующем описании ссылка выполняется на сопровождающие чертежи, которые формируют его часть и на которых показаны, посредством иллюстрации, конкретные примерные реализации этой технологии. Понятно, что другие варианты осуществления могут быть использованы, и структурные изменения могут быть сделаны без отступления от рамок настоящего изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0017] Фиг. 1 - это блок-схема потока данных примерной системы, в которой динамическая регулировка частот обновления может быть реализована.

[0018] Фиг. 2 - это блок-схема потока данных примерной реализации операционной системы, которая поддерживает такую динамическую регулировку частоты обновления дисплея.

[0019] Фиг. 3 - это примерная реализация примера данных о времени, поддерживаемых операционной системой.

[0020] Фиг. 4 - это дополнительный пример данных о времени, поддерживаемых операционной системой.

[0021] Фиг. 5 - это блок-схема последовательности операций примерной реализации изменения частоты обновления на настраиваемый режим.

[0022] Фиг. 6 - это блок-схема последовательности операций примерной реализации изменения частоты обновления на стандартный режим из настраиваемого режима.

[0023] Фиг. 7 - это блок-схема примерного компьютера, с помощью которого компоненты такой системы могут быть реализованы.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0024] Последующий раздел предоставляет примерное операционное окружение, которое поддерживает адаптивные частоты отображения для различных сценариев воспроизведения видео.

[0025] Обращаясь к фиг. 1, компьютер 100 включает в себя операционную систему 102, которая управляет доступом приложений 104 и 106 к ресурсам компьютера, таким как дисплей 108, и другим ресурсам компьютера, таким как описанные ниже в связи с фиг. 5. Дисплей имеет ассоциированные параметры 110, указывающие частоты обновления, которые он может реализовать, которые доступны, по меньшей мере, операционной системе 102. Дисплей 108 считывает данные из одного или более буферов 112, управляемых посредством операционной системы, в которые приложения 104 и 106 предоставляют данные 114 и 116 для отображения соответственно. Операционная система, в целом, управляет тем, как данные 114 и 116 для отображения от множества приложений объединяются и сохраняются в буферах 112 для отображения.

[0026] Частоты обновления, поддерживаемые дисплеем 108, используются, чтобы определять стандартный режим, который является частотой обновления по умолчанию, которую операционная система должна поддерживать, и один или более настраиваемых режимов, в которых другие частоты обновления доступны и могут быть выбраны приложениями.

[0027] Чтобы удовлетворять приложения, которые могут задавать настраиваемые режимы, операционная система предоставляет интерфейс 120 прикладного программирования. Посредством интерфейса прикладного программирования приложения могут предоставлять запрос 122 информации или запрос на то, чтобы операционная система выполняла операцию, и на который операционная система предоставляет ответ 128 (только приложение 104 показано на фиг. 1 в качестве имеющего этот обмен данными ради простоты). Например, приложение может запрашивать доступные частоты обновления, на что операционная система реагирует доступными частотами обновления.

[0028] Также, приложение может запрашивать разрешение использовать настраиваемый режим, на что операционная система отвечает информацией о способности приложения использовать настраиваемый режим. Как описано более подробно ниже в связи с фиг. 2, разрешено ли приложению использовать настраиваемый режим, зависит от того, влияет ли изменение в частоте обновления на настраиваемый режим на другие приложения, которые могут зависеть от частоты обновления стандартного режима. Множество условий могут быть установлены для разрешения приложению использовать настраиваемый режим. Например, для воспроизведения видео, приложению может быть предоставлена возможность использовать настраиваемый режим, если используется полноэкранный режим воспроизведения.

[0029] Когда приложение предоставляет данные 114, 116 отображения для отображения, приложение также указывает режим 124, 126, в котором данные для отображения должны быть использованы. Приложение может указывать настраиваемый режим, если разрешено для этого режима в это время; иначе используется стандартный режим.

[0030] После того как приложение предоставило данные отображения для отображения в настраиваемом режиме, возможно, что могут происходить события, после которых операционная система переключает дисплей назад в стандартный режим. Чтобы правильно отображать данные, которые уже находятся в видеобуфере, приложение указывает данные о времени для каждого кадра, указывающие продолжительность воспроизведения для кадра в текущем выбранном настраиваемом режиме; операционная система вычисляет данные о времени для каждого кадра, которые указывают продолжительность воспроизведения для кадра в стандартном режиме. Наличие доступных данных о времени для стандартного режима предоставляет возможность происходить плавному переходу от настраиваемого режима назад к стандартному режиму. Вычисление и использование таких данных о времени описывается более подробно ниже.

[0031] Принимая во внимание этот контекст, примерная реализация будет описана более подробно в связи с фиг. 2-5.

[0032] Фиг. 2 - это блок-схема потока данных примерной реализации операционной системы, которая поддерживает такую динамическую регулировку частоты обновления дисплея.

[0033] Операционная система хранит параметры 200 (например, параметры 110 на фиг. 1), которые определяют, для данного дисплея, частоты обновления, поддерживаемые дисплеем, и то, способна ли частота обновления дисплея чисто переключаться между кадрами. Такая информация предоставляется для каждого вида дисплея, с которым компьютер может быть соединен, поскольку каждый вид дисплея, как правило, отличается. Эта информация о дисплее, т.е. параметры 200, используется блоком 202 вычисления частоты обновления, чтобы определять доступные частоты 204 обновления, которые могут быть предоставлены приложениям в качестве настраиваемого режима. В целом, операционная система гарантирует, что доступные частоты обновления представляются в согласующемся формате приложениям, несмотря на форму параметров 200, предусмотренных для данного дисплея. То, обеспечивает ли дисплей чистые переходы, когда переключение частот обновления может быть предусмотрено производителем дисплея, определяется экспериментально или логически выводится из информации, предоставленной о дисплее, такой как идентификаторы набора микросхем, используемых в дисплее.

[0034] В одной реализации операционная система сообщает поддерживаемые частоты обновления приложениям в единицах продолжительности. Примерной единицей времени является 100 наносекунд. Например, 60 Гц может быть представлено посредством 166667, т.е. 16666700 наносекунд, а 48 Гц может быть представлено посредством 208333, т.е. 20833300 наносекунд. В примерной реализации интерфейса прикладного программирования приложение предоставляет запрос, указывающий желаемую частоту обновления посредством точного определения продолжительности. В ответ операционная система может предоставлять ближайшие продолжительности, доступные выше и ниже запрошенной продолжительности, предоставляя возможность приложению выбирать продолжительность среди доступных продолжительностей, даже если запрошенная продолжительность является недоступной.

[0035] Доступные частоты 204 обновления и указание режима 206 воспроизведения для кадра используются тактовым генератором 208, чтобы создавать данные 210 о времени для каждого кадра, представленного приложением для воспроизведения. Пример таких данных о времени описывается более подробно ниже в связи с фиг. 3. Данные о времени используются внутренним образом операционной системой, чтобы управлять воспроизведением видео во время перехода из настраиваемого режима в стандартный режим, как описано ниже.

[0036] Состояние 212 приложения и доступные частоты 204 обновления вводятся в монитор 216 состояния, который предоставляет санкционирующие данные 214, указывающие, разрешено ли приложению использовать доступную частоту обновления в качестве настраиваемого режима. Разрешающие данные 214 и доступные частоты 204 обновления могут быть предоставлены приложениям через API операционной системы. В одной реализации монитор состояния определяет, отображает ли приложение в полноэкранном режиме (что предоставляет возможность или включает настраиваемый режим), и инициировало ли какое-либо другое приложение отображение какой-либо информации (что запрещает или отключает настраиваемый режим).

[0037] Обращаясь теперь к фиг. 3, примерная реализация данных о времени, которые формируются посредством операционной системы, будет сейчас описана.

[0038] Таблица 300 на фиг. 3 иллюстрирует различные данные (в качестве примера), предоставленные для каждого кадра, например 302, представленного приложением операционной системе для отображения. В этом примере настраиваемая частота равна 48 Гц, а стандартная частота равна 60 Гц, и отображаемый контент является видео с изображениями с частотой 24 Гц. При представлении кадра операционной системе приложение предоставляет, как указано в столбцах 304 и 306, интервал, указывающий число раз, которое кадр должен быть отображен, и флаг частоты, указывающий, должна ли быть использована настраиваемая частота кадра. Операционная система, в свою очередь, формирует и сохраняет данные о времени, включающие в себя стандартный интервал 308, указывающий число раз, которое кадр должен быть отображен, если используется стандартная частота обновления, настраиваемый интервал 310, предоставленный приложением, и настраиваемую продолжительность 312, которая является продолжительностью времени, в течение которой кадр отображается при настраиваемой частоте обновления. Во время воспроизведения с настраиваемой частотой обновления операционная система отображает каждый кадр с назначенным интервалом 310 в течение назначенной продолжительности 312.

[0039] Обращаясь теперь к фиг. 4, таблица 400 иллюстрирует, в качестве примера, что случается, когда переход назад к стандартной частоте происходит после некоторого события. Этот пример иллюстрирует, в частности, когда переход происходит (в блоке 430) между отображением первого экземпляра кадра 2 и второго экземпляра кадра 2. В дополнение к столбцам, показанным на фиг. 3 (но обозначенным на фиг. 4 как 404, 406, 408, 410 и 412), фиг. 4 показывает, в иллюстративных целях, экранное время для кадра в столбце 414. В этом примере, после перехода частота обновления задается в стандартный режим, и стандартный интервал используется для каждого кадра с тем, чтобы обеспечивать преобразование 3:2, чтобы формировать кадры с частотой 60 Гц из материала с частотой 24 Гц. В частности, второй экземпляр кадра 2 повторяется. Каждый экземпляр кадра 3 представляется один раз, тогда как второй экземпляр кадра 4 повторяется.

[0040] Чтобы вычислять стандартный интервал, в одной реализации, операционная система может выполнять следующее вычисление. Аккумулятор инициализируется в ноль всякий раз, когда приложение представляет кадр с помощью настраиваемой продолжительности после последнего представления кадра с помощью стандартной продолжительности. Текущая настраиваемая продолжительность добавляется в аккумулятор. Продолжительность стандартной частоты обновления вычитается, и один кадр добавляется к стандартному интервалу. Если остаток в аккумуляторе больше порогового значения, тогда продолжительность стандартных частот обновления вычитается снова, и другой кадр добавляется к стандартному интервалу. Этот процесс повторяется до тех пор, пока не встретится пороговое значение. Остаток в аккумуляторе является накопленной ошибкой между желаемым временем произведения и фактическим временем произведения последнего кадра. Такое вычисление выполняется для каждого кадра, который приложение добавляет в буфер в настраиваемом режиме, с настраиваемой продолжительностью, добавляемой к остатку (накопленной ошибке), который в настоящее время хранится в аккумуляторе.

[0041] В конечном счете, приложение прекращает представлять кадры, помеченные как настраиваемый режим, и начинает представлять кадры в стандартном режиме, как указано в блоке 432. После этого момента времени операционная система представляет принятые кадры со стандартной частотой обновления.

[0042] Обращаясь к фиг. 5 и 6, блок-схема последовательности операций, описывающая работу компьютера в примерной реализации, в которой операционная система вычисляет данные о времени для стандартного режима, будет теперь описана.

[0043] Когда приложение имеет контент, который может быть представлен с настраиваемой частотой обновления, приложение запрашивает 500 у операционной системы доступные частоты обновления. Операционная система, в свою очередь, предоставляет 502 доступные частоты обновления.

[0044] Если одна из доступных частот обновления выбирается, например, приложением или пользователем, приложение затем проверяет 504 разрешение использовать выбранную частоту обновления. В зависимости от реализации такая проверка может включать в себя отправку запроса операционной системе или опрос информации о состоянии, заданном операционной системой, или прием данных от операционной системы, указывающих, что такая частота обновления может быть использована. Операционная система определяет 506, разрешено ли приложению использовать настраиваемую частоту. Определение может быть выполнено в ответ на запрос от приложения, в ответ на предоставление приложением кадра, обозначенного флагом для использования с настраиваемой частотой, или на периодической основе в качестве обновления информации о состоянии для приложения, или т.п.

[0045] После того как приложение разрешает использовать настраиваемую частоту обновления, приложение начинает отправлять 508 кадры данных, обозначенные флагом для воспроизведения с настраиваемой частотой обновления. Когда такие кадры буферизуются, операционная система вычисляет 510 данные о времени для каждого буферизованного кадра для отображения кадра в стандартном режиме. Данные о времени для настраиваемого режима могут быть предоставлены приложением, или извлечены операционной системой, или иначе сделаны доступными операционной системе. Данные о времени как для стандартного режима, так и для настраиваемого режима сохраняются. Этапы предоставления кадров и вычисления данных о времени повторяются, когда приложение продолжает формировать кадры, и операционная система буферизует сформированные кадры. Частота обновления изменяется 512 операционной системой, когда буферизованный кадр, обозначенный флагом для использования в настраиваемом режиме, потребляется операционной системой для отображения. Частота обновления остается в настраиваемом режиме до тех пор, пока воспроизведение с настраиваемой частотой обновления не прекратится по некоторой причине.

[0046] Обращаясь теперь к фиг. 6, операционная система принимает 600 информацию о случае, который произошел и который приводит в результате к завершению настраиваемого режима и переходу назад к стандартному режиму для отображения. Если приложение само прекращает настраиваемый режим, тогда операционная система просто изменяет частоту обновления и обновляет режим воспроизведения, как указано в блоке 602. Информация о состоянии для приложения, разрешающего использовать настраиваемый режим, может также быть изменена. Если переход к стандартному режиму происходит по какой-либо причине, отличной от приложения, тогда возможно, что приложение продолжает представлять кадры с настраиваемой частотой обновления. Соответственно, операционная система начинает 604 отображать буферизованные кадры с помощью данных о времени для стандартной частоты обновления. В конечном счете, приложение начинает представлять 606 кадры со стандартной частотой обновления. В это время, операционная система может прекращать вычислять данные о времени для отображения в стандартном режиме, поскольку приложение больше не предоставляет кадры с настраиваемой частотой.

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

[0048] Фиг. 7 иллюстрирует пример подходящего компьютера. Это только один пример подходящего компьютера и он не предназначен предполагать какое-либо ограничение относительно рамок использования или функциональности такого компьютера.

[0049] Со ссылкой на фиг. 7, примерный компьютер 700, в базовой конфигурации, включает в себя по меньшей мере один процессор 702 и память 704. Компьютер может включать в себя множество процессоров и/или дополнительных сопроцессоров, таких как графический процессор 720. В зависимости от точной конфигурации и типа компьютера память 704 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или некоторой комбинацией обеих. Эта конфигурация иллюстрирована на фиг. 7 пунктирной линией 706.

[0050] Дополнительно, компьютер 700 может также иметь дополнительные признаки/функциональность. Например, компьютер 700 может также включать в себя дополнительное запоминающее устройство (съемное и/или несъемное), включающее в себя, но не только, магнитные или оптические диски или ленту. Такое дополнительное запоминающее устройство иллюстрировано на фиг.7 съемным запоминающим устройством 708 и несъемным запоминающим устройством 710. Компьютерные носители хранения данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как компьютерные программные инструкции, структуры данных, программные модули или другие данные. Память 704, съемное запоминающее устройство 708 и несъемное запоминающее устройство 710 - все являются примерами компьютерных носителей для хранения данных. Компьютерные носители хранения данных включают в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые многофункциональные диски (DVD) или другие оптические носители, магнитные кассеты, магнитную ленту, носитель на магнитном диске или другие магнитные устройства хранения, или любой другой носитель, который можно использовать для хранения желаемой информации и к которому можно осуществлять доступ посредством компьютера 700. Любые такие компьютерные носители хранения данных могут быть частью компьютера 700.

[0051] Компьютер 700 может также содержать соединение(я) 712 обмена данными, которые предоставляют возможность устройству связываться с другими устройствами через среду передачи данных. Среда передачи данных типично переносит компьютерные программные инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как несущее колебание или другой механизм распространения, и включает в себя любую среду для доставки информации. Термин "модулированный информационный сигнал" означает сигнал, который имеет одну или более своих характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале, тем самым, изменяя конфигурацию или состояние устройства приема сигнала. В качестве примера, но не в качестве ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая среда, RF, инфракрасное излучение и другая беспроводная среда. Соединения 712 обмена данными являются устройствами, которые взаимодействуют со средой передачи данных, чтобы передавать данные по и принимать данные из среды передачи данных, такими как сетевой интерфейс.

[0052] Компьютер 700 может иметь различные устройство(а) 714 ввода, такое как клавиатура, мышь, перо, камера, устройство сенсорного ввода и т.д. Устройство(а) 716 вывода, такое как дисплей, динамики, принтер и т.п., может также быть включено. Все эти устройства хорошо известны в данной области техники и не обязательно должны подробно описываться в данном документе. Различные устройства ввода и вывода могут реализовывать естественный пользовательский интерфейс (NUI), который является любой технологией интерфейса, которая предоставляет возможность пользователю взаимодействовать с устройством "естественным" образом, свободным от искусственных ограничений, накладываемых устройствами ввода, такими как мыши, клавиатуры, пульты дистанционного управления и т.п.

[0053] Примеры способов NUI включают в себя способы, полагающиеся на распознавание речи, распознавание прикосновения и стилуса, распознавание жестов как на экране, так и рядом с экраном, жестов в воздухе, отслеживание головы и глаз, голос и речь, зрение, касание, жесты и искусственный интеллект, и могут включать в себя чувствительные к касаниям дисплеи, распознавание голоса и речи, понимание намерения и цели, обнаружение жеста движения с помощью камер глубины (таких как системы стереоскопических камер, системы инфракрасных камер и другие системы камер и их комбинации), обнаружение жеста движения с помощью акселерометров или гироскопов, распознавание лиц, трехмерные дисплеи, отслеживание головы, глаз и взгляда, иммерсивные системы дополненной реальности и виртуальной реальности, все из которых предоставляют более естественный интерфейс, а также технологии для восприятия активности мозга с помощью воспринимающих электромагнитное поле электродов (EEG и связанные способы).

[0054] Каждый компонент этой системы, которая работает на компьютере, как правило, реализуется посредством программного обеспечения, такого как одна или более компьютерных программ, которые включают в себя компьютерно-исполняемые инструкции и/или компьютерно-интерпретируемые инструкции, такие как программные модули, обрабатываемые компьютером. В целом, программные модули включают в себя алгоритмы, программы, объекты, компоненты, структуры данных и т.д., которые, когда обрабатываются процессором, инструктируют процессору выполнять конкретные задачи или реализовывать конкретные абстрактные типы данных. Эта компьютерная система может быть применена на практике в распределенных вычислительных окружениях, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенном вычислительном окружении программные модули могут быть расположены в носителях хранения и локального, и удаленного компьютера, включающих в себя запоминающие устройства хранения.

[0055] Альтернативно или в дополнение, функциональность, описанная в данном документе, может быть выполнена, по меньшей мере, частично, посредством одного или более аппаратных логических компонентов. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя программируемые пользователем вентильные матрицы (FPGA), программно-зависимые интегральные схемы (ASIC), программно-зависимые стандартные продукты (ASSP), системы в виде системы на кристалле (SOC), сложные программируемые логические устройства (CPLD) и т.д.

[0056] Термины "изделие промышленного производства", "процесс", "машина" и "химическое соединение" в преамбулах прилагаемой формулы изобретения предназначены, чтобы ограничивать формулу изобретения предметом изучения, считающимся подпадающим под рамки патентуемого предмета изучения, определенного с помощью этих терминов в 35 U.S.C. §101.

[0057] Любой или все из вышеупомянутых альтернативных вариантов осуществления, описанных в данном документе, могут быть использованы в любой желаемой комбинации, чтобы формировать дополнительные гибридные варианты осуществления. Должно быть понятно, что предмет изучения, определенный в прилагаемой формуле изобретения, необязательно ограничивается конкретными реализациями, описанными выше. Конкретные реализации, описанные выше, раскрываются только в качестве примеров.

Похожие патенты RU2646318C2

название год авторы номер документа
СИСТЕМА И СПОСОБ ДЛЯ ОСУЩЕСТВЛЕНИЯ УПРАВЛЕНИЯ УДАЛЕННЫМИ КОМПЬЮТЕРАМИ 2007
  • Артур Киран
  • Ворд Марк
  • Хэннан Дермот
RU2439670C2
ОБРАБОТКА ИНФОРМАЦИИ, ПРИНИМАЕМОЙ ДОПОЛНИТЕЛЬНЫМ ВЫЧИСЛИТЕЛЬНЫМ УСТРОЙСТВОМ 2005
  • Фуллер Эндрю Дж.
  • Шоппа Кристофер А.
  • Стиб Курт А.
  • Перес Хуан
  • Ротен Мэттью П.
  • Ван Донген Нильс
  • Охта Сейя
RU2377635C2
РЕГУЛИРОВКА ЗАДЕРЖКИ УСТРОЙСТВ ПОЛЬЗОВАТЕЛЬСКОГО ВВОДА 2020
  • Макаллен, Кристофер Майкл
  • Брондер, Мэттью
  • Гуссен, Джеймс Эндрю
  • Тектор, Кристофер Джон
  • Калаш, Хамзе
RU2815331C2
НОСИТЕЛЬ ЗАПИСИ, УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, ИНТЕГРАЛЬНАЯ СХЕМА, СПОСОБ ВОСПРОИЗВЕДЕНИЯ И ПРОГРАММА 2010
  • Лейчсенринг Джермано
  • Ото Хидетака
RU2533057C2
КОМПОНУЮЩИЙ АДМИНИСТРАТОР ОКОН РАБОЧЕГО СТОЛА 2004
  • Хэнгги Скотт
  • Тэн Виктор
  • Бермудез Джерардо
  • Сведберг Грегори Д.
  • Лигамери Марк Р.
  • Меландер Грег С.
RU2360284C2
МИНИ-ПРИЛОЖЕНИЕ ВСПОМОГАТЕЛЬНОГО ДИСПЛЕЯ ДЛЯ РАСПРЕДЕЛЯЕМОГО СОДЕРЖИМОГО 2007
  • Линь Юй-Куань
  • Виджи Срирам
  • Фуллер Эндрю Дж.
  • Ротен Мэттью П.
  • Д'Анджело Алекс З.С.
RU2433452C2
КОНТЕКСТНАЯ ПЛАТФОРМА И ПРИЛОЖЕНИЯ ВСПОМОГАТЕЛЬНОГО ДИСПЛЕЯ 2005
  • Фуллер Эндрю Дж.
  • Шоппа Кристофер А.
  • Стиб Курт А.
  • Перес Хуан
  • Ротен Мэтью П.
  • Ван Донген Нильс
RU2393532C2
СИСТЕМА И СПОСОБ ДЛЯ УНИФИЦИРОВАННОЙ МАШИНЫ КОМПОНОВКИ В СИСТЕМЕ ОБРАБОТКИ ГРАФИКИ 2004
  • Сведберг Грегори Д.
  • Дэвид Пол
  • Арсов Андрей
  • Кертис Доналд Б.
  • Бланко Леонардо Э.
RU2355031C2
ДИНАМИЧЕСКАЯ АРХИТЕКТУРА ОКОН 2004
  • Хэнгги Скотт
  • Тэн Виктор
  • Бермудез Джерардо
  • Сведберг Грегори Д.
RU2377663C2
ДВОЙНАЯ БУФЕРИЗАЦИЯ В РЕЖИМЕ ТРАНЗАКЦИИ ДЛЯ ВИЗУАЛИЗАЦИИ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ 2009
  • Заика Игорь
  • Фомичев Эндрю
RU2519034C2

Иллюстрации к изобретению RU 2 646 318 C2

Реферат патента 2018 года УПРАВЛЕНИЕ ПЕРЕХОДАМИ АДАПТИВНЫХ ЧАСТОТ ОТОБРАЖЕНИЯ ДЛЯ РАЗЛИЧНЫХ СЦЕНАРИЕВ ВОСПРОИЗВЕДЕНИЯ ВИДЕО

Изобретение относится к области воспроизведения кадров на дисплее. Технический результат - обеспечение улучшенного воспроизведения кадров за счет регулировки частот обновления дисплея. Процесс регулировки частот обновления дисплея выполняется процессором в компьютере, имеющем несколько приложений, и содержит этапы, на которых: принимают запрос от приложения из нескольких приложений, чтобы представлять кадр с настраиваемой частотой обновления; буферизуют кадр; сохраняют данные о времени для отображения кадра с настраиваемой частотой обновления и стандартной частотой обновления, отличной от настраиваемой частоты обновления; принимают запрос от одного из приложений на предмет доступных частот обновления, при этом настраиваемая частота обновления является одной из доступных частот обновления; предоставляют доступные частоты обновления приложению в ответ на запрос; и отображают буферизованный кадр на дисплее согласно данным о времени, при этом операционная система компьютера координирует регулировки в частотах обновления приложениями. 3 н. и 12 з.п. ф-лы, 7 ил.

Формула изобретения RU 2 646 318 C2

1. Компьютерно-реализуемый процесс для регулировки частот обновления дисплея, причем процесс выполняется процессором в компьютере, имеющем несколько приложений (104, 106), содержащий этапы, на которых:

принимают запрос от приложения из нескольких приложений (104, 106), чтобы представлять кадр с настраиваемой частотой обновления;

буферизуют кадр;

сохраняют данные о времени для отображения кадра с настраиваемой частотой обновления и стандартной частотой обновления, отличной от настраиваемой частоты обновления;

принимают (500) запрос от одного из приложений (104, 106) на предмет доступных частот обновления, при этом настраиваемая частота обновления является одной из доступных частот обновления;

предоставляют (502) доступные частоты обновления приложению в ответ на запрос; и

отображают буферизованный кадр на дисплее согласно данным о времени, при этом операционная система (102) компьютера координирует регулировки в частотах обновления приложениями (104, 106).

2. Компьютерно-реализуемый процесс по п. 1, дополнительно содержащий этапы, на которых: отображают (604) буферизованный кадр на дисплее со стандартной частотой обновления.

3. Компьютерно-реализуемый процесс по п. 1 или 2, дополнительно содержащий этапы, на которых: определяют (506), одобрено ли одно из приложений (104, 106), чтобы использовать настраиваемую частоту обновления; и

предоставляют информацию для приложения (104, 106), указывающую, одобрено ли приложение (104, 106), чтобы использовать настраиваемую частоту обновления.

4. Компьютерно-реализуемый процесс по п. 3, дополнительно содержащий этапы, на которых:

если приложение не одобрено, чтобы использовать настраиваемую частоту обновления, тогда отображают кадры, представленные приложением, со стандартной частотой обновления.

5. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом операционная система (102) предоставляет информацию, определяющую доступные частоты обновления в формате, который согласуется между устройствами (108) отображения.

6. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом операционная система (102) одобряет приложение (104, 106) для использования настраиваемой частоты обновления, если другие приложения (104, 106) не зависят от стандартной частоты обновления.

7. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом операционная система (102) управляет динамической регулировкой частот обновления, определяя по меньшей мере два режима воспроизведения, включающих в себя один или более настраиваемых режимов, которые могут быть выбраны приложениями (104, 106), и стандартный режим в качестве настройки по умолчанию, при этом настраиваемый режим содержит воспроизведение с одной частотой из 48 Гц, 55 Гц и 120 Гц.

8. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом операционная система (102) предоставляет доступные частоты обновления приложению (104, 106) в значениях продолжительности воспроизведения кадра.

9. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом запрос от приложения (104, 106) на предмет доступных частот обновления указывает желаемую частоту обновления посредством точного указания продолжительности воспроизведения кадра; и в ответ операционная система (102) предоставляет ближайшую продолжительность, доступную выше и ниже запрашиваемой продолжительности, при этом приложение (104, 106) выбирает продолжительность среди доступных продолжительностей, если запрашиваемая продолжительность недоступна.

10. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом монитор состояния определяет, отображает ли приложение в полноэкранном режиме, который предоставляет возможность или разрешает настраиваемый режим, и инициировало ли какое-либо другое приложение отображение какой-либо информации, которая запрещает или отключает настраиваемый режим.

11. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, при этом во время перехода к стандартному режиму, инициированного по какой-либо причине, отличной от приложения, если приложение продолжает представлять кадры с настраиваемой частотой обновления, операционная система (102) вычисляет (510) данные о времени для отображения в стандартном режиме и отображает буферизованные кадры с использованием данных о времени для стандартной частоты обновления.

12. Компьютерно-реализуемый процесс по любому из пп. 1, 2, 4, содержащий этапы, на которых выполняют переход от настраиваемой частоты обновления к стандартной частоте обновления, при этом для вычисления стандартного интервала операционная система выполняет действия, включающие в себя:

инициализацию накопителя в ноль всякий раз, когда приложение представляет кадр с использованием настраиваемой продолжительности после последнего представления кадра с использованием стандартной продолжительности,

добавление текущей настраиваемой продолжительности в накопитель,

вычитание продолжительности стандартной частоты обновления,

добавление одного кадра к стандартному интервалу, если остаток в накопителе больше порогового значения,

вычитание продолжительности стандартных частот обновления снова и добавление другого кадра к стандартному интервалу; и

повторение действий до тех пор, пока предварительно определенное пороговое значение не будет удовлетворено, при этом остаток в накопителе является накопленной ошибкой между желаемым временем воспроизведения и фактическим временем воспроизведения последнего кадра.

13. Компьютерный носитель информации, хранящий компьютерные программные инструкции, которые, когда обрабатываются посредством обрабатывающего устройства, инструктируют обрабатывающему устройству выполнять процесс, содержащий этапы, на которых:

принимают запрос от приложения, чтобы представлять кадр с настраиваемой частотой обновления;

буферизуют кадр;

сохраняют данные о времени для отображения кадра с настраиваемой частотой обновления и стандартной частотой обновления, отличной от настраиваемой частоты обновления;

отображают буферизованный кадр на дисплее (108) согласно данным о времени; и

координируют регулировки в частотах обновления несколькими приложениями (104, 106) на вычислительном устройстве посредством операционной системы (102) обрабатывающего устройства.

14. Компьютер, регулирующий частоты обновления дисплея, причем компьютер содержит:

память (704),

процессор (702, 720), соединенный с памятью (704) и запрограммированный, чтобы реализовывать операционную систему (102), сконфигурированную, чтобы:

принимать запрос от приложения (104, 106), чтобы представлять кадр с настраиваемой частотой обновления;

буферизовать кадр;

сохранять данные о времени для отображения кадра с настраиваемой частотой обновления и стандартной частотой обновления, отличной от настраиваемой частоты обновления;

принимать запрос от приложения (104, 106) на предмет доступных частот обновления, при этом настраиваемая частота обновления является одной из доступных частот обновления;

предоставлять доступные частоты обновления приложению (104, 106) в ответ на запрос;

отображать буферизованный кадр на дисплее (108) согласно сохраненным данным о времени; и

координировать регулировки в частотах обновления несколькими приложениями (104, 106) на вычислительном устройстве посредством операционной системы (102) компьютера.

15. Компьютер по п. 14, при этом операционная система (102) дополнительно сконфигурирована, чтобы:

отображать буферизованный кадр на дисплее (108) со стандартной частотой обновления.

Документы, цитированные в отчете о поиске Патент 2018 года RU2646318C2

Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
US 8194065 B1, 05.06.2012
Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
US 8334857 B1, 18.12.2012
ПРОТОКОЛ СВЯЗИ ДЛЯ СИНХРОНИЗАЦИИ АНИМАЦИОННЫХ СИСТЕМ 2004
  • Бланко Леонард
  • Байоура Андрей
  • Кэлкинс Мэтт
  • Дейвид Пол
RU2363050C2

RU 2 646 318 C2

Авторы

Вуд Дэниел

Александров Влад

Сюй Чжиган

Макмаллен Макс

Эндрюс Маркус

Сорбо Беннетт

Байоура Андрей

Леонов Михаил

Даты

2018-03-02Публикация

2013-09-20Подача