Системы и способы рендеринга с адаптируемым качеством под управлением кодировщика

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

 

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

[1] Согласно настоящей заявке испрашивается приоритет в соответствии со следующими предварительными заявками на выдачу патента США: № 62/488526, поданной 21 апреля 2017 г., и № 62/653056, поданной 5 апреля 2018 г.

Предшествующий уровень техники настоящего изобретения

[2] В удаленных играх, в которых игра на стороне сервера управляется игроком на стороне клиента, предпринимались попытки кодировать выходной видеосигнал от движка трехмерной (3D) графики в режиме реального времени с использованием существующих или специально настроенных кодеков, также называемых кодировщиками. Однако интерактивный характер видеоигр, в частности, контур обратной связи с игроком между выходным видеосигналом и вводом игрока, делает потоковую передачу игрового видео более чувствительным к задержкам, чем в традиционной потоковой передаче видео. Существующие способы кодирования видеосигналов могут использовать вычислительную мощность, и практически ничего более, для уменьшения времени кодирования. Новые способы интеграции процесса кодирования в процесс рендеринга видео могут обеспечить существенное уменьшение времени кодирования, а также сокращение вычислительной мощности, повышение качества кодированного видео и сохранения исходного формата данных битового потока для поддержания функциональной совместимости существующих аппаратных устройств.

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

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

[5] При потоковой передаче для игр, в которых участвуют множество игроков, в частности таких игр, как массовые многопользовательские онлайн-игры («MMOG»), все большую важность принимает предотвращение потери затрат при рендеринге на стороне сервера. Из-за ограниченной ширины полосы, доступной для игроков MMOG, существует особенная необходимость в кодировщике, который максимально повышает качество рендеринга и предотвращает торможение игры. В текущих технологиях, описанных ниже, применяются различные способы для решения этой задачи, но они по-прежнему обладают недостатками.

[6] В публикации заявки на патент США № US20170132830A1 («публикация ‘830») раскрыты системы и способы определения выбранной точки шейдинга в 3D-сцене, шейдинг которой должен быть выполнен, выполнение шейдинга на определенной точке шейдинга и определение информации шейдинга 3D-сцены на основании шейдинга, выполненного на определенной точке шейдинга. Шейдинг сцены корректируется на основании временных характеристик сцены. Однако эта технология не устраняет основную проблему оптимизации кодирования на основании возможностей рендеринга на стороне сервера и доступной ширины полосы.

[7] В публикации заявки на патент США № US20170200253A1 («публикация ‘253») раскрыты системы и способы улучшения характеристик рендеринга графических процессоров. В графическом процессоре верхнее пороговое значение может быть задано таким образом, что, когда встречается кадр, превышающий заданное пороговое значение, графический процессор выполняет соответствующее действие для сокращения времени рендеринга. Однако эта технология основана исключительно на заданном пороговом значении и не может быть динамически скорректирована в зависимости возможностей рендеринга на стороне сервера и доступной ширины полосы.

[8] В публикации заявки на патент США № US2017/0278296A1 («публикация ‘296») раскрыты системы и способы, в которых осуществляют начальный рендеринг сцены, который определяет текстуру в каждой части сцены, и осуществляют рендеринг с трассировкой лучей сцены за счет трассировки начальной группы лучей. В этом документе раскрыто, что оптимальное количество выборок для каждого определяется интеллектуально на основании прогнозирования текстур сцены и идентификации шума, возникающего из-за субдискретизации во время трассировки лучей. Опять-таки, эта технология ограничена оптимальной выборкой лучей и не может быть динамически скорректирована в зависимости возможностей рендеринга на стороне сервера и доступной ширины полосы.

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

Краткое раскрытие настоящего изобретения

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

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

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

Краткое описание фигур

[13] Более полное понимание настоящего изобретения и многих сопутствующих его преимуществ будет легко получено, поскольку оно станет более понятным при обращении к следующему подробному описанию, рассматриваемому со ссылкой на прилагаемые фигуры, на которых:

[14] на фиг. 1 показана схема приведенной в качестве примера среды, в которой кодек потокового вещания может передавать параметры назад на рендерер с получением видео, в соответствии с одним вариантом осуществления настоящего изобретения;

