RU2760974C2 - Системы и способы для векторов движения, генерируемых во время игры - Google Patents

Системы и способы для векторов движения, генерируемых во время игры Download PDF

Info

Publication number
RU2760974C2
RU2760974C2 RU2020134091A RU2020134091A RU2760974C2 RU 2760974 C2 RU2760974 C2 RU 2760974C2 RU 2020134091 A RU2020134091 A RU 2020134091A RU 2020134091 A RU2020134091 A RU 2020134091A RU 2760974 C2 RU2760974 C2 RU 2760974C2
Authority
RU
Russia
Prior art keywords
motion vectors
block
motion
computer
pixel
Prior art date
Application number
RU2020134091A
Other languages
English (en)
Other versions
RU2020134091A (ru
RU2020134091A3 (ru
Inventor
Микаэль КОПЬЕЦ
Original Assignee
Зенимакс Медиа Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Зенимакс Медиа Инк. filed Critical Зенимакс Медиа Инк.
Publication of RU2020134091A publication Critical patent/RU2020134091A/ru
Publication of RU2020134091A3 publication Critical patent/RU2020134091A3/ru
Application granted granted Critical
Publication of RU2760974C2 publication Critical patent/RU2760974C2/ru

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B77/00Vehicle locks characterised by special functions or purposes
    • E05B77/54Automatic securing or unlocking of bolts triggered by certain vehicle parameters, e.g. exceeding a speed threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B79/00Mounting or connecting vehicle locks or parts thereof
    • E05B79/10Connections between movable lock parts
    • E05B79/20Connections between movable lock parts using flexible connections, e.g. Bowden cables
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B83/00Vehicle locks specially adapted for particular types of wing or vehicle
    • E05B83/16Locks for luggage compartments, car boot lids or car bonnets
    • E05B83/24Locks for luggage compartments, car boot lids or car bonnets for car bonnets
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B85/00Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
    • E05B85/20Bolts or detents
    • E05B85/24Bolts rotating about an axis
    • E05B85/243Bolts rotating about an axis with a bifurcated bolt
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B85/00Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
    • E05B85/20Bolts or detents
    • E05B85/24Bolts rotating about an axis
    • E05B85/26Cooperation between bolts and detents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B81/00Power-actuated vehicle locks
    • E05B81/12Power-actuated vehicle locks characterised by the function or purpose of the powered actuators
    • E05B81/16Power-actuated vehicle locks characterised by the function or purpose of the powered actuators operating on locking elements for locking or unlocking action
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H59/00Control inputs to control units of change-speed-, or reversing-gearings for conveying rotary motion
    • F16H59/02Selector apparatus
    • F16H59/08Range selector apparatus
    • F16H59/10Range selector apparatus comprising levers
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H63/00Control outputs from the control unit to change-speed- or reversing-gearings for conveying rotary motion or to other devices than the final output mechanism
    • F16H63/02Final output mechanisms therefor; Actuating means for the final output mechanisms
    • F16H63/30Constructional features of the final output mechanisms
    • F16H63/34Locking or disabling mechanisms
    • F16H63/36Interlocking devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Изобретение относится к системам рендеринга интегрированной графики. Технический результат заключается в обеспечении возможности преобразования векторов движения в векторы поблочного движения. Способ включает в себя преобразование одного или нескольких векторов движения в один или несколько векторов поблочного движения, передачу векторов поблочного движения в кодер, при этом компенсация движения отключена, и преобразование одного или нескольких векторов поблочного движения в кодированные видеоданные. 2 н. и 18 з.п. ф-лы, 4 ил., 1 табл.

Description

[1] Настоящая заявка испрашивает приоритет согласно следующим предварительным заявкам на выдачу патента США: №62/488,526, поданной 21 апреля 2017 года, и №62/596,325, поданной 8 декабря 2017 года.
Область техники, к которой относится настоящее изобретение
[2] В сфере удаленных игр, где игрой на стороне сервера управляет игрок на стороне клиента, предпринимаются попытки кодирования выходных видеоданных акселератора трехмерной графики (3D-графики) в реальном масштабе времени с использованием существующих или оптимизированных под требования пользователей кодирующих устройств. Однако интерактивный характер видеоигр, в частности, контур обратной связи для игрока между выходными видеоданными и данными, вводимыми игроком, делает игровое потоковое видео намного более чувствительным к временной задержке в сравнении со стандартным потоковым видео. Существующие способы кодирования видеосигналов могут жертвовать вычислительной мощностью и кое-какими иными параметрами ради уменьшения времени кодирования. Новые способы интеграции процесса кодирования в процесс рендеринга видеоданных могут обеспечить существенное уменьшение времени кодирования с сохранением вычислительной мощности, что повышает качество кодированной видеоинформации и сохраняет первоначальный формат битового потока данных, обеспечивая при этом взаимосовместимость существующих аппаратных устройств.
[3] Применяемые в настоящее время стандарты кодирования видео характеризуются наличием лишь цветовой и временной информации, содержащейся в последовательностях изображений и предназначенной для сокращения времени кодирования видеоинформации, увеличения ее размеров или повышения качества видео. Некоторые стандарты кодирования, такие как стандарты серии MPEG, используют вычислительно-трудоемкий способ оценки параметров движения на основе блоков для аппроксимации движения объектов на основе цветовых данных, содержащихся в видео. Эти способы оценки параметров движения изображения на основе блоков традиционно обеспечивают существенное уменьшение размеров кодированного видео, но являются источником большой временной задержки в среде передачи потокового видео в реальном масштабе времени.
[4] Интеграция процесса кодирования в процесс рендеринга видеоданных обеспечивает доступ к источникам дополнительных данных, которые могут быть эффективно использованы для улучшения кодирования. К примеру, некоторые акселераторы 3D-графики, например, используемые в игровом движке, уже могут генерировать векторы движения, которые идеально описывают движение каждого пикселя в каждом видеокадре. За счет предоставления последнего отрендеренного кадра и введения надлежащим образом отформатированных данных векторов движения в кодирующее устройство может быть пропущена наиболее сложная в вычислительном отношении и времязатратная стадия, реализуемая в кодирующем устройстве, а именно стадия оценки параметров движения для каждого межкадра. Кроме того, векторы движения, генерируемые графическим акселератором, будут характеризоваться повышенной точностью в сравнении с векторами, которые аппроксимируются алгоритмом оценки параметров движения на основе блоков, что повышает качество кодированного видео.
[5] Эти две функции, а именно кодирование видеоинформации и рендеринг видеоданных в реальном масштабе времени, традиционно выполняются по отдельности и независимо друг от друга. За счет объединения графического акселератора и кодирующего устройства, что позволяет максимально раскрыть сильные стороны каждого из этих устройств, время кодирования может быть сокращено в достаточной степени для того, чтобы можно было поддерживать приложения, воспроизводящие потоковое видео, которые гиперчувствительны к задержкам.
[6] Эти и другие сопутствующие преимущества настоящего изобретения станут очевидными в свете недостатков, присущих технологиям, описанным ниже.
[7] Например, опубликованная заявка на выдачу патента США №2015/0228106 А1 («Публикация '106») раскрывает технологию, направленную на декодирование видеоданных с целью генерирования последовательности декодированных блоков видеоизображения. Эта технология позволяет использовать каждый декодированный блок видеоизображения в виде отдельной текстуры для соответствующих многоугольников геометрической поверхности по мере генерирования декодированных блоков движком кодека. Технология публикации '106 описывает объединение движка кодека, который декодирует кодированные видеоданные для генерирования отображаемого видеоизображения, с акселератором 3D-графики, который частично рейдирует картинку путем наложения текстуры видеоизображения на геометрическую поверхность. Однако эта технология имеет недостатки в сравнении с настоящим изобретением, по меньшей мере, вследствие того, что она не раскрывает и не использует графический акселератор, который предоставляет как последний отрендеренный кадр, так и надлежащим образом отформатированные данные векторов движения для введения в движок видеокодека, благодаря чему видеокодеку нет какой-либо необходимости выполнять оценку параметров движения до передачи кодированных видеоданных на кодирующий движок удаленного клиента. И наоборот, усовершенствование компьютерной технологии, предложенное настоящим изобретением, обеспечивает уменьшение времени кодирования и вычислительной мощности, повышает качество кодированного видео и позволяет сохранить первоначальный формат битового потока данных для обеспечения взаимосовместимости.
[8] Опубликованная заявка на выдачу патента США №2011/0261885 А1 («Публикация '885») раскрывает системы и способы, направленные на сужение полосы частот за счет объединения оценки параметров движения и макроблочного кодирования. В этой системе оценка параметров движения может выполняться с использованием выборки видеоданных для генерирования информации, относящейся к оценке параметров движения, включая векторы движения. Эти векторы движения могут соответствовать текущему макроблоку, использующему соответствующие видеоданные, кэшированные в буфере. Как и в предыдущем примере, технология публикации '885 имеет недостатки в сравнении с настоящим изобретением, по меньшей мере, вследствие того, что она не раскрывает и не использует графический акселератор, который предоставляет как последний отрендеренный кадр, так и надлежащим образом отформатированные данные векторов движения для введения в движок видеокодека, благодаря чему видеокодеку нет какой-либо необходимости выполнять оценку параметров движения до передачи кодированных видеоданных на удаленный кодирующий движок клиента. По этой причине технология публикации '885 не обеспечивает уменьшение времени кодирования и вычислительной мощности и повышение качества кодированного видео в той степени, в которой это обеспечивается настоящим изобретением.
[9] Как следует из вышеизложенного, до сих пор в этой области техники существует потребность в усовершенствовании компьютерной технологии предшествующего уровня техники, относящейся к кодированию видеоинформации в игровой среде.
Краткое раскрытие настоящего изобретения
[10] Следовательно, цель конкретных вариантов осуществления заявленного изобретения, раскрытых в настоящем документе, заключается в том, чтобы устранить недостатки предшествующего уровня техники и предложить системы и способы формирования графических данных, которые используют архитектуру сетевого сервера, обеспечивающую работу графического акселератора, движка видеокодека и кодирующего движка удаленного клиента для передачи кодированных видеоданных, благодаря чему графический акселератор предоставляет как последний отрендеренный кадр, так и надлежащим образом отформатированные данные векторов движения для введения в движок видеокодека.
[11] Другая цель заявленного изобретения состоит в том, чтобы предложить такие системы и способы формирования графических данных, чтобы движку видеокодека не было необходимости в проведении какой-либо оценки параметров движения до передачи кодированных видеоданных на кодирующий движок удаленного клиента.
[12] Еще одна из целей заявленного изобретения состоит в том, чтобы предложить такие системы и способы формирования графических данных, чтобы графический акселератор мог преобразовывать векторы попиксельного движения в векторы поблочного движения.
[13] Еще одна из целей заявленного изобретения состоит в том, чтобы предложить системы и способы формирования графических данных, где с помощью вычислительного шейдера генерируются векторы попиксельного движения для их прибавления к скорости камеры с целью получения попиксельного результата, и где попиксельный результат сохраняется в буфере векторов движения.
[14] И еще одна из целей заявленного изобретения состоит в том, чтобы предложить системы и способы формирования графических данных, при использовании которых данные векторов поблочного движения вводятся графическим акселератором в движок кодирования видеоинформации в реальном масштабе времени одновременно с кадром видеоизображения, подвергнутого цветовой субдискретизации.
Краткое описание фигур
[15] Настоящее изобретение и многие его преимущества будут понятны из подробного описания вместе с прилагаемыми чертежами, где:
[16] На фиг. 1 представлена блок-схема, иллюстрирующая акселератор 3D-графики, рейдирующий видео для кодирования и передачи клиенту;
[17] На фиг. 2 представлена блок-схема, иллюстрирующая стадии, потребные для уменьшения временной задержки путем введения векторов движения, сгенерированных акселератором 3D-графики, в модифицированный процесс кодирования, показанный на фиг. 4;
[18] На фиг. 3 показана схема, иллюстрирующая преобразование векторов попиксельного движения, сгенерированных в графическом акселераторе, в векторы помакроблочного движения для введения в кодирующий движок; а
[19] На фиг. 4 представлена блок-схема, иллюстрирующая потребные изменения процесса кодирования видеоинформации, который используется на фиг. 1.
Подробное раскрытие предпочтительных вариантов осуществления настоящего изобретения
[20] При описании предпочтительных вариантов осуществления настоящего изобретения, проиллюстрированных на чертежах, во избежание двусмысленного толкования используется конкретная терминология. Однако предполагается, что настоящее изобретение не ограничено выбранными конкретными терминами, причем следует понимать, что каждый конкретный термин включает в себя все технические эквиваленты, которые действуют аналогичным образом для достижения аналогичной цели. Некоторые предпочтительные варианты осуществления настоящего изобретения описаны исключительно в иллюстративных целях, причем следует понимать, что заявленное изобретение может быть реализовано в иных формах, специально не показанных на чертежах.
[21] В тех сферах применения, где акселератор 3D-графики рейдирует видео, подлежащее кодированию и передаче в реальном масштабе времени, графический акселератор и кодирующее устройство могут представлять собой устройства с более сильной связью, что предусмотрено для уменьшения общего времени вычисления и снижения потребления вычислительных ресурсов. Данные векторов попиксельного движения, которые уже сгенерированы графическим акселератором для каждого видеокадра, могут быть преобразованы в данные векторов поблочного движения и введены в движок кодека, чтобы можно было пропустить стадию оценки параметров движения, которая представляет собой единственную наиболее сложную и вычислительно-трудоемкую стадию в процессе кодирования. В графических акселераторах, которые используют восстанавливающий фильтр для генерации границ объекта с иллюзией непрерывного движения, уже могут быть рассчитаны векторы попиксельного движения для каждого видеокадра. Переход от векторов попиксельного движения к векторам поблочного движения может быть выполнен путем нахождения вектора средних значений для каждого макроблока размерами 16×16 пикселей. Это преобразование осуществляется в акселераторе 3D-графики таким образом, что в кодирующий движок из акселератора 3D-графики должна проходить только небольшая часть исходных данных векторов движения. В случаях, когда графический акселератор и кодирующий движок не имеют общей памяти, это также поможет уменьшить использование пропускной способности памяти. Векторы поблочного движения вводятся в движок кодека, полностью минуя стадию оценки параметров движения, без внесения существенных изменений в остальной процесс кодирования.
[22] На фиг. 1-4 приведен один из примеров способа совершенствования процесса кодирования видеоинформации в приложениях, воспроизводящих потоковое видео, где акселератор 3D-графики генерирует сопутствующие данные векторов движения в процессе рендеринга видеокадра.
[23] На фиг. 1 приведен пример системы, в которой видео рендируется и кодируется для передачи удаленному клиенту 116. Акселератор 100 3D-графики, включенный в память 106 на сервере 120, пропускает видеоданные и дополнительную информацию векторов движения об отрендеренном видеокадре в движок 102 кодека (именуемый в настоящем документе просто кодеком или кодером), который генерирует кодированный битовый поток 108 для передачи в вычислительную систему 116 клиента. Архитектура сервера 120 представляет собой любое сочетание аппаратных или программных средств, которое обеспечивает поддержку функций как графического акселерометра, так и движка кодека. В приведенном примере графический акселератор 100 может быть реализован, например, в виде GPU-ускорителя, приводящего в исполнение программное обеспечение 104 для видеоигр, загруженное в машиночитаемую память 106, тогда как движок 102 кодека может быть реализован в виде центрального процессора (CPU), выполняющего программу кодирования видеоинформации. Кодирующий движок 102 генерирует кодированные видеоданные 108 для передачи в вычислительную систему 116 удаленного клиента, которая включает в себя кодирующий движок (кодек) 110, декодирующий битовый поток с целью его воспроизведения на дисплее 114, который управляется контроллером 112 дисплея. Вычислительная система 116 удаленного клиента представляет собой любое сочетание аппаратных средств, устройства, или программного обеспечения, позволяющего декодировать и отображать кодированный битовый поток 108.
[24] На фиг. 2 проиллюстрированы стадии, необходимые для ускорения кодирования за счет повторного использования имеющихся вспомогательных данных, полученных при выполнении процесса рендеринга, в процессе кодирования видеоинформации. На стадии 202 сначала должны быть сгенерированы вспомогательные данные, что является обычной функциональной особенностью графического акселератора 100, расположенного на сервере 120. По мере увеличения мощности и повсеместного распространения GPU-ускорителей генерирование векторов попиксельного движения в реальном масштабе времени становится общим свойством современных движков для видеоигр. Во время рендеринга двухмерного (2D) видеокадра из 2D-сцены акселератор трехмерной графики сгенерирует вспомогательные выходные данные во время выполнения процесса формирования цвета, которые должны быть использованы в качестве входных данных для последующих прогонов в ходе постобработки. Вспомогательные выходные данные могут включать в себя информацию, записанную в буферы сглаживания, цвета или скорости, т.е. в три ячейки памяти, выделенные для временного хранения информации, соответственно, о глубине пикселей, цвете пикселей и движении пикселей.
[25] При практической реализации широко используемого способа генерация границ объекта с иллюзией непрерывного движения, называемого в настоящем документе восстанавливающей фильтрацией для генерации границ объекта с иллюзией непрерывного движения, попиксельные скорости из буфера скорости сначала субдискретизируются до меньшего числа ячеек мозаики, где каждая ячейка мозаики представляет максимальную скорость из совокупности пикселей. После этого ячейки мозаики маскируются с использованием попиксельной глубины в буфере сглаживания, и результаты накладываются на попиксельные цвета в буфере цвета для генерации границ объекта с иллюзией непрерывного движения. Предусмотрено несколько вариаций способа восстанавливающей фильтрации, которые повышают точность воспроизведения, улучшают фильтрующую способность или и то и другое, но принципы остаются такими же, и буфер скорости содержит данные о попиксельном движении между двумя соседними кадрами. Хотя термин «скорость» представляет собой термин, используемый в терминологии для графического акселератора, а термин «вектор скорости» представляет собой термин, используемый в терминологии для кодирования видеоинформации, указанные термины являются функционально эквивалентными, и попиксельная скорость означает то же самое, что и векторы попиксельного движения. Буфер скорости содержит вспомогательные данные в виде векторов попиксельного движения, которые будут повторно использованы в процессе кодирования видеоинформации.
[26] На стадии 204 графический акселератор 100, располагающийся на сервере 120, преобразует векторы попиксельного движения в векторы помакроблочного движения, исходя из размеров макроблока, используемых при кодировании. Кодек Н.264 по умолчанию использует макроблоки размерами 16×16 пикселей, которые в необязательном варианте могут быть еще больше уменьшены. Векторы 256 попиксельного движения могут быть усреднены с их сведением в единый вектор средних значений, который будет использован в качестве вектора поблочного движения. Этот процесс подробнее описан в привязке к фиг.3.
[27] На стадии 206 информация о векторах помакроблочного движения вводится в кодирующий движок/кодер 102, располагающийся на сервере 120, при этом стадия оценки параметров движения пропускается. В случае реализации кодера программными средствами стадия оценки параметров движения может быть полностью отключена, что обеспечивает значительную экономию времени вычислений центральным процессором (CPU). Экономия времени в CPU должна с избытком компенсировать дополнительное время, потребное для расчета усредненных векторов в GPU-ускорителе (на стадии 204) и передачи их в CPU.
[28] На стадии 208 выполняется кодирование, начиная со стадии компенсации движения, поскольку векторы поблочного движения, выдаваемые графическим акселератором 100, взаимозаменяемы с векторами, которые рассчитываются на обычной стадии оценки параметров движения. Остальная часть процесса кодирования видеоинформации, который подробнее описан в привязке к фиг. 4, существенно не отличается от обычной компенсации движения, остаточного расчета и стадий кодирования, выполняемых согласно стандарту кодирования, предусматривающего использование методов оценки параметров движения.
[29] На фиг. 3 более подробно показано преобразование векторов попиксельного движения в векторы помакроблочного движения, выполняемое в графическом акселераторе 100. На этапе формирования цвета акселератор 100 трехмерной графики, располагающийся на сервере 120, будет генерировать векторы попиксельного движения и сохранять данные в буфере 300 скорости, который также располагается на сервере 120. Буфер 300 скорости может содержать данные только по динамическим объектам, исключая информацию о движении, обусловленную движением камеры игрока. Для получения информации о векторах движения по каждому пикселю в пространстве изображения вычислительный шейдер 302 будет объединять векторы, содержащиеся в буфере 300 скорости, со скоростью камеры для всех статических объектов, еще не включенных в буфер скорости, и сохранять попиксельные результаты в буфере 304 векторов движения. Скорость камеры представляет собой двухмерную (2D) проекцию поворотного и поступательного движения камеры во время формирования кадра. Некоторые графические акселераторы могут использовать немного другие способы расчета этих векторов попиксельного движения для всего экранного пространства, но принципы остаются теми же.
[30] Для макроблока кодер Н.264 по умолчанию использует размеры 16×16, которые могут быть уменьшены вплоть до 4×4. В примере, показанном на фиг.3, для упрощения используется макроблок 306 размерами 4×4, но указанный способ должен быть экстраполирован таким образом, чтобы он соответствовал размерам макроблока, используемым в кодере. Для макроблока 306 размерами 4×4 предусмотрены векторы 308 попиксельного движения, хранящиеся в буфере 304 векторов движения. Эти векторы 308 попиксельного движения должны быть преобразованы (стадия 312) в единый вектор 310 помакроблочного движения, который может быть введен в кодер для его использования при компенсации движения, как это показано на фиг.4. Получение среднего арифметического множества векторов 308 попиксельного движения представляет собой способ 312 преобразования с низкой сложностью вычислений и коротким временем вычислений.
[31] В необязательном варианте в преобразование 312 среднего арифметического могут быть внесены изменения с целью повышения качества за счет дополнительной сложности вычислений или мощности. Например, могут быть применены методы медианной фильтрации векторов для устранения нарушений сплошности макроблочного векторного поля перед вычислением среднего арифметического с тем, чтобы обеспечить отражение вектором 310 помакроблочного движения большинства пикселей в макроблоке 306. Поскольку результирующий вектор помакроблочного движения выведен из векторов попиксельного движения, которые были изначально рассчитаны по известным данным о движении объекта, эти векторы помакроблочного движения всегда будут обеспечивать более точное отражение в сравнении с векторами, рассчитанными с помощью используемых в настоящее время алгоритмов оценки параметров движения на основе блоков, которые могут выводить движение лишь на основе данных о цвете пикселей.
[32] На фиг. 4 проиллюстрирован способ пропуска сложного в вычислительном отношении процесса оценки параметров движения путем введения векторов движения, генерируемых в графическом акселераторе 100 сервера 120, показанном на фиг. 1, в кодирующий движок 102 сервера 120, показанный на фиг. 1. Как будет подробно разъяснено ниже, результирующий битовый поток 108 кодированных видеоданных передается в вычислительную систему 116 удаленного клиента. Способ, показанный на фиг.4, иллюстрирует процесс кодирования для одного межкадра, в частности, Р-кадра в соответствии с определением, которое предусмотрено в стандартах видеокодеков серии MPEG. Формирование межкадра (I-кадра) не будет меняться, поскольку при формировании I-кадра компенсация 406 движения не выполняется. Видеокадр 402 с субдискретизированным цветом и данные 404 векторов поблочного движения будут переданы из графического акселератора 100 сразу после их получения. Векторы 404 движения, сгенерированные во время игры, используются для того, чтобы можно было пропустить формирование векторов движения, что в противном случае имело бы место на обычной стадии 426 оценки параметров движения, как это указано в стандарте H.264/MPEG-4 AVC. Стадия 426 оценки параметров движения будет пропущена, а в случае программной реализации кодирующего движка она может быть вообще отключена. Пропуск стадии 426 оценки параметров движения обеспечит существенное уменьшение времени кодирования, что в избытке компенсирует время, затрачиваемое на преобразование данных буфера скорости в соответствующий формат согласно описанию, представленному в привязке к фиг. 3.
[33] Векторы 404 движения, уже преобразованные под соответствующие размеры макроблока, могут использоваться сразу же без внесения каких-либо изменений в процесс компенсации 406 движения. Результаты компенсации 406 движения объединяются с входным видеокадром 402, подвергнутым цветовой суб дискретизации, формируя остаточное изображение 430, которое обрабатывается на стадии 408 остаточного преобразования и масштабирования, на стадии 410 квантования и на стадии 412 сканирования, которые обычно предусмотрены в существующих аппаратных или программных видеокодерах.
[34] Стадии деблокирования должны выполняться в том случае, если того требует выбранный для реализации стандарт декодирования. Установки 420 деблокирования и деблокированное изображение 428 рассчитываются путем применения алгоритмов стандарта кодирования, предусматривающих обратное квантование 414, обратное преобразование и масштабирование 416 с последующим деблокированием 418. Отсканированные коэффициенты 412 объединяются с установками 420 деблокирования и кодируются в энтропийном кодере 422 перед передачей в виде битового потока 108 в вычислительную систему 116 удаленного клиента для декодирования в кодеке 110 вычислительной системы удаленного клиента. Деблокирование изображение 428 становится вводными данными для компенсации 406 движения следующего кадра. Битовый поток 108 (включающий в себя кодированные видеоданные) сохраняет формат, заданный стандартом кодирования, таким как H.264/MPEG-4 AVC, который используется при осуществлении настоящего изобретения. Этот пример характерен для стандарта H.264/MPEG-4 AVC, но он может быть, в общем, использован для аналогичных стандартов кодирования, которые используют методы оценки 426 движения и компенсации 406 движения.
ПРИМЕР 1: Эталонное тестирование, демонстрирующее сокращение времени кодирования
[35] Стадия оценки параметров движения при традиционном Н.264-совместимом кодировании обычно является наиболее сложной в вычислительном отношении и времязатратной стадией. Как указано в настоящем документе, повторное использование векторов движения, генерируемых во время игры, может обеспечить существенное сокращение времени кодирования.
[36] В среде тестирования графический акселератор генерировал выходные данные с разрешением 1280×720 при скорости 60 кадров в секунду. Время кодирования снималось с кодера ×264, работающего в однопотоковом режиме. Работа кодера в однопотоковом режиме увеличивает время кодирования в сравнении с реальным применением, но нормирует результаты измерений к виду одного ядра с тем, чтобы их можно было напрямую сопоставлять друг с другом. Результаты времени кодирования сначала были измерены с использованием немодифицированной оценки параметров движения в кодере, а затем повторно измерены в той же среде с использованием включенной функции оценки параметров движения, генерируемых во время игры.
[37] Была выбрана область низкоинтенсивного движения, включающая в себя вид от первого лица рук игрока, оружия и неподвижной стенки. Руки и оружие игрока циклически проходят стадии незначительного оживление в виде «дрожания», генерируя небольшой объем движения пикселей на относительно небольшом экранном пространстве. Результаты этого теста воспроизведены в Таблице 1, представленной ниже, где показаны результаты по времени задержки с использованием и без использования методов оценки параметров движения, генерируемых во время игры, описанных в настоящем документе. При низкой интенсивности с отключенной функцией оценки параметров движения, генерируемых во время игры, время немодифицированного кодирования составило 12 мс. При активации функции оценки параметров движения, генерируемых во время игры, время кодирования сократилось на 3 мс до 9 мс. Аналогичное сокращение времени задержки было продемонстрировано и для сценариев со средней и высокой интенсивностью движения, где для сценариев со средней интенсивностью движения задержка времени уменьшилась на 17,6%, а для сценариев с высокой интенсивностью движения задержка времени уменьшилась в пределах от 15% до 30%. Эти результаты демонстрируют весьма значительное сокращение времени задержки, когда активирована функция оценки параметров движения, генерируемых во время игры.
Figure 00000001
[38] Среда тестирования также выявила, что при преобразовании векторов попиксельного движения, генерируемых во время игры, в векторы помакроблочного движения для кодера возникают дополнительные затраты. Однако эти затраты намного меньше в сравнении с выигрышем от сокращения времени кодирования, описанного в предыдущем разделе. При использовании графического акселератора, формирующего видео с разрешением 1280×720, преобразование векторов движения из векторов попиксельного движения в векторы помакроблочного движения занимает 0,02 мс. Замеренная экономия времени кодирования на три порядка превышает величину дополнительных затрат на использование векторов движения, генерируемых во время игры, для кодирования.
[39] Предшествующее описание и чертежи должны рассматриваться исключительно как иллюстративно раскрывающие принципы заявленного изобретения. Предполагается, что настоящее изобретение не ограничено предпочтительным вариантом своего осуществления, и оно может быть реализовано самыми разными способами, которые будут понятны любому специалисту в данной области техники. Многочисленные сферы применения настоящего изобретения будут очевидны для специалистов в данной области техники. Следовательно, представляется нецелесообразным ограничивать заявленное изобретение конкретными раскрытыми примерами его осуществления или конкретной конструкцией и режимом работы, показанными и описанными в настоящем документе. Соответственно, все подходящие модификации и эквиваленты могут рассматриваться как входящие в объем заявленного изобретения.

Claims (28)

1. Выполняемый на компьютере способ формирования графических данных для обеспечения возможности преобразования векторов движения в векторы поблочного движения, предусматривающий:
преобразование одного или нескольких векторов движения в один или несколько векторов поблочного движения;
передачу векторов поблочного движения в кодер, при этом компенсация движения отключена; и
преобразование одного или нескольких векторов поблочного движения в кодированные видеоданные.
2. Выполняемый на компьютере способ по п. 1, в котором компенсация движения отключена в кодере.
3. Выполняемый на компьютере способ по п. 1, в котором один или несколько преобразуемых векторов движения представляют собой векторы попиксельного движения.
4. Выполняемый на компьютере способ по п. 1, в котором один или несколько векторов движения хранятся в буфере скорости.
5. Выполняемый на компьютере способ по п. 4, в котором вычислительный шейдер объединяет один или несколько векторов движения, которые хранятся в буфере скорости.
6. Выполняемый на компьютере способ по п. 1, дополнительно предусматривающий применение методов медианной фильтрации векторов к одному или нескольким векторам поблочного движения.
7. Выполняемый на компьютере способ по п. 1, дополнительно предусматривающий вычисление одного или нескольких векторов движения по известным данным о движении объекта.
8. Выполняемый на компьютере способ по п. 1, дополнительно предусматривающий выполнение функций деблокирования в отношении одного или нескольких векторов поблочного движения.
9. Выполняемый на компьютере способ по п. 1, в котором один или несколько векторов поблочного движения отвечают требованиям стандартов H.264/MPEG-4 AVC.
10. Выполняемый на компьютере способ по п. 1, дополнительно предусматривающий выполнение преобразования среднего арифметического в отношении одного или нескольких векторов движения.
11. Система для формирования графических данных для обеспечения возможности преобразования векторов движения в векторы поблочного движения, в которой:
графический акселератор преобразует один или несколько векторов движения в один или несколько векторов поблочного движения;
графический акселератор вводит один или несколько векторов поблочного движения в кодер, причем компенсация движения отключена; и при этом
кодер преобразует один или несколько векторов поблочного движения в кодированные видеоданные.
12. Система по п. 11, в которой компенсация движения отключена в кодере.
13. Система по п. 11, в которой один или несколько преобразуемых векторов движения представляют собой векторы попиксельного движения.
14. Система по п. 11, в которой один или несколько векторов движения хранятся в буфере скорости.
15. Система по п. 14, в которой вычислительный шейдер объединяет один или несколько векторов движения, которые хранятся в буфере скорости.
16. Система по п. 11, дополнительно предусматривающая
применение методов медианной фильтрации векторов к одному или нескольким векторам поблочного движения.
17. Система по п. 11, дополнительно предусматривающая
вычисление одного или нескольких векторов движения по известным данным о движении объекта.
18. Система по п. 11, дополнительно предусматривающая выполнение функций деблокирования в отношении одного или нескольких векторов поблочного движения.
19. Система по п. 11, в которой один или несколько векторов поблочного движения отвечают требованиям стандартов H.264/MPEG-4 AVC.
20. Система по п. 11, дополнительно предусматривающая выполнение преобразования среднего арифметического в отношении одного или нескольких векторов движения.
RU2020134091A 2017-04-21 2018-04-20 Системы и способы для векторов движения, генерируемых во время игры RU2760974C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762488526P 2017-04-21 2017-04-21
US62/488,526 2017-04-21
US201762596325P 2017-12-08 2017-12-08
US62/596,325 2017-12-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2019136490A Division RU2735241C1 (ru) 2017-04-21 2018-04-20 Системы и способы для векторов движения, генерируемых во время игры

Publications (3)

Publication Number Publication Date
RU2020134091A RU2020134091A (ru) 2020-11-17
RU2020134091A3 RU2020134091A3 (ru) 2021-05-18
RU2760974C2 true RU2760974C2 (ru) 2021-12-02

Family

ID=63854345

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2019136490A RU2735241C1 (ru) 2017-04-21 2018-04-20 Системы и способы для векторов движения, генерируемых во время игры
RU2020134091A RU2760974C2 (ru) 2017-04-21 2018-04-20 Системы и способы для векторов движения, генерируемых во время игры

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RU2019136490A RU2735241C1 (ru) 2017-04-21 2018-04-20 Системы и способы для векторов движения, генерируемых во время игры

Country Status (15)

Country Link
US (5) US10567788B2 (ru)
EP (1) EP3613015A4 (ru)
JP (1) JP7135067B2 (ru)
KR (4) KR102617595B1 (ru)
CN (1) CN110959169A (ru)
AU (2) AU2018254550B2 (ru)
BR (1) BR112019022007A2 (ru)
CA (2) CA3059740A1 (ru)
DE (1) DE112018002110T5 (ru)
GB (1) GB2576846A (ru)
MX (1) MX2021004095A (ru)
RU (2) RU2735241C1 (ru)
TW (3) TWI691199B (ru)
WO (1) WO2018195405A1 (ru)
ZA (2) ZA201907680B (ru)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589367B2 (en) 2014-06-27 2017-03-07 Samsung Electronics Co., Ltd. Reconstruction of missing data point from sparse samples during graphics processing using cubic spline polynomials
US11049269B2 (en) 2014-06-27 2021-06-29 Samsung Electronics Co., Ltd. Motion based adaptive rendering
TWI691199B (zh) 2017-04-21 2020-04-11 美商時美媒體公司 用於產生遊戲的運動向量的系統及方法
US11736822B1 (en) 2020-02-28 2023-08-22 Apple Inc. Controlling an image sensor based on GPU temporal processing values
US11833419B2 (en) 2020-03-16 2023-12-05 Tencent America LLC Method and apparatus for cloud gaming
CN111901666B (zh) 2020-07-01 2021-05-11 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备以及存储介质
JP2022041553A (ja) * 2020-09-01 2022-03-11 ヤマハ株式会社 通信制御方法
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备
EP4395329A1 (en) 2021-11-30 2024-07-03 Samsung Electronics Co., Ltd. Method for allowing streaming of video content between server and electronic device, and server and electronic device for streaming video content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050104889A1 (en) * 2002-03-01 2005-05-19 Graham Clemie Centralised interactive graphical application server
US20120213278A1 (en) * 2009-10-20 2012-08-23 Yukinobu Yasugi Moving image coding device, moving image decoding device, moving image coding/decoding system, moving image coding method and moving image decoding method
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
US20150379727A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US20160150231A1 (en) * 2014-11-20 2016-05-26 Citrix Systems, Inc. Layer-based video decoding

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501980A (en) 1982-06-04 1985-02-26 Motornetics Corporation High torque robot motor
JPH06129865A (ja) 1992-10-20 1994-05-13 Sumitomo Electric Ind Ltd シングルモ−ドファイバ型デポラライザとその製造方法及び光ファイバジャイロ
US5778190A (en) * 1995-07-21 1998-07-07 Intel Corporation Encoding video signals using multi-phase motion estimation
US5886741A (en) 1995-08-18 1999-03-23 Texas Instruments Incorporated Method and apparatus for improved video coding using a zero block predictor module
US6687405B1 (en) * 1996-11-13 2004-02-03 Koninklijke Philips Electronics N.V. Image segmentation
GB9623573D0 (en) * 1996-11-13 1997-01-08 Philips Electronics Nv Image segmentation
CN1238889A (zh) 1996-11-27 1999-12-15 普林斯顿视频图像公司 使用图像纹理模板的运动跟踪
EP1075147A1 (en) 1999-08-02 2001-02-07 Koninklijke Philips Electronics N.V. Motion estimation
US6850571B2 (en) 2001-04-23 2005-02-01 Webtv Networks, Inc. Systems and methods for MPEG subsample decoding
WO2004004359A1 (en) 2002-07-01 2004-01-08 E G Technology Inc. Efficient compression and transport of video over a network
US6903662B2 (en) 2002-09-19 2005-06-07 Ergodex Computer input device with individually positionable and programmable input members
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
KR100624429B1 (ko) * 2003-07-16 2006-09-19 삼성전자주식회사 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
US20050047504A1 (en) 2003-09-03 2005-03-03 Sung Chih-Ta Star Data stream encoding method and apparatus for digital video compression
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7408984B2 (en) 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
US20060230428A1 (en) 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
ATE475266T1 (de) * 2005-07-08 2010-08-15 Tag Networks Inc Videospielsystem mit vorcodierten makroblöcken
JP4178480B2 (ja) 2006-06-14 2008-11-12 ソニー株式会社 画像処理装置、画像処理方法、撮像装置および撮像方法
KR100919886B1 (ko) * 2006-12-06 2009-09-30 한국전자통신연구원 영상 복호기에서 움직임 벡터 특성을 이용한 움직임 보상스킵 제어 장치 및 그 방법
WO2008072093A2 (en) 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
JP4931223B2 (ja) 2007-03-30 2012-05-16 株式会社バンダイナムコゲームス 動きベクトル探索プログラム、情報記憶媒体、動きベクトル探索装置、及び、ネットワークシステム
US8069258B1 (en) 2007-09-11 2011-11-29 Electronic Arts Inc. Local frame processing to apparently reduce network lag of multiplayer deterministic simulations
US8127233B2 (en) 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20110032991A1 (en) 2008-01-09 2011-02-10 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
US8208065B2 (en) 2008-07-30 2012-06-26 Cinnafilm, Inc. Method, apparatus, and computer software for digital video scan rate conversions with minimization of artifacts
US8678929B1 (en) 2008-08-01 2014-03-25 Electronics Arts Inc. Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations
US8854376B1 (en) 2009-07-30 2014-10-07 Lucasfilm Entertainment Company Ltd. Generating animation from actor performance
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
US9338523B2 (en) 2009-12-21 2016-05-10 Echostar Technologies L.L.C. Audio splitting with codec-enforced frame sizes
GB2480422B (en) * 2010-02-25 2014-07-09 Imagination Tech Ltd Object tracking using graphics engine derived vectors in a motion estimation system
US20110261885A1 (en) 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US8427583B2 (en) * 2010-09-30 2013-04-23 Sharp Laboratories Of America, Inc. Automatic parameter control for spatial-temporal filter
KR20120088488A (ko) * 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US8872895B2 (en) * 2011-09-30 2014-10-28 Deutsche Telekom Ag Real-time video coding using graphics rendering contexts
US10027982B2 (en) * 2011-10-19 2018-07-17 Microsoft Technology Licensing, Llc Segmented-block coding
JP5977023B2 (ja) 2011-11-07 2016-08-24 株式会社スクウェア・エニックス・ホールディングス 描画システム、プログラム、及び記録媒体
CN104641644A (zh) 2012-05-14 2015-05-20 卢卡·罗萨托 基于沿时间的样本序列的混合的编码和解码
SG11201502194QA (en) 2012-09-21 2015-04-29 Nokia Technologies Oy Method and apparatus for video coding
KR102137266B1 (ko) 2012-09-28 2020-07-23 삼성전자주식회사 움직임 벡터와 변이 벡터를 예측하는 영상 처리 방법 및 장치
US9984504B2 (en) * 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
CN104704827B (zh) * 2012-11-13 2019-04-12 英特尔公司 用于下一代视频的内容自适应变换译码
WO2014120369A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9661351B2 (en) 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US9521425B2 (en) 2013-03-19 2016-12-13 Qualcomm Incorporated Disparity vector derivation in 3D video coding for skip and direct modes
US9079108B2 (en) 2013-05-31 2015-07-14 Empire Technology Development Llc Cache-influenced video games
US9313493B1 (en) * 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US20150071357A1 (en) 2013-09-12 2015-03-12 Qualcomm Incorporated Partial intra block copying for video coding
US9648332B2 (en) 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
KR101586125B1 (ko) * 2013-12-17 2016-02-02 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US20150228106A1 (en) 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US9830888B2 (en) * 2014-11-10 2017-11-28 Dell Products, Lp Gaze driven display front of screen performance
US10063866B2 (en) 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
CA2958254A1 (en) 2015-01-29 2016-08-04 Ecole De Technologie Superieure Methods and systems for determining motion vectors in a motion estimation process of a video encoder
US11323722B2 (en) 2015-04-21 2022-05-03 Interdigital Madison Patent Holdings, Sas Artistic intent based video coding
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
US10163183B2 (en) 2016-01-13 2018-12-25 Rockwell Collins, Inc. Rendering performance using dynamically controlled samples
US9705526B1 (en) 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications
US10109100B2 (en) 2016-03-25 2018-10-23 Outward, Inc. Adaptive sampling of pixels
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10402932B2 (en) * 2017-04-17 2019-09-03 Intel Corporation Power-based and target-based graphics quality adjustment
TWI691199B (zh) 2017-04-21 2020-04-11 美商時美媒體公司 用於產生遊戲的運動向量的系統及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050104889A1 (en) * 2002-03-01 2005-05-19 Graham Clemie Centralised interactive graphical application server
US20120213278A1 (en) * 2009-10-20 2012-08-23 Yukinobu Yasugi Moving image coding device, moving image decoding device, moving image coding/decoding system, moving image coding method and moving image decoding method
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
US20150379727A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US20160150231A1 (en) * 2014-11-20 2016-05-26 Citrix Systems, Inc. Layer-based video decoding

Also Published As

Publication number Publication date
US10567788B2 (en) 2020-02-18
WO2018195405A1 (en) 2018-10-25
US10701388B2 (en) 2020-06-30
KR20240001278A (ko) 2024-01-03
EP3613015A1 (en) 2020-02-26
KR20200019854A (ko) 2020-02-25
KR20210148381A (ko) 2021-12-07
GB201916979D0 (en) 2020-01-08
AU2020267252B2 (en) 2022-01-27
MX2021004095A (es) 2021-06-08
US20200141162A1 (en) 2020-05-07
KR102617595B1 (ko) 2023-12-22
JP2020518209A (ja) 2020-06-18
DE112018002110T5 (de) 2020-01-09
US20230089232A1 (en) 2023-03-23
US12003756B2 (en) 2024-06-04
GB2576846A (en) 2020-03-04
CA3059740A1 (en) 2018-10-25
TW202025757A (zh) 2020-07-01
TWI721816B (zh) 2021-03-11
RU2735241C1 (ru) 2020-10-29
US11503326B2 (en) 2022-11-15
AU2018254550B2 (en) 2020-09-24
TWI691199B (zh) 2020-04-11
RU2020134091A (ru) 2020-11-17
CA3173525A1 (en) 2018-10-25
US20200404317A1 (en) 2020-12-24
JP7135067B2 (ja) 2022-09-12
KR20220123141A (ko) 2022-09-05
CN110959169A (zh) 2020-04-03
TW202131688A (zh) 2021-08-16
AU2020267252A1 (en) 2020-12-10
TWI797550B (zh) 2023-04-01
US20180310016A1 (en) 2018-10-25
US11381835B2 (en) 2022-07-05
AU2018254550A1 (en) 2019-12-12
ZA201907680B (en) 2021-04-28
EP3613015A4 (en) 2021-02-24
TW201844002A (zh) 2018-12-16
BR112019022007A2 (pt) 2020-05-12
RU2020134091A3 (ru) 2021-05-18
ZA202007051B (en) 2022-04-28
US20190230375A1 (en) 2019-07-25

Similar Documents

Publication Publication Date Title
RU2760974C2 (ru) Системы и способы для векторов движения, генерируемых во время игры
JP4338787B2 (ja) 映像圧縮のための方法及び装置
US20230362388A1 (en) Systems and methods for deferred post-processes in video encoding

Legal Events

Date Code Title Description
HE9A Changing address for correspondence with an applicant