RU2735241C1 - Системы и способы для векторов движения, генерируемых во время игры - Google Patents
Системы и способы для векторов движения, генерируемых во время игры Download PDFInfo
- Publication number
- RU2735241C1 RU2735241C1 RU2019136490A RU2019136490A RU2735241C1 RU 2735241 C1 RU2735241 C1 RU 2735241C1 RU 2019136490 A RU2019136490 A RU 2019136490A RU 2019136490 A RU2019136490 A RU 2019136490A RU 2735241 C1 RU2735241 C1 RU 2735241C1
- Authority
- RU
- Russia
- Prior art keywords
- block
- motion vectors
- pixel
- per
- vectors
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 163
- 239000013598 vector Substances 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims description 48
- 239000000872 buffer Substances 0.000 claims description 19
- 230000009466 transformation Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000006837 decompression Effects 0.000 claims description 5
- 238000013139 quantization Methods 0.000 claims description 5
- 206010047571 Visual impairment Diseases 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 abstract description 7
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B77/00—Vehicle locks characterised by special functions or purposes
- E05B77/54—Automatic securing or unlocking of bolts triggered by certain vehicle parameters, e.g. exceeding a speed threshold
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B79/00—Mounting or connecting vehicle locks or parts thereof
- E05B79/10—Connections between movable lock parts
- E05B79/20—Connections between movable lock parts using flexible connections, e.g. Bowden cables
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B83/00—Vehicle locks specially adapted for particular types of wing or vehicle
- E05B83/16—Locks for luggage compartments, car boot lids or car bonnets
- E05B83/24—Locks for luggage compartments, car boot lids or car bonnets for car bonnets
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B85/00—Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
- E05B85/20—Bolts or detents
- E05B85/24—Bolts rotating about an axis
- E05B85/243—Bolts rotating about an axis with a bifurcated bolt
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B85/00—Details of vehicle locks not provided for in groups E05B77/00 - E05B83/00
- E05B85/20—Bolts or detents
- E05B85/24—Bolts rotating about an axis
- E05B85/26—Cooperation between bolts and detents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B81/00—Power-actuated vehicle locks
- E05B81/12—Power-actuated vehicle locks characterised by the function or purpose of the powered actuators
- E05B81/16—Power-actuated vehicle locks characterised by the function or purpose of the powered actuators operating on locking elements for locking or unlocking action
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16H—GEARING
- F16H59/00—Control inputs to control units of change-speed-, or reversing-gearings for conveying rotary motion
- F16H59/02—Selector apparatus
- F16H59/08—Range selector apparatus
- F16H59/10—Range selector apparatus comprising levers
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16H—GEARING
- F16H63/00—Control 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/02—Final output mechanisms therefor; Actuating means for the final output mechanisms
- F16H63/30—Constructional features of the final output mechanisms
- F16H63/34—Locking or disabling mechanisms
- F16H63/36—Interlocking devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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
Изобретение относится к системам рендеринга интегрированной графики. Технический результат заключается в обеспечении возможности предоставления как последнего отрендеренного кадра, так и отформатированных данных векторов движения для введения в движок видеокодека. Система для формирования графических данных на компьютере обеспечивает преобразование векторов попиксельного движения в векторы поблочного движения, графический акселератор генерирует один или несколько векторов попиксельного движения, преобразует указанные векторы попиксельного движения в один или несколько векторов поблочного движения и напрямую вводит указанные векторы поблочного движения в движок видеокодека, при этом движок видеокодека преобразует векторы поблочного движения в кодированные видеоданные и передает кодированные видеоданные в вычислительную систему удаленного клиента и при этом компенсация поблочного движения пропускается. 3 н. и 17 з.п. ф-лы, 4 ил., 1 табл.
Description
Родственные заявки
[1] Настоящая заявка испрашивает приоритет согласно следующим предварительным заявкам на выдачу патента США: №62/488,526, поданной 21 апреля 2017 года, и №62/596,325, поданной 8 декабря 2017 года.
Область техники, к которой относится настоящее изобретение
[2] В сфере удаленных игр, где игрой на стороне сервера управляет игрок на стороне клиента, предпринимаются попытки кодирования выходных видеоданных акселератора трехмерной графики (SD-графики) в реальном масштабе времени с использованием существующих или оптимизированных под требования пользователей кодирующих устройств. Однако интерактивный характер видеоигр, в частности, контур обратной связи для игрока между выходными видеоданными и данными, вводимыми игроком, делает игровое потоковое видео намного более чувствительным к временной задержке в сравнении со стандартным потоковым видео. Существующие способы кодирования видеосигналов могут жертвовать вычислительной мощностью и кое-какими иными параметрами ради уменьшения времени кодирования. Новые способы интеграции процесса кодирования в процесс рендеринга видеоданных могут обеспечить существенное уменьшение времени кодирования с сохранением вычислительной мощности, что повышает качество кодированной видеоинформации и сохраняет первоначальный формат битового потока данных, обеспечивая при этом взаимосовместимость существующих аппаратных устройств.
[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) видеокадра из 2 В-сцены акселератор трехмерной графики сгенерирует вспомогательные выходные данные во время выполнения процесса формирования цвета, которые должны быть использованы в качестве входных данных для последующих прогонов в ходе постобработки. Вспомогательные выходные данные могут включать в себя информацию, записанную в буферы сглаживания, цвета или скорости, т.е. в три ячейки памяти, выделенные для временного хранения информации, соответственно, о глубине пикселей, цвете пикселей и движении пикселей.
[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%. Эти результаты демонстрируют весьма значительное сокращение времени задержки, когда активирована функция оценки параметров движения, генерируемых во время игры.
[38] Среда тестирования также выявила, что при преобразовании векторов попиксельного движения, генерируемых во время игры, в векторы помакроблочного движения для кодера возникают дополнительные затраты. Однако эти затраты намного меньше в сравнении с выигрышем от сокращения времени кодирования, описанного в предыдущем разделе. При использовании графического акселератора, формирующего видео с разрешением 1280 × 720, преобразование векторов движения из векторов попиксельного движения в векторы помакроблочного движения занимает 0,02 мс. Замеренная экономия времени кодирования на три порядка превышает величину дополнительных затрат на использование векторов движения, генерируемых во время игры, для кодирования.
[39] Предшествующее описание и чертежи должны рассматриваться исключительно как иллюстративно раскрывающие принципы заявленного изобретения. Предполагается, что настоящее изобретение не ограничено предпочтительным вариантом своего осуществления, и оно может быть реализовано самыми разными способами, которые будут понятны любому специалисту в данной области техники. Многочисленные сферы применения настоящего изобретения будут очевидны для специалистов в данной области техники. Следовательно, представляется нецелесообразным ограничивать заявленное изобретение конкретными раскрытыми примерами его осуществления или конкретной конструкцией и режимом работы, показанными и описанными в настоящем документе. Соответственно, все подходящие модификации и эквиваленты могут рассматриваться как входящие в объем заявленного изобретения.
Claims (33)
1. Выполняемый на компьютере способ формирования графических данных, обеспечивающий преобразование векторов попиксельного движения в векторы поблочного движения, включающий в себя следующие стадии:
формирование одного или нескольких векторов попиксельного движения;
преобразование одного или нескольких векторов попиксельного движения в один или несколько векторов поблочного движения в графическом акселераторе; и
введение векторов поблочного движения в движок кодирования видеоинформации;
при этом движок кодирования видеоинформации преобразует один или несколько векторов поблочного движения в кодированные видеоданные, и при этом компенсация поблочного движения пропускается.
2. Способ по п. 1, в котором один или нескольких векторов попиксельного движения сохраняются в буфере скорости до их преобразования.
3. Способ по п. 1, в котором формирование одного или нескольких векторов попиксельного движения включает в себя следующие стадии:
объединение в вычислительном шейдере одного или нескольких векторов попиксельного движения со скоростью камеры для получения попиксельного результата; и
сохранение попиксельного результата в буфере векторов движения.
4. Способ по п. 1, в котором графический акселератор вводит данные векторов поблочного движения в движок кодирования видеоинформации в реальном масштабе времени одновременно с одним или несколькими видеокадрами, подвергнутыми цветовой субдискретизации.
5. Способ по п. 1, в котором кодированные видеоданные декодируются для воспроизведения в вычислительной системе удаленного клиента.
6. Способ по п. 1, в котором движок кодирования видеоинформации выполняет компенсацию движения и остаточную трансформацию с целью преобразования одного или нескольких векторов поблочного движения в кодированные видеоданные.
7. Способ по п. 1, в котором кодированные видеоданные готовятся к передаче на кодирующий движок удаленного клиента путем применения одного или нескольких алгоритмов обратного квантования, обратного преобразования и масштабирования и/или распаковки.
8. Способ по п. 1, в котором один или несколько векторов попиксельного движения преобразуются в один или несколько векторов поблочного движения с использованием способа преобразования, который применяет среднее арифметическое.
9. Система для формирования графических данных на компьютере, обеспечивающая преобразование векторов попиксельного движения в векторы поблочного движения, в которой:
графический акселератор генерирует один или несколько векторов попиксельного движения, преобразует указанные векторы попиксельного движения в один или несколько векторов поблочного движения и напрямую вводит указанные векторы поблочного движения в движок видеокодека; при этом:
движок видеокодека преобразует векторы поблочного движения в кодированные видеоданные и передает кодированные видеоданные в вычислительную систему удаленного клиента и при этом компенсация поблочного движения пропускается.
10. Система по п. 9, в которой один или нескольких векторов попиксельного движения сохраняются в буфере скорости до их преобразования.
11. Система по п. 9, в которой один или несколько векторов попиксельного движения генерируются путем прибавления в вычислительном шейдере одного или нескольких векторов попиксельного движения к скорости камеры для получения попиксельного результата и сохранения попиксельного результата в буфере векторов движения.
12. Система по п. 9, в которой графический акселератор вводит данные векторов поблочного движения в движок видеокодека в реальном масштабе времени одновременно с одним или несколькими видеокадрами, подвергнутыми цветовой субдискретизации.
13. Система по п. 9, в которой движок видеокодека выполняет компенсацию движения и остаточную трансформацию для преобразования одного или нескольких векторов поблочного движения в кодированные видеоданные.
14. Система по п. 9, в которой кодированные видеоданные готовятся к передаче в вычислительную систему удаленного клиента путем применения одного или нескольких алгоритмов обратного квантования, обратного преобразования и масштабирования и/или распаковки.
15. Система по п. 9, в которой кодированные видеоданные сконфигурированы с возможностью декодирования и воспроизведения на дисплее под управлением контроллера дисплея.
16. Система по п. 9, в которой графический акселератор преобразует один или несколько векторов попиксельного движения в один или несколько векторов поблочного движения с использованием способа преобразования, который применяет среднее арифметическое.
17. Выполняемый на компьютере способ для формирования графических данных, обеспечивающий преобразование векторов попиксельного движения в векторы поблочного движения, включающий в себя следующие стадии:
преобразование одного или нескольких векторов попиксельного движения в один или несколько векторов поблочного движения в графическом акселераторе, причем данные векторов поблочного движения передаются на движок кодека; и
прием графическим акселератором одного или нескольких видеокадров, подвергнутых цветовой субдискретизации, причем видеокадры с субдискретизированным цветом передаются на движок кодека;
при этом движок кодека объединяет данные векторов поблочного движения с видеокадрами, подвергнутыми цветовой субдискретизации, для кодирования видеоданных, передаваемых в вычислительную систему удаленного клиента.
18. Способ по п. 17, в котором данные векторов поблочного движения, объединенные с видеокадрами, подвергнутыми цветовой субдискретизации, формируют остаточное изображение.
19. Способ по п. 18, в котором остаточное изображение перед кодированием подвергается дополнительной обработке путем остаточного преобразования и масштабирования, квантования и/или сканирования.
20. Способ по п. 18, дополнительно включающий в себя следующие стадии:
расчет обратного квантования, обратного преобразования и масштабирования; и
распаковку остаточного изображения.
Applications Claiming Priority (5)
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 | ||
PCT/US2018/028544 WO2018195405A1 (en) | 2017-04-21 | 2018-04-20 | Systems and methods for game-generated motion vectors |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020134091A Division RU2760974C2 (ru) | 2017-04-21 | 2018-04-20 | Системы и способы для векторов движения, генерируемых во время игры |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2735241C1 true RU2735241C1 (ru) | 2020-10-29 |
Family
ID=63854345
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020134091A RU2760974C2 (ru) | 2017-04-21 | 2018-04-20 | Системы и способы для векторов движения, генерируемых во время игры |
RU2019136490A RU2735241C1 (ru) | 2017-04-21 | 2018-04-20 | Системы и способы для векторов движения, генерируемых во время игры |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020134091A RU2760974C2 (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) | CA3173525A1 (ru) |
DE (1) | DE112018002110T5 (ru) |
GB (1) | GB2576846A (ru) |
MX (1) | MX2021004095A (ru) |
RU (2) | RU2760974C2 (ru) |
TW (3) | TWI797550B (ru) |
WO (1) | WO2018195405A1 (ru) |
ZA (2) | ZA201907680B (ru) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830714B2 (en) | 2014-06-27 | 2017-11-28 | Samsung Electronics Co., Ltd. | Graphics processing with advection to reconstruct missing sample data points |
US11049269B2 (en) | 2014-06-27 | 2021-06-29 | Samsung Electronics Co., Ltd. | Motion based adaptive rendering |
AU2018254550B2 (en) | 2017-04-21 | 2020-09-24 | Zenimax Media Inc. | Systems and methods for game-generated motion vectors |
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 | 镕铭微电子(济南)有限公司 | 一种游戏引擎中视频编码的方法及相关设备 |
CN118339838A (zh) | 2021-11-30 | 2024-07-12 | 三星电子株式会社 | 允许在服务器和电子装置之间流传输视频内容的方法以及用于流传输视频内容的服务器和电子装置 |
Citations (5)
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)
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 |
US5926221A (en) | 1995-08-18 | 1999-07-20 | Texas Instruments Incorporated | Method and apparatus for improved video coding using a center-biased orthogonal search technique and a zero block predictor module |
GB9623573D0 (en) * | 1996-11-13 | 1997-01-08 | Philips Electronics Nv | Image segmentation |
US6687405B1 (en) * | 1996-11-13 | 2004-02-03 | Koninklijke Philips Electronics N.V. | Image segmentation |
US6529613B1 (en) | 1996-11-27 | 2003-03-04 | Princeton Video Image, Inc. | Motion tracking using image-texture templates |
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 |
CN1578477B (zh) * | 2003-07-16 | 2011-05-04 | 三星电子株式会社 | 用于色彩图像的视频编码/解码装置和方法 |
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 |
JP4996603B2 (ja) * | 2005-07-08 | 2012-08-08 | タグ ネットワークス,インコーポレイテッド | 事前符号化マクロブロックを使用するビデオゲームシステム |
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 | 卢卡·罗萨托 | 基于沿时间的样本序列的混合的编码和解码 |
KR101664758B1 (ko) | 2012-09-21 | 2016-10-10 | 노키아 테크놀로지스 오와이 | 비디오 코딩 방법 및 장치 |
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 |
EP2920962A4 (en) * | 2012-11-13 | 2016-07-20 | Intel Corp | ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO |
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 |
WO2014193403A1 (en) | 2013-05-31 | 2014-12-04 | 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 |
WO2016119046A1 (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 |
JP2018521522A (ja) | 2015-04-21 | 2018-08-02 | ヴィド スケール インコーポレイテッド | 芸術的意図をベースとするビデオ符号化 |
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 |
AU2018254550B2 (en) | 2017-04-21 | 2020-09-24 | Zenimax Media Inc. | Systems and methods for game-generated motion vectors |
-
2018
- 2018-04-20 AU AU2018254550A patent/AU2018254550B2/en active Active
- 2018-04-20 TW TW110103931A patent/TWI797550B/zh active
- 2018-04-20 DE DE112018002110.6T patent/DE112018002110T5/de active Pending
- 2018-04-20 CN CN201880040171.3A patent/CN110959169A/zh active Pending
- 2018-04-20 CA CA3173525A patent/CA3173525A1/en active Pending
- 2018-04-20 KR KR1020227028903A patent/KR102617595B1/ko active IP Right Grant
- 2018-04-20 GB GB1916979.6A patent/GB2576846A/en not_active Withdrawn
- 2018-04-20 KR KR1020217038338A patent/KR20210148381A/ko not_active Application Discontinuation
- 2018-04-20 US US15/958,499 patent/US10567788B2/en active Active
- 2018-04-20 CA CA3059740A patent/CA3059740A1/en active Pending
- 2018-04-20 KR KR1020197033912A patent/KR20200019854A/ko not_active Application Discontinuation
- 2018-04-20 EP EP18788077.8A patent/EP3613015A4/en active Pending
- 2018-04-20 RU RU2020134091A patent/RU2760974C2/ru active
- 2018-04-20 TW TW109107924A patent/TWI721816B/zh active
- 2018-04-20 JP JP2020507497A patent/JP7135067B2/ja active Active
- 2018-04-20 BR BR112019022007-0A patent/BR112019022007A2/pt unknown
- 2018-04-20 TW TW107113590A patent/TWI691199B/zh active
- 2018-04-20 RU RU2019136490A patent/RU2735241C1/ru active
- 2018-04-20 WO PCT/US2018/028544 patent/WO2018195405A1/en active Application Filing
- 2018-04-20 KR KR1020237043929A patent/KR20240001278A/ko active IP Right Grant
-
2019
- 2019-03-01 US US16/290,468 patent/US10701388B2/en active Active
- 2019-10-18 MX MX2021004095A patent/MX2021004095A/es unknown
- 2019-11-20 ZA ZA2019/07680A patent/ZA201907680B/en unknown
-
2020
- 2020-01-07 US US16/736,490 patent/US11503326B2/en active Active
- 2020-04-13 US US16/847,493 patent/US11381835B2/en active Active
- 2020-11-12 ZA ZA2020/07051A patent/ZA202007051B/en unknown
- 2020-11-12 AU AU2020267252A patent/AU2020267252B2/en active Active
-
2022
- 2022-09-29 US US17/955,665 patent/US12003756B2/en active Active
Patent Citations (5)
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
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2735241C1 (ru) | Системы и способы для векторов движения, генерируемых во время игры | |
JP4338787B2 (ja) | 映像圧縮のための方法及び装置 | |
US20230362388A1 (en) | Systems and methods for deferred post-processes in video encoding |