[15] на фиг. 2 показана блок-схема приведенных в качестве примера стадий рендеринга с адаптируемым качеством под управлением кодировщика в соответствии с одним вариантом осуществления настоящего изобретения;

[16] на фиг. 3 показана блок-схема приведенного в качестве примера предварительного генерирования таблицы поиска, которая назначает профиль параметров качества рендеринга для каждого частичного набора параметров кодировщика, в соответствии с одним вариантом осуществления настоящего изобретения;

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

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

Подробное раскрытие предпочтительных вариантов осуществления

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

[20] Современные движки для рендеринга, например используемые в видеоиграх, могут адаптировать определенные параметры качества во время работы на основании таких факторов, как расстояние игрока до объекта, время рендеринга предыдущего кадра, или других рабочих измеряемых показателей. Движок для рендеринга может предоставлять несколько способов корректировки качества, обеспечивая более детальное управление общим качеством после рендреринга. Некоторые примеры включают осуществление выборки текстур со смещением для использования более размытых MIP-карт, использование каскадов с более низким качеством или меньшего количества отсчетов в тенях, применение упрощенного пути в модели шейдинга (например DCT-преобразования бликующего изображения, чтобы оно выглядело как рассеянное) и использование меньшего количества отсчетов для постобработки (например для гауссова распределения, объемного тумана и т. д.). При потоковом вещании изменение одного или нескольких параметров качества рендеринга в ответ на изменение параметров кодировщика может обеспечить наилучшую экономию затрат рендеринга без ухудшения качества кодированного выходного сигнала.

[21] На фиг. 1 показана схема приведенной в качестве примера среды, в которой отрендеренное в режиме реального времени видео передается с помощью потокового вещания удаленному зрителю. Сервер 100 может представлять собой любое аппаратное обеспечение, выполненное с возможностью одновременного запуска процесса 102 рендеринга в режиме реального времени (также называемого рендерером ниже) и потокового кодека 104. Кодек 104 также должен обладать возможностью передавать свои параметры квантования назад в процесс 102 рендеринга посредством непосредственного сообщения или некоторого другого процесса отслеживания, известного в уровне техники. Кодированный видеопоток передается по сети на клиентское устройство 106. Клиент 106 может представлять собой любое аппаратное обеспечение, выполненное с возможностью декодирования и отображения видеопотока.

[22] На фиг. 2 показана блок-схема приведенных в качестве примера стадий рендеринга с адаптируемым качеством под управлением кодировщика. Кодирование прямой трансляции с использованием кодировщика, совместимого со стандартом H.264, как правило, предусматривает использование режима постоянного значения оценки («CRF»), который сообщает эффективные параметры квантования для кодированного кадра в качестве параметра квантования («QP») на стадии 200 «Сообщение параметров квантования для каждого кодированного кадра». Согласно некоторым вариантам осуществления используемая библиотека, совместимая со стандартом H.264, представляет собой ffmpeg, которая выводит параметр квантования в качестве переменной f_crf_avg. Параметр квантования представляет собой индекс в диапазоне от 0 до 51, который определяет, как уровень потерь наблюдается при сжатии во время кодирования. Более низкие значения QP представляют более низкие сжатие, а более высокие значения QP представляют более высокое сжатие. Чтобы поддерживать постоянную скорость передачи, кодировщик, работающий в режиме CRF, увеличит QP для кадров, которые могут позволить более высокое сжатие, и уменьшит QP для кадров, которые требуют более высокого качества. Кодировщик использует то, что человеческий глаз менее способен различать детали движущихся объектов, за счет более высокого сжатия в областях, которые характеризуются сравнительно быстрым движением, и более низкого сжатия в областях, которые являются относительно неподвижными. Это позволяет кодировщику сохранять целевое воспринимаемое качество и при этом уменьшить размер некоторых кодированных кадров.

[23] Рендерер считывает сообщенный QP перед рендерингом кадра на стадии 202 «Отслеживание параметров квантования на предмет изменений». На стадии 203 «Отличие?», если эффективные параметры квантования не были изменены с момента ранее отрендеренного кадра, рендерер не предпринимает никаких действий для адаптации качества рендеринга и снова выполняет проверку в следующем кадре. Если рендерер считывает значение QP, которое отличается от ранее отрендеренного кадра, или если это первый кодированный кадр, для которого выполняется рендеринг с адаптируемым качеством под управлением кодировщика, качество рендеринга изменяют на стадии 204 «Изменение параметров качества рендеринга для соответствия параметрам квантования». Если значение QP увеличилось с момента ранее отрендеренного кадра, рендерер снизит качество для соответствия уровню сжатия на кодировщике. Аналогично, если значение QP уменьшилось с момента ранее отрендеренного кадра, кодировщик повысит качество. Для изменения параметров рендеринга рендерер проверяет предварительно сгенерированную таблицу поиска, которая обеспечивает профиль параметров качества рендеринга, на предмет значения QP, предоставленного кодировщиком. В целом, должна быть только одна запись на параметр качества кодировщика. Рендерер использует QP, предоставленный кодировщиком, находит одну запись и использует связанный профиль параметров качества рендеринга. В целом, применяется весь профиль параметров качества рендеринга. Профиль параметров качества рендеринга определяется как перечень значений для каждого доступного параметра качества рендеринга. Предварительное генерирование этой таблицы поиска более подробно описано со ссылкой на фиг. 3. Предварительно заданная таблица поиска может задавать параметры рендеринга для целых значений QP, что требует от рендерера округлить считанное значение QP до ближайшего целого, или таблица поиска может задавать параметры рендеринга для каждого частичного набора значений QP от 0 до 51. В примерах на фиг. 4 и фиг. 5 предполагается, что рендерер округляет QP до ближайшего целого перед использованием таблица поиска, но эти примеры могут быть изменены для задания таблицы поиска с использованием частичных наборов QP вместо этого. Рендерер изменяет параметры качества согласно профилю параметров качества рендеринга, полученному из таблицы поиска перед рендерингом следующего кадра. Снижение качества рендеринга приведет к уменьшению объема работы по рендерингу, который теряется, когда кодировщик ограничивает качество.

[24] На фиг. 3 показана блок-схема приведенного в качестве примера предварительного генерирования таблицы поиска, которая назначает профиль параметров качества рендеринга для каждого частичного набора параметров кодировщика. Эталонное изображение используется в качестве эталона для определения влияния на воспринимаемое качество при изменении параметров кодирования или параметров рендеринга. Эталонное изображение должно представлять собой обычный кадр выходного видеосигнала и содержать отрендеренные элементы, такие как модели, текстуры или визуальные эффекты, которые характерны для выбранного игрового контекста. Игровой контекст может включать конкретную область, конкретную карту, конкретный уровень или некоторый конкретный игровой процесс. Выбранное эталонное изображение используется для генерирования таблицы поиска, которая оценивает воспринимаемое качество видео, отрендеренного с таким же контекстом, как и у эталонного изображения. Например, таблица поиска, сгенерированная из эталонного изображения, которая содержит репрезентативный набор элементов игрового уровня, может использоваться для оценки воспринимаемого качества видео, отрендеренного из аналогичных сцен на одном и том же уровне. Способы объединения множества таблиц поиска в общую таблицу поиска описаны ниже. После идентификации контекста игры, должна быть выбрана репрезентативная сцена и подвергнута рендерингу при максимальном качестве, как показано на стадии 300 «Выбор и генерирование эталонного изображения». Отрендеренная репрезентативная сцена с максимальным качеством называется в настоящем документе эталонным изображением.

[25] Предпочтительный вариант осуществления рабочих характеристик рендерера, описанного выше в сочетании с описанием фиг. 2, требует от рендерера округлить принятые значения QP до ближайшего целого перед считыванием таблицы поиска. В результате, таблица поиска будет сгенерирована с использованием только целых значений QP. На кодировщике эталонное изображение с максимальным качеством кодируют по каждому целочисленному параметру качества в кодировщике, целые значения параметра квантования (QP) от 0 до 51, как показано на стадии 302 «Кодирование эталонного изображения по каждому частичному набору параметров кодировщика». Согласно предпочтительному варианту осуществления есть 52 частичных набора, которые задаются за счет операции округления, выполняемой рендерером. Этот вариант исполнения может быть изменен для создания большего количества частичных наборов для более распространенных значений QP, значений в середине диапазона от 0 до 51, или меньшего количества частичных наборов для более редких значений QP, значений, близких к крайним значениям диапазона от 0 до 51.

[26] Воспринимаемое качество представляет собой попытку количественной оценки способности человеческого глаза воспринимать потерю качества между сжатым изображением и исходным изображением с максимальным качеством. Для оценки воспринимаемого качества, включая среднеквадратичную ошибку (MSE) и пиковое отношение сигнала к шуму (PSNR), которые используют только разности значений яркости и контраста между двумя изображениями для вычисления качества кодека сжатия. Как описано в работе Z. Wang, A. C. Bovik, H. R. Sheikh и E. P. Simoncelli, «Image quality assessment: From error visibility to structural similarity», IEEE Transactions on Image Processing, издание 13, № 4, стр. 600-612, апрель 2004 г., индекс структурного сходства (SSIM) представляет собой способ, который добавляет предположение, что человеческий глаз также может извлекать структурную информацию из сцены, и определяет вычисление для оценки воспринимаемого качества. SSIM работает посредством сравнению данных пикселей между двумя изображениями: несжатым эталонным изображением с максимальным качеством и кодированным изображением. Алгоритм сравнивает яркость, контраст, структуру и иногда насыщенность по «блокам» размером 8x8 пикселей. Поскольку SSIM характеризуется низкими вычислительными затратами и превосходит такие способы, как MSE и PSNR, он является предпочтительным средством для вычисления воспринимаемого качества. Для генерирования воспринимаемого качества для каждого значения параметров кодировщика, предпочтительно на рендерере и/или игровом движке, SSIM индекс вычисляют между каждым кодированным эталонным изображением и эталонным изображением, как показано на стадии 304 «Вычисление воспринимаемого качества для каждого кодированного эталонного изображения». Согласно предпочтительному варианту осуществления вычисляется 52 значения SSIM, по одному для каждого целого числа параметра квантования (QP), со значениями от 0 до 51. В иллюстративных описаниях со ссылкой на фиг. 3, фиг. 4 и фиг. 5 используется стандартное вычисление SSIM для сравнения двух неподвижных изображений, но существуют разные варианты способа SSIM, в которых может осуществляться сравнение двух видеосегментов, и которые могут использоваться вместо указанного варианта, но с более высокими вычислительными затратами. Один такой вариант SSIM представляет собой пространственно-временной SSIM, как описано в работе Anush K. Moorthy и Alan C. Bovik «Efficient Motion Weighted Spatio-Temporal Video SSIM Index», Human Vision and Electronic Imaging XV, издание 7527, март 2010 г. (доступной по адресу

http://live.ece.utexas.edu/publications/2010/moorthy spie jan10.pdf).

[27] Рендерер может характеризоваться несколькими параметрами, доступными для попиксельного контроля качества, в том числе разрешение экрана, выбор MIP-карты, выбор уровня детализации (LOD), качество теней, качество постобработки или другие параметры. Профиль параметров качества определяется как перечень значений для каждого доступного параметра качества. Согласно определенным вариантам осуществления на рендерере собирается перечень всех параметров рендеринга, которые могут быть адаптивно изменены, вместе с их возможными значениями. Затем все сочетания параметров рендеринга адаптивного качества и их значений генерируют для создания перечня профилей параметров качества рендеринга, как показано на стадии 306 «Генерирование перечня профилей параметров качества рендеринга». Поскольку рендерер может характеризоваться множеством параметров качества с множеством возможных значений, количество сочетаний профилей параметров качества может быть неприемлемо высоким. В примере на фиг. 5 описан приведенный в качестве примера способ ограничения и оптимизации количества профилей параметров качества в перечне.

[28] Для каждого профиля параметров качества рендеринга в перечне, эталонное изображение должно быть повторно подвергнуто рендерингу на рендерере с использованием конкретных параметров рендеринга, как показано на стадии 308 «Повторный рендеринг эталонного изображения для каждого профиля параметров качества рендеринга». Если профили параметров качества рендеринга состоят из более чем одного параметра, время рендеринга для каждого повторно отрендеренного эталонного изображения также должно быть записано как показатель вычислительных затрат, для примера измеренный во времени рендеринга или тактовых циклах. Этот показатель вычислительных затрат может использоваться на более поздней стадии в качестве разделителя при наличии каких-либо конфликтов в значениях SSIM.

[29] При использовании одного и того же показателя воспринимаемого качества, который использовался ранее на стадии 304, воспринимаемое качество измеряется за счет сравнения каждого из повторно отрендеренных изображений с исходным эталонным изображением, как показано на стадии 310 «Вычисление воспринимаемого качества для каждого повторно отрендеренного эталонного изображения». Согласно предпочтительному варианту осуществления индекс структурного сходства (SSIM) используется для измерения воспринимаемого качества результатов кодировщика и используется для измерения воспринимаемого качества результатов повторного рендеринга.

[30] На рендерере два набора значений воспринимаемого качества, значения SSIM для кодированных эталонных изображений, вычисленные на стадии 304, и значения SSIM для повторно отрендеренных по профилю эталонных изображений, вычисленные на стадии 310, сравниваются для среди наборов изображений для поиска соответствующих значений SSIM между двумя наборами. В идеальном варианте для каждого значения SSIM кодированного эталонного изображения существует одно точно соответствующее значение SSIM из набора повторно отрендеренных по профилю изображений. Если точные совпадения отсутствуют, выбранное значение SSIM повторно отрендеренного по профилю изображения должно быть больше целевого значения SSIM кодированного эталонного изображения и максимально близким к нему. Соответствующие значения SSIM среди обоих наборов значений воспринимаемого качества идентифицируют профиль параметров качества рендеринга для каждого значения QP, как показано на стадии 312 «Нахождение профиля параметров качества для каждого частичного набора параметров кодировщика». В случае наличия конфликта, то есть, если существует два или более точных совпадения из набора значений SSIM для повторно отрендеренных по профилю изображений, вычислительные затраты, записанные на стадии 308, могут использоваться в качестве разделителя и может быть выбран менее затратный профиль параметров качества рендеринга для параметра кодировщика. На фиг. 5 показан приведенный в качестве примера конфликт.

[31] Параметры кодировщика и их соответствующие профили параметров качества рендеринга должны быть упорядочены в виде таблицы поиска, как показано на стадии 314 «Создание таблицы поиска, назначающей профиль параметров качества рендеринга для каждого параметра кодировщика». Эта таблица поиска может использоваться во время работы на рендерере для изменения параметров качества рендеринга, чтобы они соответствовали параметрам квантования, как описано на стадии 204 на фиг. 2. Таблица поиска обеспечивает профиль параметров качества рендеринга, который генерирует изображение такого же воспринимаемого качества, как в кодированном кадре, и обеспечивает наибольшую экономию вычислительных затрат для указанного эталонного кадра. Приведенные в качестве примера таблицы поиска показаны на фиг. 4 и фиг. 5.

[32] Таблица поиска, сгенерированная посредством способа, описанного со ссылкой на фиг. 3, может использоваться в игровых контекстах, сценах или средах, аналогичных эталонному изображению. Процесс, изображенный на фиг. 3, может повторяться для нескольких эталонных изображений, каждое из которых является репрезентативным для конкретной среды, типа сцены или другого значимого игрового контекста. Например, эталонное изображение может быть выбрано из каждой карты в игре для генерирования множества характерных для карты таблиц поиска. Таблицы поиска также могут быть объединены для создания таблицы поиска, которая может использоваться в игровой среде в более общем смысле. Например, характерные для карты таблицы поиска могут быть объединены для генерирования одной таблицы поиска, которая может использоваться для всех карт в игре. Для объединения таблиц поиска профили параметров качества рендеринга для каждого QP могут быть объединены для нахождения среднего значения для каждого параметра, содержащегося в профиле. Например, для трех эталонных изображений генерируются три таблицы поиска. Профили параметров качества рендеринга состоят из трех значений параметров: параметр качества постобработки, параметр качества теней и параметр разрешения. Для объединения профилей параметров качества рендеринга для значения QP, составляющего 4, профили считываются из каждой таблицы поиска и представляются в следующем виде: P4i= {3, MED, 95%}, P42= {4, LOW, 90%} и P43= {2, MED, 90%}. Для каждого параметра находят средние значения для генерирования PAvg= {3, MED, 92%}. Процесс усреднения профилей должен быть завершен таким образом, что в результате процесса рендеринга не будут генерироваться изображения с более низким уровнем воспринимаемого качества, чем текущий параметр качества кодирования. Профили усредняются для каждого значения QP и упорядочиваются в виде новой таблицы поиска.

[33] На фиг. 4 показано приведенное в качестве примера генерирование таблицы поиска для профилей параметров качества рендеринга, которые состоят только из одного параметра. В этом примере один параметр качества рендеринга адаптируется в ответ на изменения параметров качества кодировщика. Рендеринг вида от первого лица в 3D-сцене адаптируется на рендерере за счет изменения разрешения 3D-составляющих вида, как показано на «3D-вид» 400, при этом разрешение элементов пользовательского интерфейса (UI), показанного как «UI» 402, не изменяется, чтобы сохранить читаемость обращенного к игроку текста. Этот тип выборочного масштабирования разрешения называется динамическим масштабированием разрешения и является все более распространенной функцией движков для рендеринга. Эталонное изображение, показанное как «Эталонное изображение» 404, представляет собой один кадр из обычного выходного видеосигнала, отрендеренного с наивысшим возможным разрешением, и выбирается в соответствии с инструкциями, указанными на стадии 300 на фиг. 3. На кодировщике эталонное изображение, показанное как «Эталонное изображение» 404, кодируется по каждому целому значению QP, как описано со ссылкой на стадию 302 на фиг. 3, для генерирования перечня кодированных эталонных изображений, как указано позицией «Кодированные эталонные изображения» 406. Как описано в сочетании со стадией 304 на фиг. 3, на рендерере значения SSIM, показанные как «SSIM» 408, вычисляются для каждого кодированного эталонного изображения 406. Поскольку профиль качества рендеринга состоит только из одного параметра качества, количество сочетаний профилей качества ограничено количеством возможных значений, доступных для разрешения 3D-вида, показанного как «3D-вид» 400. Количество возможных значений разрешения ограничено сверху максимальным возможным разрешением 3D-вида и ограничено снизу минимальным приемлемым разрешением для 3D-вида. Отношение сторон может задавать количество значений разрешения между минимальным и максимальным разрешениями. Например, максимальное разрешение 3840 x 2160 характеризуется отношением сторон 16:9, а минимальное приемлемое разрешение при этом отношении сторон выбирается как 1280 x 720. Существует 160 возможных разрешений с отношением сторон 16:9 между этими верхним и нижним пределами. Альтернативно некоторое количество одинаковых разрешений между верхним и нижним пределами может быть произвольно выбрано как образцы разрешения. Например, разрешение может постепенно уменьшаться в направлении x от 3840 до 1280 для выбора некоторого количества размеров образцов разрешения.

[34] На рендерере эталонное изображение повторно подвергают рендерингу, как показано на «Повторно отрендеренная эталонная последовательность» 410, для каждого из доступных размеров разрешения или каждого из выбранных размеров образцов разрешения, как описано со ссылкой на стадию 308 на фиг. 3. Значения SSIM, показанные как «SSIM» 412, вычисляются для каждого повторно отрендеренного изображения на рендерере, как описано на стадии 310 на фиг. 3. Два набора значений SSIM, значения SSIM для кодированных эталонных изображений, как показано на «SSIM» 408, и значения SSIM для повторно отрендеренных по профилю эталонных изображений, как показано на «Повторно отрендеренная эталонная последовательность» 410, сравниваются для нахождения совпадений среди наборов изображений для обеспечения параметра разрешения для каждого целого значения QP. Результаты упорядочиваются в виде таблицы поиска, как показано в виде «ТАБЛИЦА ПОИСКА» 414, которая будет использоваться во время работы. За счет уменьшения разрешения 3D-вида для соответствия параметра квантования, потерянная работа по рендерингу может быть существенно уменьшена, что может привести к дополнительным преимущества, включая снижение энергопотребления на сервере, сокращение времени рендеринга и уменьшение задержки между вводом игрока и обратной связью. Получение этих преимуществ усложняется в средах, в которых несколько копий игры запущены на одном сервере.

[35] На фиг. 5 показано приведенное в качестве примера генерирование таблицы поиска для профилей параметров качества рендеринга, которые содержат множество параметров. Процесс, описанный со ссылкой на фиг. 3, не меняется в той части, которая касается выбора эталонного изображения и измерения воспринимаемого качества для каждого параметра кодировщика, как описано со ссылкой на стадии 300, 302 и 304. Поскольку рендерер может масштабировать один или несколько параметров качества рендеринга относительно значения QP, перечень сгенерированных профилей параметров качества рендеринга, описанных со ссылкой на стадию 306 на фиг. 3, может быть неприемлемо длинным, чтобы упростить повторный рендеринг эталонного изображения и вычисление воспринимаемого качества для каждого профиля параметров качества рендеринга. Поскольку возможно очень большое количество сочетаний параметров рендеринга, дерево принятия решений может способствовать сужению пространства возможностей программным образом. Например, может быть нежелательным наличие профиля параметров качества рендеринга, в котором качество постобработки является очень низким, но каждый из других параметров является очень высоким. Согласно определенным вариантам осуществления может быть нежелательным, чтобы тени высокого качества были скрыты низкокачественной постобработкой. Согласно другим вариантам осуществления все может быть наоборот. Решения такого типа являются субъективными, но основанными на критериях, включающих, без ограничения, вычислительные затраты, связанные с конкретным параметром рендеринга, разности воспринимаемого качества между двумя значениями параметра, очевидность одного параметра рендеринг в сравнении с другим (например, эффекты крупного плана, которые занимают большую часть экрана в сравнении с удаленными деталями, которые занимают только пару пикселей в ширину) или относительную важность игрового процесса (например, визуальные эффекты, которые важны для передачи обратной связи игроку).

[36] На фиг. 5 показано приведенное в качестве примера дерево принятия решений, показанное в виде «Дерево принятия решений» 500, которое состоит из листа для каждого сочетания из четырех возможных параметров качества постобработки, трех возможных параметров качества тени и пяти возможных разрешений 3D-вида. Это приведенное в качестве примера дерево принятия решений существенно меньше, чем может быть в реальном примере, поскольку в этом случае может быть больше адаптивных параметров рендеринга или намного больше вариантов на параметр, что будет очевидно специалисту в данной области техники. Дерево принятия решений предпочтительно проходит в соответствии с любыми ограничивающими условиями, например, исключается наличие листьев там, где качество постобработки очень низкое, но все другие параметры высокие. Для каждого листа, который не удален из-за ограничивающего условия, эталонный кадр может быть повторно подвергнут рендерингу с использованием профиля параметров качества рендеринга, связанного с листом, как описано позицией 308 на фиг. 3. Вычислительные затраты, измеренные во времени рендеринга или тактовых циклах, могут быть записаны в этот момент для использования в качестве потенциального разделителя в случае конфликтов значений воспринимаемого качества. Затем, воспринимаемое качество может быть измерено для каждого повторно отрендеренного изображения, как описано со ссылкой на стадию 310 на фиг. 3. Для каждого вычисленного значения воспринимаемого качества (SSIM) в наборе, вычисленном для параметров кодировщика, перечень всех профилей параметров качества рендеринга с соответствующим значением SSIM, может быть сгенерирован как описано со ссылкой на стадию 312 на фиг. 3. В примере на фиг. 5 показан этот перечень, сгенерированный для значения QP, составляющего 16.

[37] Значение SSIM для эталонного изображения, кодированного со значением QP, составляющим 16, равно 0,997, при этом для него есть три профиля параметров качества рендеринга с соответствующими значениями SSIM, показанными с вычисленными вычислительными затратами, составляющими 16,004, 15,554 и 15,402. Поскольку наблюдается три конфликта для значения воспринимаемого качества, вычислительные затраты, записанные ранее, выступают в качестве разделителя и могут использоваться для определения того, какой профиль параметров качества рендеринга является самым дешевым, в этом случае этот тот, который характеризуется затратами, равными 15,402. Таблица поиска, показанная как «Таблица поиска» 502, должна быть сгенерирована для назначения самого дешевого профиля параметров качества рендеринга каждому значению QP, как описано на стадии 314 на фиг. 3. Профиль параметров качества рендеринга, выбранный для значения QP, составляющего 16, показан на фиг. 5 как «Профиль 16».

Пример 1. Влияние на время рендеринга как промежуточного показателя для вычислительных затрат

[38] Согласно одному приведенному в качестве примера варианту исполнения только разрешение линейно масштабируют в ответ на изменения качества кодировщика. Например, если качество кодировщика падает на 50%, в ответ на это разрешение будет уменьшено на 50%. Поскольку экономия времени рендеринга непосредственно коррелирует с экономией вычислительной мощности, время рендеринга анализировали, когда разрешение было масштабировано. Измерения проводили в среде с минимумом движений, с видом, состоящим из вида от первого лица рук игрока, оружия и неподвижной стены. Этот вид с минимумом движения был выбран для ограничения количества факторов, которые могут исказить измерения в результате влияния на измеренное время рендеринга. Эти факторы могут включать постобработку, такую как размытие вследствие движения, изменения количества отрендеренных объектов, изменения текстур на экране или других компонентов вида, которые с большой вероятностью меняются в видах с максимумом движения. Неподвижный вид неподвижной сцены также позволяет непосредственно сравнить различные результаты измерения, полученные при масштабированных разрешениях. Движок для рендеринга должен быть выводить видео с постепенно снижающимся разрешением, и результаты измеряли, как показано в таблице 1 ниже.

Масштаб разрешения Время
непрозрачного
прохода
Общее время рендеринга
100% 0,4 мс 1,4 мс
50% 0,3 мс 1,0 мс
25% 0,2 мс 0,8 мс

Таблица 1. Влияние масштабирования разрешения на время рендеринга

[39] Непрозрачный проход представляет собой часть схемы рендеринга, в ходе которой отрисовывается непрозрачная геометрия на виде. Это часть схемы рендеринга, которая больше всего чувствительна к изменениям разрешения. Любая экономия времени рендеринга или вычислительных затрат, достигнутая за счет масштабирования разрешения, будет получена в основном из непрозрачного прохода при рендеринге.

[40] Как показано в таблице 1, при максимальном разрешении 1280 x 720 при 60 кадрах, время рендеринга для непрозрачного прохода составляет 0,4 мс из общего времени рендеринга 1,4 мс. Когда разрешение снижено до 50% от максимального разрешения, время рендеринга для непрозрачного прохода составляет 0,3 мс из общего времени рендеринга 1,0 мс. Масштабирование разрешения на 50%, таким образом, приводит к существенной экономии времени рендеринга практически на 30%. Когда разрешение снижено до 25% от максимального разрешения, время рендеринга для непрозрачного прохода составляет 0,2 мс из общего времени рендеринга 0,8 мс. Масштабирование разрешения на 75%, таким образом, приводит к существенной экономии времени рендеринга более чем на 40%.

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

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

генерирование одного или нескольких эталонных изображений;

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

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

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

2. Выполняемый на компьютере способ по п. 1, при этом этапы данного способа выполняются в рендерере или кодеке.

3. Выполняемый на компьютере способ по п. 2, в котором рендерер может иметь несколько параметров, доступных для попиксельного контроля качества, в том числе разрешение экрана, выбор MIP-карты, выбор уровня детализации (LOD), качество теней и качество постобработки.

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

5. Выполняемый на компьютере способ по п. 1, дополнительно предусматривающий этап оптимизации профилей параметров качества.

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

7. Выполняемый на компьютере способ по п. 1, в котором профили параметров качества сохраняют в одной или нескольких таблицах поиска.



 

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

Изобретение относится к области кодирования/декодирования, в частности к кодированию в интра-режиме стандарта Высокоэффективного Кодирования Видеосигнала (HEVC). Техническим результатом является повышение эффективности кодирования/декодирования информации о режимах предсказания.

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

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

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

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

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

Изобретение относится к кодированию и декодированию видео. Техническим результатом является повышение эффективности кодирования видео.

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении сквозной задержки.

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