RU2679979C1 - Представление векторов движения в кодированном потоке битов - Google Patents

Представление векторов движения в кодированном потоке битов Download PDF

Info

Publication number
RU2679979C1
RU2679979C1 RU2016127286A RU2016127286A RU2679979C1 RU 2679979 C1 RU2679979 C1 RU 2679979C1 RU 2016127286 A RU2016127286 A RU 2016127286A RU 2016127286 A RU2016127286 A RU 2016127286A RU 2679979 C1 RU2679979 C1 RU 2679979C1
Authority
RU
Russia
Prior art keywords
values
resolution
encoded
motion vectors
frames
Prior art date
Application number
RU2016127286A
Other languages
English (en)
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 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Application granted granted Critical
Publication of RU2679979C1 publication Critical patent/RU2679979C1/ru

Links

Images

Classifications

    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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
    • H04N19/52Processing of motion vectors by encoding by predictive 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

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

Description

Уровень техники
[0001] В современных системах связи, видеосигнал может отправляться из одного терминала в другой по такой среде, как проводная и/или беспроводная сеть, зачастую сеть с коммутацией пакетов, такая как Интернет. Например, видео может быть частью вызова по VoIP (по протоколу "речь-по-IP"), осуществляемого из клиентского VoIP-приложения, выполняемого в пользовательском терминале, таком как настольный или переносной компьютер, планшетный компьютер или смартфон.
[0002] Типично, видеокадры кодируются посредством кодера в передающем терминале, чтобы сжимать их для передачи по сети. Кодирование для данного кадра может содержать внутрикадровое кодирование, за счет которого блоки кодируются относительно других блоков в идентичном кадре. В этом случае, целевой блок кодируется с точки зрения разности (остатка) между этим блоком и соседним блоком. Альтернативно, кодирование для некоторых кадров может содержать межкадровое кодирование, за счет которого блоки в целевом кадре кодируются относительно соответствующих частей в предшествующем кадре, типично на основе предсказания движения. В этом случае, целевой блок кодируется с точки зрения вектора движения, идентифицирующего смещение между блоком и соответствующей частью, из которой он должен предсказываться, и разность (остаток) между блоком и соответствующей частью, из которой он предсказывается. Соответствующий декодер в приемном устройстве декодирует кадры принимаемого видеосигнала на основе надлежащего типа предсказания, чтобы распаковывать их для вывода на экран на стороне декодера.
[0003] При кодировании (сжатии) видео, векторы движения используются для того, чтобы формировать межкадровое предсказание для текущего кадра. Кодер сначала выполняет поиск аналогичного блока (опорного блока) в предыдущем кодированном кадре, который имеет наилучшее совпадение с текущим блоком (целевым блоком), и передает в служебных сигналах смещение между опорным блоком и целевым блоком в декодер в качестве части кодированного потока битов. Смещение типично представляется в качестве горизонтальных и вертикальных координат X и Y и упоминается в качестве вектора движения.
[0004] Опорный "блок" фактически не ограничивается нахождением в фактической позиции блока в опорном кадре, т.е. не ограничивается решеткой, идентичной решетке целевых блоков, а вместо этого он представляет собой имеющую соответствующий размер часть опорного кадра, смещенную относительно позиции целевого блока на вектор движения. Согласно настоящим стандартам, векторы движения представлены с дробнопиксельным разрешением. Например, в стандарте H.264, каждый вектор движения представлен с разрешением в 1/4-пикселя. Таким образом, в качестве примера, если блок 16x16 в текущем кадре должен предсказываться из другого блока 16x16 в предыдущем кадре, который располагается на 1 пиксел влево от позиции целевого блока, то вектор движения составляет (4,0). Альтернативно, если целевой блок должен предсказываться из опорного блока, который располагается, скажем, только на 3/4 из пиксела влево от целевого блока, вектор движения составляет (3,0). Опорный блок в дробнопиксельной позиции фактически не существует сам по себе, а вместо этого он формируется посредством интерполяции между пикселами опорного кадра. Субпиксельные векторы движения позволяют достигать существенной производительности с точки зрения эффективности сжатия.
Сущность изобретения
[0005] Тем не менее, использование дробнопиксельного разрешения расходует большее число битов для того, чтобы кодировать вектор движения, чем когда движение оценивается с целопиксельным разрешением, и оно также расходует больший объем ресурсов обработки при поиске наилучшим образом совпадающего опорного элемента. Для кодирования видео, это может быть целесообразным, например, поскольку уменьшенный размер лучше совпадающего остатка, в общем, может перевешивать биты, расходуемые при кодировании вектора движения, либо может считаться, что достигаемое качество оправдывает ресурсы. Тем не менее, не все движущиеся изображения, которые должны кодироваться, представляют собой видео (т.е. захватываются из камеры). В данном документе следует признать, что при кодировании (сжатии) движущегося изображения, которое захватывается с экрана, а не камеры, большинство векторов движения в кодированном потоке битов, в общем, должны указывать на целочисленные пикселы, при этом очень небольшое число из них имеют тенденцию обнаружения в дробнопиксельных позициях. Таким образом, хотя кодеры нормально представляют векторы движения в потоках битов в единицах в 1/4 пиксела для приложений совместного использования экрана или записи, полоса пропускания фактически может сокращаться без чрезмерных потерь качества посредством кодирования векторов движения в единицах только в 1 пиксел.
[0006] Тем не менее, с учетом того, что дробный вектор движения по-прежнему может быть полезным для нормального видео (захваченного посредством камеры) или возможно для других движущихся изображений (например, анимаций), вектор движения может гибко передаваться в служебных сигналах: когда видеоисточник исходит из захваченного экрана, вектор движения может передаваться в служебных сигналах в единицах в 1 пиксел, но для нормального видео и/или для других движущихся изображений по-прежнему может использоваться дробнопиксельная единица.
[0007] Если обобщать, могут быть различные обстоятельства, при которых может быть полезным управлять тем, используется дробно- или целопиксельное разрешение векторов движения, например, в зависимости от того, как разработчик кодера хочет реализовывать любой требуемый компромисс или эффект. Например, возможно, некоторое видео или анимации вследствие некоторого аспекта своего характера должны более эффективно обслуживаться посредством целопиксельного разрешения при оценке движения, хотя другие видео или другие типы движущегося изображения могут более эффективно обслуживаться посредством дробнопиксельного разрешения.
[0008] Следовательно, согласно одному аспекту, раскрытому в данном документе, предусмотрен формат для использования при кодировании данных движущихся изображений, за счет которого данные движущихся изображений, кодированные согласно упомянутому формату, содержат:
- последовательность кадров, включающую в себя множество упомянутых кадров, в которых, по меньшей мере, область кодируется с использованием оценки движения;
- соответствующий набор значений векторов движения, представляющих векторы движения оценки движения для каждого соответствующего одного из упомянутых кадров или каждой соответствующей одной из одной или более областей в каждом из упомянутых кадров; и
- по меньшей мере, один соответствующий индикатор, ассоциированный с каждым из упомянутых соответствующих кадров или областей, указывающий то, кодируются ли соответствующие значения векторов движения соответствующего кадра или области с первым разрешением или со вторым разрешением.
[0009] Значения векторов движения кодируются согласно протоколу, за счет которого значения векторов движения, кодированные с первым разрешением, представлены в масштабе, имеющем большее число более точных шагов, и значения векторов движения, кодированные со вторым разрешением, представлены в масштабе, имеющем меньшее число менее точных шагов, и за счет этого расходуют меньшее число битов в среднем в кодированном потоке битов. Менее точные шаги представляют целопиксельные единицы, а более точные шаги представляют дробнопиксельные единицы.
[0010] Согласно дополнительному аспекту, раскрытому в данном документе, предусмотрен сетевой элемент или машиночитаемый носитель хранения данных, переносящий поток битов данных движущихся изображений, кодированных согласно такому формату или протоколу.
[0011] В вариантах осуществления, может быть предусмотрен поток битов, содержащий некоторые из упомянутого множества кадров или областей, кодированных с первым разрешением, и другие из упомянутого множества кадров или областей, кодированных со вторым разрешением, причем соответствующий индикатор указывает разрешение по отдельности для каждого из упомянутого множества (межкадрово кодированных) кадров или областей.
[0012] В вариантах осуществления, каждое из значений векторов движения каждого кадра или области может быть включено в поле векторов движения кодированного потока битов, и согласно упомянутому протоколу поле векторов движения может иметь уменьшенный размер для кадров или областей, векторы движения которых кодируются со вторым разрешением.
[0013] Согласно другому аспекту, раскрытому в данном документе, предусмотрен декодер, содержащий вход для приема данных движущихся изображений в кодированной форме и модуль предсказания движения. Данные движущихся изображений включают в себя множество кадров, в которых, по меньшей мере, область кодируется с использованием оценки движения (т.е. межкадрово кодированных кадров), на основе формата или протокола в соответствии с любым из вариантов осуществления, раскрытых в данном документе. Модуль предсказания движения декодирует упомянутые (межкадрово кодированные) кадры или области на основе значений векторов движения. Это включает в себя считывание каждого из индикаторов для того, чтобы определять то, кодируются ли значения векторов движения соответствующего кадра или области с первым или со вторым разрешением, и если первое разрешение, интерпретировать значения векторов движения в единицах дробных пикселов, а если второе разрешение, интерпретировать значения векторов движения в единицах целочисленных пикселов.
[0014] В вариантах осуществления, данные движущихся изображений могут содержать соответствующие два индикатора, ассоциированные с каждым из упомянутых кадров или областей, причем эти два индикатора указывают разрешение соответствующих векторов движения в двух измерениях, и модуль предсказания движения может быть выполнен с возможностью считывать оба индикатора и интерпретировать соответствующие значения векторов движения соответствующим образом.
[0015] В вариантах осуществления, каждый из, по меньшей мере, некоторых из упомянутых кадров может разделяться на несколько областей; данные движущихся изображений могут содержать, по меньшей мере, один соответствующий индикатор, ассоциированный с каждой соответствующей одной из нескольких областей, чтобы по отдельности указывать то, кодируются ли значения векторов движения соответствующей области с первым или со вторым разрешением; и модуль предсказания движения может быть выполнен с возможностью считывать индикаторы, чтобы определять, кодируются ли значения векторов движения каждой соответствующей области с первым или со вторым разрешением, и интерпретировать соответствующие значения векторов движения в упомянутых единицах дробных пикселов или целочисленных пикселов соответствующим образом. В варианте осуществления, упомянутые области могут представлять собой слайсы стандарта H.26x.
[0016] В вариантах осуществления, данные движущихся изображений дополнительно могут содержать параметр для задания того, указывается ли разрешение значений векторов движения в расчете на каждую область или в расчете на кадр, и модуль предсказания движения может быть выполнен с возможностью считывать этот параметр и интерпретировать значения векторов движения соответствующим образом.
[0017] В дополнительных вариантах осуществления, модуль предсказания движения может быть выполнен с возможностью интерпретировать соответствующие значения векторов движения в единицах дробных пикселов в качестве значения по умолчанию, если соответствующий индикатор не присутствует для одного из упомянутых кадров или областей.
[0018] В еще одних дополнительных вариантах осуществления, данные движущихся изображений, включающие в себя векторы движения, могут быть дополнительно кодированы согласно технологии кодирования без потерь. Декодер может содержать инверсию стадии кодирования без потерь, предшествующего упомянутому декодированию посредством модуля предсказания движения.
[0019] Согласно дополнительному аспекту, предусмотрен компьютерный программный продукт, осуществленный на машиночитаемом носителе хранения данных и выполненный с возможностью при приведении в исполнение выполнять операции декодера согласно любому из вариантов осуществления, раскрытых в данном документе.
[0020] Это краткое изложение сущности изобретения приведено для представления в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначена ни для идентификации ключевых признаков или важнейших признаков заявленного изобретения, ни для использования в качестве ограничения объема заявленного изобретения. Кроме того, при этом заявленное изобретение не ограничено реализациями, которые устраняют недостатки, отмеченные в данном документе.
Краткое описание чертежей
[0021] Чтобы упростить понимание настоящего раскрытия и показывать то, как могут быть осуществлены варианты осуществления, следует обратиться в качестве примера на прилагаемые чертежи, на которых:
[0022] Фиг. 1 является схематичным представлением видеопотока,
[0023] Фиг. 2 является принципиальной блок-схемой системы связи,
[0024] Фиг. 3 является схематичным представлением кодированного видеопотока,
[0025] Фиг. 4 является принципиальной блок-схемой кодера,
[0026] Фиг. 5 является принципиальной блок-схемой декодера,
[0027] Фиг. 6 является схематичным представлением схемы межкадрового кодирования, и
[0028] Фиг. 7 является схематичным представлением другой схемы межкадрового кодирования.
Подробное описание изобретения
[0029] Фиг. 1 приводит схематичную иллюстрацию входного видеосигнала, захваченного из камеры и разделенного на пространственные разделения, которые должны кодироваться посредством видеокодера, с тем чтобы формировать кодированный поток битов. Сигнал содержит движущееся видеоизображение, разделенное во времени на множество кадров (F), причем каждый кадр представляет изображение в различный соответствующий момент во времени (..., t-1, t, t+1,...). В пределах каждого кадра, кадр разделяется в пространстве на множество разделений, представляющих множество пикселов. Эти разделения могут упоминаться в качестве блоков. В определенных схемах, кадр разделяется и подразделяется на разные уровни блока. Например, каждый кадр может разделяться на макроблоки (MB), и каждый макроблок может разделяться на блоки (b), например, каждый блок, представляющий область 8x8 пикселов в кадре, и каждый макроблок, представляющий область 2x2 блоков (16x16 пикселов). В определенных схемах, каждый кадр также может разделяться на независимо декодируемые слайсы (S), содержащие множество макроблоков. Слайсы S, в общем, могут принимать любую форму, например, каждый слайс представляет собой одну или более строк макроблоков либо нерегулярный или произвольно заданный выбор макроблоков (например, соответствующий интересующей области (ROI) в изображении).
[0030] Относительно термина "пиксел", далее данный термин используется как означающий выборки и позиции дискретизации в решетке дискретизации для матрицы изображения (иногда в литературе, термин "пиксел" вместо этого используется как означающий все три цветовых компонента, соответствующие всего одной пространственной позиции, и иногда он используется для того, чтобы означать одну позицию или одно целочисленное выборочное значение в простом массиве). Разрешение решетки дискретизации зачастую отличается между матрицами дискретизации сигналов яркости и сигналов цветности. В вариантах осуществления, следующее может применяться к представлению 4:4:4, но оно потенциально также может применяться, например, к 4:2:2 и 4:2:0.
[0031] Также следует отметить, что хотя любой данный стандарт может присваивать конкретные смысловые значения терминам "блок" или "макроблок", термин "блок" также зачастую используется в более общем смысле в данной области техники для того, чтобы означать разделение кадра на уровне, на котором выполняются операции кодирования и декодирования, такие как внутреннее или взаимное предсказание, и именно это более общее смысловое значение используется в данном документе, если прямо не указано иное. Например, блоки, упоминаемые в данном документе, фактически могут представлять собой разделения, называемые "блоками" или "макроблоками" в стандартах H.26x, и различные стадии кодирования и декодирования могут работать на уровне любых таких разделений в соответствии с рассматриваемым режимом кодирования, приложением и/или стандартом.
[0032] Блок в захваченном входном сигнале обычно представляется в пространственной области, в которой каждый цветовой пространственный канал представляется как функция от пространственной позиции в блоке. Например, в цветовом YUV-пространстве, каждый из каналов яркости (Y) и цветности (U, V) может представляться как функция от декартовых координат x и y, Y(x, y), U(x, y) и V(x, y); либо в цветовом RGB-пространстве, каждый из красного (R), зеленого (G) и синего (B) каналов может представляться как функция от декартовых координат R(x, y), G(x, y), B(x, y). В этом представлении, каждый блок или часть представляется посредством набора пиксельных значений с различными пространственными координатами, например, с координатами X и Y, так что каждый канал цветового пространства представлен с точки зрения соответствующей абсолютной величины этого канала в каждом дискретном наборе пиксельных местоположений.
[0033] Тем не менее, до квантования, блок может быть преобразован в представление в области преобразования в качестве части процесса кодирования, типично в представление в пространственной частотной области (иногда называемой просто "частотной областью"). В частотной области, каждый цветовой пространственный канал в блоке представляется как функция от пространственной частоты (с размерами 1/длина) в каждом из двух измерений. Например, это может обозначаться посредством волновых чисел kx и ky в горизонтальном и вертикальном направлениях, соответственно, так что каналы могут выражаться как Y(kx, ky), U(kx, ky) и V(kx, ky) в YUV-пространстве; или R(kx, ky), G(kx, ky), B(kx, ky) в RGB-пространстве. Таким образом, вместо представления цветового пространственного канала с точки зрения абсолютной величины в каждом дискретном наборе пиксельных позиций, преобразование представляет каждый цветовой пространственный канал с точки зрения коэффициента, ассоциированного с каждым дискретным набором пространственных частотных компонентов, которые составляют блок, т.е. амплитуды каждого дискретного набора пространственных частотных членов, соответствующих различным частотам пространственного изменения в блоке. Возможности для таких преобразований включают в себя преобразование Фурье, дискретное косинусное преобразование (DCT), преобразование Карунена-Лоэва (KLT) или т.п.
[0034] Блок-схема по фиг. 2 приводит пример системы связи, в которой могут использоваться технологии этого раскрытия. Система связи содержит первый передающий терминал 12 и второй приемный терминал 22. Например, каждый терминал 12, 22 может содержать одно из мобильного телефона или смартфона, планшетного компьютера, переносного компьютера, настольного компьютера или другого бытового прибора, такого как телевизионный приемник, абонентская приставка, стереосистема и т.д. Первый и второй терминалы 12, 22 функционально соединены с сетью 32 связи, и первый передающий терминал 12 в силу этого выполнен с возможностью передавать сигналы, которые должны приниматься посредством второго приемного терминала 22. Конечно, передающий терминал 12 также может допускать прием сигналов из приемного терминала 22 и наоборот, но в целях пояснения, передача описывается в данном документе с точки зрения первого терминала 12, а прием описывается с точки зрения второго терминала 22. Сеть 32 связи может содержать, например, сеть с коммутацией пакетов, к примеру, глобальную Интернет-сеть и/или локальную вычислительную сеть, и/или сотовую сеть мобильной связи.
[0035] Первый терминал 12 содержит машиночитаемый носитель 14 хранения данных, такой как флэш-память или другое электронное запоминающее устройство, магнитное устройство хранения данных и/или оптическое устройство хранения данных. Первый терминал 12 также содержит устройство 16 обработки в форме процессора или CPU, имеющего один или более модулей выполнения, приемо-передающее устройство, к примеру, проводной или беспроводной модем, имеющий передающее устройство 18, видеокамеру 15 и экран 17 (т.е. дисплей или монитор). Каждое из камеры 15 и экрана 17 может размещаться или не размещаться в корпусе, идентичном корпусу остальной части терминала 12 (и даже передающее устройство 18 может быть внутренним или внешним, например, содержащим аппаратный ключ либо беспроводной маршрутизатор во втором случае). Носитель 14 хранения данных, видеокамера 15, экран 17 и передающее устройство 18 функционально соединены с устройством 16 обработки, и передающее устройство 18 функционально соединено с сетью 32 через линию проводной или беспроводной связи. Аналогично, второй терминал 22 содержит машиночитаемый носитель 24 хранения данных, такой как электронное, магнитное и/или оптическое устройство хранения данных; и устройство 26 обработки в форме CPU, имеющего один или более модулей выполнения. Второй терминал содержит приемо-передающее устройство, к примеру, проводной или беспроводной модем, имеющий, по меньшей мере, приемное устройство 28 и экран 25, который может размещаться или не размещаться в корпусе, идентичном корпусу остальной части терминала 22. Носитель 24 хранения данных, экран 25 и приемное устройство 28 второго терминала функционально соединены с соответствующим устройством 26 обработки, и приемное устройство 28 функционально соединено с сетью 32 через линию проводной или беспроводной связи.
[0036] Устройство 14 хранения данных в первом терминале 12 сохраняет, по меньшей мере, кодер для кодирования данных движущихся изображений, причем кодер выполнен с возможностью приводиться в исполнение в соответствующем устройстве 16 обработки. При выполнении, кодер принимает "необработанный" (некодированный) входной видеопоток из видеокамеры 15, он выполнен с возможностью кодировать видеопоток, с тем чтобы сжимать его в поток с более низкой битовой скоростью (битрейтом), и выводит кодированный видеопоток для передачи через передающее устройство 18 и сеть 32 связи в приемное устройство 28 второго терминала 22. Устройство 24 хранения данных во втором терминале 22 сохраняет, по меньшей мере, видеодекодер, выполненный с возможностью приводиться в исполнение на своем устройстве 26 обработки. При выполнении, декодер принимает кодированный видеопоток из приемного устройства 28 и декодирует его для вывода на экран 25.
[0037] Кодер и декодер также выполнены с возможностью кодировать и декодировать другие типы данных движущихся изображений, включающие в себя потоки совместного использования экрана. Поток совместного использования экрана представляет собой данные изображений, захваченные с экрана 17 на стороне кодера, так что один или более других удаленных пользователей видят то, что пользователь на стороне кодера видит на экране, либо так что пользователь этого экрана может записывать то, что происходит на экране, для воспроизведения для одного или более других пользователей позднее. В случае вызова, осуществляемого между передающим терминалом 12 и приемным терминалом 22, движущийся контент экрана 17 в передающем терминале 12 кодируется и передается вживую (в реальном времени) для декодирования и отображения на экране 25 приемного терминала 22. Например, пользователь на стороне кодера может хотеть совместно использовать с другим пользователем то, как он применяет рабочий стол своей операционной системы или некоторое приложение.
[0038] Следует отметить, что если считается, что поток совместного использования экрана захватывается с экрана и т.п., необязательно накладывание ограничения конкретными механизмами для этого. Например, данные могут считываться из экранного буфера экрана 17 или захватываться посредством приема экземпляра идентичных графических данных, которые выводятся из операционной системы или из приложения для отображения на экране 17.
[0039] Фиг. 3 приводит схематичное представление кодированного потока 33 битов, который должен передаваться из кодера, работающего в передающем терминале 12, в декодер, работающий в приемном терминале 22. Поток 33 битов содержит кодированные данные 34 изображений для каждого кадра или слайса, содержащие кодированные выборки для блоков этого кадра или слайса вместе с ассоциированными векторами движения. В одном варианте применения, поток битов может передаваться в качестве части вызова вживую (в реальном времени), такого как VoIP-вызов между передающим и приемным терминалами 12, 22 (VoIP-вызовы также могут включать в себя видео и совместное использование экрана). Поток 33 битов также содержит информацию 36 заголовка, ассоциированную с каждым кадром или слайсом. В вариантах осуществления, заголовок 36 выполнен с возможностью включать в себя, по меньшей мере, один дополнительный элемент в форме, по меньшей мере, одного флага 37, указывающего разрешение вектора движения, что подробнее поясняется ниже.
[0040] Фиг. 4 является блок-схемой, иллюстрирующей кодер, который, к примеру, может реализовываться в передающем терминале 12. Кодер содержит главный модуль 40 кодирования, содержащий: модуль 51 дискретного косинусного преобразования (DCT), квантователь 53, модуль 61 обратного преобразования, обратный квантователь 63, модуль 41 внутреннего предсказания, модуль 43 взаимного предсказания, переключатель 47, узел 49 вычитания (-) и узел 65 декодирования без потерь. Кодер дополнительно содержит модуль 50 управления, соединенный с модулем 43 взаимного предсказания. Каждый из этих модулей или узлов может реализовываться как часть кода, сохраненного на носителе 14 хранения данных передающего терминала и выполненного с возможностью приведения в исполнения на своем устройстве 16 обработки, хотя возможность полной или частичной реализации некоторых или всех из них в специализированных аппаратных схемах не исключается.
[0041] Узел 49 вычитания выполнен с возможностью принимать экземпляр входного сигнала, содержащего множество блоков по множеству кадров (F). Входной поток принимается из камеры 15 или захватывается из того, что отображается на экране 17. Внутреннее или взаимное предсказание 41, 43 формирует предсказанную версию текущего (целевого) блока, который должен быть кодирован, на основе предсказания из другого уже кодированного блока или опорной части соответствующего размера. Предсказанная версия предоставляется на вход узла 49 вычитания, в котором она вычитается из входного сигнала (т.е. фактического сигнала) в пространственной области, чтобы формировать остаточный сигнал, представляющий разность между предсказанной версией блока и соответствующим блоком в фактическом входном сигнале.
[0042] В режиме внутреннего предсказания, модуль внутреннего предсказания 41 формирует предсказанную версию текущего (целевого) блока, который должен быть кодирован, на основе предсказания из другого уже кодированного блока в идентичном кадре, типично соседнего блока. При выполнении внутрикадрового кодирования, идея состоит в том, чтобы кодировать и передавать только показатель того, как часть данных изображений в кадре отличается от другой части в идентичном кадре. Эта часть затем может предсказываться в декодере (при условии некоторых абсолютных данных для начала), и в силу этого необходимо передавать только разность между предсказанием и фактическими данными, а не сами фактические данные. Разностный сигнал типично имеет меньшую абсолютную величину, так что приспосабливает меньшее число битов для кодирования (вследствие операции узла 65 сжатия без потерь, см. ниже).
[0043] В режиме взаимного предсказания, модуль 43 взаимного предсказания формирует предсказанную версию текущего (целевого) блока, который должен быть кодирован, на основе предсказания из другой уже кодированной опорной части в кадре, отличном от текущего блока, при этом опорная часть имеет размер блока, но смещена относительно целевого блока в пространственной области посредством вектора движения, который предсказывается посредством модуля 43 взаимного предсказания (взаимное предсказание также может упоминаться в качестве предсказания движения или оценки движения). Модуль 43 взаимного предсказания выбирает оптимальный опорный элемент для конкретного целевого блока посредством выполнения поиска, в пространственной области, через множество возможных вариантов опорных частей, смещенных на множество соответствующих возможных векторов движения в одном или более кадрах, отличных от целевого кадра, и выбора возможного варианта, который минимизирует остаток относительно целевого блока согласно подходящему показателю. Модуль 43 взаимного предсказания переключается на тракт обратной связи посредством переключателя 47 вместо узла 41 внутрикадрового предсказания, и таким образом, контур обратной связи в силу этого создается между блоками одного кадра и другого, чтобы кодировать взаимный кадр относительно блоков другого кадра. Иными словами, остаток теперь представляет разность между блоком, полученным внутренним предсказанием, и фактическим входным блоком. Это типично приспосабливает еще меньшее число битов для кодирования, чем внутрикадровое кодирование.
[0044] Выборки остаточного сигнала (содержащие остаточные блоки после того, как предсказания вычитаются из входного сигнала) выводятся из узла 49 вычитания в модуль 51 преобразования (DCT) (или другое подходящее преобразование), в котором их остаточные значения преобразуются в частотную область, затем в квантователь 53, в котором преобразованные значения преобразуются в практически дискретные индексы квантования. Квантованные преобразованные индексы остатка, сформированные посредством модулей 51, 53 преобразования и квантования, а также индикатор относительно предсказания, используемого в модулях 41, 43 предсказания, и все векторы движения, сформированные посредством модуля 43 взаимного предсказания, выводятся для включения в кодированный видеопоток 33 (см. элемент 34 на фиг. 3); через дополнительный узел 65 кодирования без потерь, такой как кодер Голомба или энтропийный кодер, в котором векторы движения и преобразованные квантованные индексы дополнительно сжимаются с использованием технологий кодирования без потерь, известных в данной области техники.
[0045] Экземпляр квантованного преобразованного сигнала также возвращен через обратный квантователь 63 и модуль 61 обратного преобразования, чтобы формировать предсказанную версию блока (которая должна наблюдаться в декодере) для использования посредством выбранного модуля 41 или 43 предсказания при предсказании последующего блока, который должен быть кодирован, аналогично тому, как текущий кодируемый целевой блок предсказан на основе обратно квантованной и обратно преобразованной версии ранее кодированного блока. Переключатель 47 выполнен с возможностью передавать вывод обратного квантователя 63 во ввод либо модуля 41 внутреннего предсказания, либо модуля 43 взаимного предсказания согласно кодированию, используемому для текущего кодируемого кадра или блока.
[0046] Фиг. 5 является блок-схемой, иллюстрирующей декодер, который, к примеру, может реализовываться в приемном терминале 22. Декодер содержит инверсию кодирования 95 без потерь, узел 83 обратного квантования, узел 81 обратного DCT-преобразования, переключатель 70 и узел 71 внутреннего предсказания и узел 73 компенсации движения. Каждый из этих модулей или узлов может реализовываться как часть кода, сохраненного на носителе 24 хранения данных приемного терминала и выполненного с возможностью приведения в исполнение на своем устройстве 26 обработки, хотя возможность полной или частичной реализации некоторых или всех из них в специализированных аппаратных схемах не исключается.
[0047] Обратный квантователь 81 выполнен с возможностью принимать кодированный сигнал 33 из кодера через приемное устройство 28 и узел 95 обратного кодирования без потерь. Обратный квантователь 81 преобразует индексы квантования в кодированном сигнале в деквантованные выборки остаточного сигнала (содержащие остаточные блоки) и передает деквантованные выборки в модуль 81 обратного DCT, в котором они преобразуются обратно из частотной области в пространственную область. Переключатель 70 затем передает деквантованные остаточные выборки пространственной области в модуль 71 или 73 внутреннего или взаимного предсказания согласно режиму предсказания, используемому для декодирования текущего кадра или блока, и модуль 71, 73 внутреннего или взаимного предсказания использует внутреннее или взаимное предсказание, соответственно, для того чтобы декодировать блоки. То, какой режим использовать, определяется с использованием индикатора относительно предсказания и/или любых векторов движения, принимаемых с кодированными выборками 34 в кодированном потоке 33 битов. После этой стадии, выводятся декодированные блоки, которые должны воспроизводиться через экран 25 в приемном терминале 22.
[0048] Как упомянуто выше, кодеки согласно традиционным стандартам выполняют предсказание движения с разрешением в четверть пиксела, что означает то, что векторы движения также выражаются с точки зрения четвертьпиксельных шагов. Пример оценки движения с разрешением в четверть пиксела показан на фиг 6. В этом примере, пиксел p в верхнем левом углу целевого блока предсказывается из интерполяции между пикселами a, b, c и d, и другие пикселы целевого блока также предсказываются на основе аналогичной интерполяции между соответствующими группами пикселов в опорном кадре, согласно смещению между целевым блоком в одном кадре и опорной частью в другом кадре (причем эти блоки показаны с помощью полужирных пунктирных линий на фиг. 6). Тем не менее, выполнение оценки движения с этой степенью детализации имеет последствия, как пояснено ниже.
[0049] Что касается кодера 65 и декодера 95 без потерь, кодирование без потерь представляет собой форму сжатия, которая работает не посредством отбрасывания информации (такой как квантование), а посредством использования различных длин кодового слова для того, чтобы представлять различные значения в зависимости от того, с какой вероятностью должны возникать эти значения, или того, как часто они возникают в данных, которые должны кодироваться посредством узла 65 кодирования без потерь. Например, число начальных 0 в кодовом слове до появления 1 может указывать длину кодового слова, так что 1 является самым коротким кодовым словом, затем 010 и 011 являются следующими самыми короткими, затем 00100,..., и т.д. Таким образом, самые короткие кодовые слова являются намного более короткими, чем требуется, когда используется равномерная длина кодовых слов, но самые длинные являются длиннее их. Но посредством выделения самых частых или вероятных значений для самых коротких кодовых слов и только наименее вероятных или часто возникающих значений для более длинных кодовых слов, результирующий поток 33 битов может в среднем расходовать меньшее число битов в расчете на кодированное значение, чем когда используется равномерная длина кодовых слов, и за счет этого достигать сжатия без отбрасывания дальнейшей информации.
[0050] Большая часть кодера 40 до узла 65 кодирования без потерь спроектирована с возможностью пытаться задавать как можно больше значений как можно меньшими до прохождения через узел 65 кодирования без потерь. Поскольку они в таком случае возникают чаще, меньшие значения должны затем расходовать меньший битрейт в кодированном потоке 33 битов, чем большие значения. Именно поэтому кодируется остаток в отличие от абсолютных выборок. Это также является логическим обоснованием преобразования 51, поскольку множество выборок имеют тенденцию преобразовываться в нулевые или небольшие коэффициенты в области преобразования.
[0051] Аналогичное соображение может применяться к кодированию векторов движения.
[0052] Например, в H.264/MPEG-4 часть 10 и H.265/HEVC, вектор движения кодируется с помощью экспоненциального кодирования кодом Голомба. Следующая таблица показывает значения векторов движения и кодированные биты.
Значение Кодовое слово Число расходуемых битов
0 1 1
1 010 3
2 011 3
3 00100 5
4 00111 5
5 0001000 7
...
[0053] Из вышеприведенной таблицы можно видеть, что чем больше значение, тем больше битов используется. Это означает то, что чем выше разрешение вектора движения, тем большее число битов расходуется. Например, для четвертьпиксельного разрешения, смещение в 1 пиксел должно быть представлено посредством значения 4 с расходованием 5 битов в кодированном потоке битов.
[0054] При кодировании видео (захваченного из камеры), затраты для этого разрешения в векторе движения могут быть целесообразными, поскольку более высокое разрешение может предоставлять больше возможностей при поиске остаточного опорного элемента с меньшими затратами. Тем не менее, в данном документе следует отметить, что для движущихся изображений, захваченных с экрана, большинство пространственных смещений имеют тенденцию иметь полнопиксельные смещения, и немногие из них имеют тенденцию находиться в дробнопиксельных позициях, так что большинство векторов движения имеет тенденцию указывать на целопиксельные значения, и очень немногие имеют тенденцию указывать на дробнопиксельные значения.
[0055] На основе этого, может быть желательным кодировать векторы движения для данных изображений, захваченных с экрана с разрешением в 1 пиксел. С учетом того факта, что биты не должны тратиться на дробные части векторов движения для такого контента, это означает то, что может уменьшаться битрейт, расходуемый при кодировании такого контента.
[0056] Например, хотя кодеры нормально интерпретируют векторы движения в потоках битов в единицах 1/4-пиксельного смещения, кодер фактически зачастую может иметь возможность сокращать битрейт за счет недопущения этого разрешения и вместо этого кодирования векторов движения для приложений экранного кодирования в единицах целопиксельного смещения. Хотя это должно снижать точность векторов движения на коэффициент четыре, такая точность, в общем, является менее целесообразной для приложений совместного использования экрана или записи, и это также уменьшает число битов, требуемых для того, чтобы кодировать векторы.- Чтобы предсказывать текущий (целевой) блок из опорного блока на 1 пиксел влево относительно целевого блока, вектор движения составляет (1,0) вместо (4,0). При использовании вышеуказанного кодирования кодом Голомба, это означает то, что биты, расходуемые для кодирования вектора движения, изменяются с (00111, 1) на (010, 1), и в силу этого два бита экономятся в этом случае.
[0057] Кроме того, в вариантах осуществления, вектор движения с уменьшенным разрешением также может уменьшать сложность оценки движения, выполняемой в кодере, посредством ограничения поиска на основе вектора движения целочисленными значениями, за счет этого уменьшая ресурсы обработки, расходуемые посредством поиска. Альтернативно, должно быть возможным выполнять нормальный поиск и округлять результирующие векторы движения до целочисленных значений.
[0058] Фиг. 7 показывает пример предсказания движения, ограниченного до разрешения только в полные пикселы, при этом вектор движения ограничивается только полнопиксельными шагами. В отличие от фиг. 6, пиксел p предсказывается только из одного полного пиксела a без интерполяции. Он может альтернативно предсказываться из пиксела b, c, d либо другого пиксела в зависимости от смещения между целевым блоком в одном кадре и опорной частью в другом кадре (снова показаны с помощью полужирных пунктирных линий), но вследствие ограничения он не может предсказываться из интерполяции между пикселами. Примечание: может оказываться, что для любого данного блока, четвертьпиксельное предсказание, как проиллюстрировано в качестве примера на фиг. 6, формирует полнопиксельное смещение без интерполяции, если оно обеспечивает наименьший остаток. Тем не менее, не должно быть ограничений только этим, и для изображения значительных размеров, очень маловероятно, что это возникает для всех блоков.
[0059] С учетом того, что дробные значения векторов движения по-прежнему могут быть очень полезными для захваченного камерой контента, в вариантах осуществления, кодер 40 содержит контроллер 50, соединенный с модулем предсказания движения 43, причем контроллер 50 выполнен с возможностью гибко выбирать разрешение векторов движения: когда исходные данные исходят из захваченного экрана 17, и отсутствует дробнопиксельное движение, вектор движения кодируется и передается в единицах только полных пикселов; но для видео контента камеры, векторы движения по-прежнему кодируются и передаются с дробнопиксельной точностью.
[0060] Для этого, контроллер 50 может быть выполнен с возможностью измерять эвристику производительности, указывающую тот факт, что тип захватываемого контента представляет собой экранный контент. В ответ, он затем деактивирует компенсацию дробнопиксельного движения для кодирования экранного контента. Альтернативно, контроллер 50 может принимать индикатор из приложения или операционной системы касательно того, какие данные он предоставляет в кодер для кодирования, и контроллер 50 может выбирать между режимом на основе этого. В качестве другого варианта, можно выполнять выбор на основе ретроспективных данных. Выбор может выполняться на покадровой основе, или режим может выбираться по отдельности для различных областей в кадре, например, в расчете на каждый слайс.
[0061] Таким образом, перед кодированием кадра или слайса, кодер имеет возможность определять разрешение векторов движения на основе таких факторов, как ретроспективные статистические данные, сведения типа приложения, многопроходной анализ или некоторая другая такая технология. Если кодер решает использовать только оценку полнопиксельного движения, дробнопиксельный поиск пропускается. Если предсказание масштабированных векторов движения имеет дробную часть, предсказание может округляться до целочисленного значения.
[0062] В дополнительных вариантах осуществления, управление необязательно может применяться отдельно к вертикальному или горизонтальному компоненту вектора. Это может быть полезным для кодирования экранного видео, которое масштабируется по горизонтали или по вертикали. Например, рассмотрим случай, в котором кодер работает с долей экрана с измененными размерами по горизонтали или по вертикали. В этом случае, один из компонентов векторов движения должен иметь дробные части, при этом другой компонент не должен. Чтобы управлять битрейтом, кодер может регулировать параметр квантования (QP) в предварительно заданном диапазоне. Если QP достигает разрешенной верхней границы, и битрейт по-прежнему является слишком высоким, кодер может инициировать внутренний модуль изменения размеров. Он изменяет размеры входящих изображений по горизонтали, и на стороне декодера декодированные изображения растягиваются обратно до исходной ширины. Следовательно, может возникать ситуация, в которой также должно быть полезным трактовать горизонтальные и вертикальные векторы движения по-разному.
[0063] Чтобы представлять вектор движения в уменьшенном масштабе разрешения в единицах или шагах целочисленных пикселов и за счет этого достигать ассоциированного сокращения битрейта по сравнению с традиционными кодеками, протокол для передачи в служебных сигналах векторов движения должен обновляться для будущих стандартов кодеков. В вариантах осуществления, это может реализовываться как обновление стандарта H.265 (HEVC, стандарта высокоэффективного кодирования видео). Для кодирования захваченного экранного контента, формату кодированных данных 34 предоставляется поле векторов движения уменьшенного размера для каждого вектора движения. Для кодированного потока захвата экрана, кодированного в целопиксельном режиме, релевантные данные 34 в силу этого должны содержать целочисленные векторы движения в потоке 33 битов и, в вариантах осуществления, только целочисленные векторы движения в потоке 33 битов.
[0064] В вариантах осуществления, это должно быть необязательным, при этом флаг 37 также включается в заголовок 36, чтобы указывать то, используется дробнопиксельное (например, в 1/4 пиксела) или целопиксельное разрешение при кодировании ассоциированного кадра или слайса (следует снова обратиться к фиг. 3). Если горизонтальное и вертикальное разрешения могут выбираться отдельно, два флага 37 должны требоваться в расчете на кадр или слайс.
[0065] Далее раскрывается примерный вариант осуществления на основе обновления стандарта H.265. Модификация обеспечивает возможность представления векторов движения в уменьшенном целопиксельном масштабе в кодированном потоке 33 битов и добавляет два флага 37 в расчете на каждый слайс в информацию 36 заголовка сжатого потока, чтобы передавать в служебных сигналах разрешение векторов движения в горизонтальных и вертикальных компонентах.
[0066] Модификация не изменяет синтаксис или процесс синтаксического анализа, за исключением на уровне заголовка, но модифицирует процесс декодирования посредством интерпретации разностей векторов движения в качестве целых чисел и округления масштабированных MV-предикторов до целочисленных значений. Обнаружено, что модификация повышает эффективность кодирования максимум на 7% и в среднем приблизительно на 2% для тестированных последовательностей экранного контента, и она также позволяет снижать сложность процессов кодирования и декодирования.
[0067] Высокоуровневый индикатор добавляется (на уровне SPS, PPS и/или заголовка слайса), чтобы указывать разрешение для интерпретации векторов движения.
[0068] В процессе декодирования, если векторы движения указываются как имеющие полнопиксельное разрешение, и предсказание масштабированных векторов движения имеет дробную часть, то в вариантах осуществления предсказание округляется до целочисленного значения. Разности векторов движения интерпретируются просто в качестве целочисленных смещений, а не смещений в 1/4 выборки. Все остальные процессы декодирования остаются идентичными. Процесс синтаксического анализа (ниже уровня заголовка) также является неизменным. Когда векторы движения кодируются с точностью, равной полной выборке, и входные данные изображений используют дискретизацию 4:2:2 или 4:2:0, векторы движения сигнала цветности могут извлекаться обычным способом, что должно формировать смещения движения сигнала цветности в 1/2 выборки. Альтернативно, векторы движения сигнала цветности также могут округляться до целочисленных значений.
[0069] Относительно изменения синтаксиса для передачи в служебных сигналах разрешения векторов движения, в вариантах осуществления предусмотрено три возможных режима, при этом индикатор режима передается в служебных сигналах на верхнем уровне заголовка (в расчете на кадр), таком как набор параметров изображения (PPS), либо альтернативно на еще более высоком уровне, таком как набор параметров последовательности (SPS). Индикатор режима имеет три выбираемых значения. Одно значение указывает то, что векторы движения всегда интерпретируются как представляющие смещения в 1/4 выборки (в изображениях, которые используют этот PPS). Второе значение указывает то, что векторы движения всегда интерпретируются как представляющие целочисленные смещения (в изображениях, которые используют этот PPS). Третье значение указывает то, что предусмотрен сигнал на нижнем уровне, который адаптивно выбирает интерпретацию, которая должна применяться на этом нижнем уровне. Этот низкоуровневый индикатор может представлять собой флаг в заголовке слайса, который должен присутствовать только при работе в этом третьем режиме.
[0070] Чтобы реализовывать это, в вариантах осуществления, новый двухбитовый индикатор должен быть включен в PPS-расширение, чтобы указывать режимы управления разрешением векторов движения. Этот индикатор может упоминаться в качестве motion_vector_resolution_control_idc. Когда режим составляет 0, векторы движения кодируются с точностью в 1/4 выборки, и все процессы декодирования остаются неизменными. Когда режим представляет собой 1, все векторы движения в слайсах, которые ссылаются на PPS, кодируются с полнопиксельной точностью. Кроме того, когда режим представляет собой 2, разрешение векторов движения управляется на основе слайса посредством флага в заголовке слайса. Когда motion_vector_resolution_control_idc не присутствует, его значение логически выводится как 0. Когда motion_vector_resolution_control_idc равен 2, дополнительный флаг, называемый slice_motion_vector_resolution_flag, передается в служебных сигналах в заголовке слайса. Когда флаг является нулевым, векторы движения этого слайса кодируются с точностью в 1/4 выборки, а когда флаг равен 1, векторы движения кодируются с полнопиксельной точностью. Когда флаг не присутствует, его значение логически выводится как равное значению motion_vector_resolution_control_idc.
Модифицированный PPS-синтаксис проиллюстрирован следующим образом:
Figure 00000001
Figure 00000002
Модифицированный синтаксис заголовка слайса проиллюстрирован следующим образом:
Figure 00000003
[0071] Относительно масштабирования, упомянутого выше, именно это может возникать, например, в HEVC (H. 265). Идея состоит в том, что если вектор движения используется для кодирования некоторого другого кадра, может вычисляться то, что должно быть вектором движения, который должен быть эквивалентным с точки зрения смещения относительного позиционирования между: (i) текущим изображением и (ii) его опорным изображением. Это основано на относительном позиционировании смещения, указываемого посредством вектора движения в совместно размещенной части другого изображения, и основано на смещении относительного позиционирования между (iii) этим изображением и (iv) изображением, на которое оно ссылается в качестве своего опорного изображения. Иными словами, сами векторы движения могут кодироваться на основе предсказания с вектором движения для целевого блока в текущем целевом кадре, кодируемом относительно предыдущего вектора движения для пространственно соответствующего блока в предыдущем кадре. Вектор движения для целевого блока затем передается в служебных сигналах в кодированном потоке 33 битов только с точки зрения разности (например, типично дельты) между предсказанной версией и фактической версией. Декодер затем может воссоздавать кодированный вектор движения посредством выполнения идентичного предсказания на стороне декодера и суммирования дельты.
[0072] Тем не менее, временная частота кадров кодированных данных не всегда является постоянной и также может представлять собой разность между порядком, в котором изображения кодируются в потоке битов, и порядком, в котором они захватываются и отображаются. Эти временные взаимосвязи могут вычисляться и затем использоваться для того, чтобы масштабировать вектор движения таким образом, что он, по существу, представляет идентичный битрейт в идентичном направлении. Иными словами, предсказанная версия вектора движения не просто равна опорному вектору, а вместо этого представляет собой его масштабированную версию. Это известно как временное предсказание векторов движения.
[0073] Текущий процесс декодирования на основе векторов движения (MV) в HEVC-стандарте может обобщаться следующим образом.
1. Определение того, как должен предсказываться MV в декодере, и того, отправлена или нет дельта вектора движения (MVD) в кодированном потоке битов из кодера (это может заключать в себе некоторые синтаксические индикаторы).
2. Формирование предсказанного вектора движения (PMV). Это создает пару целых чисел (px, py). Целые числа предположительно представляют смещения с точностью позиционирования, равной четверть выборки, в области сигнала яркости.
3. Если MVD не отправляется, задание MV-значения (mx, my) как (px, py); иначе декодирование пары целых чисел (px, py) в качестве (dx, dy) и задание MV (mx, my) как (px+dx, py+dy). MV интерпретируется как представляющий смещения в 1/4 выборки в области сигнала яркости. Примечание: различение сигнала яркости имеет значение только в том случае, если видео имеет такой формат, как 4:2:2 или 4:2:0, который использует разрешение в канале сигнала яркости, отличное от разрешения в каналах сигнала цветности; если вместо этого видео представляет собой формат 4:4:4, например, смещение интерпретируется как имеющее единицы в 1/4 выборки для всех решеток дискретизации.
4. Сохранение конечного значения (mx, my) для последующего использования для формирования последующих PMV (и управления фильтрацией для удаления блочности и т.д.).
[0074] В вариантах осуществления настоящего раскрытия, когда используется целопиксельный режим вектора движения, масштабированный вектор движения может округляться в процессе декодирования, чтобы приспосабливаться к ограничению целопиксельным разрешением. Например, процесс декодирования на основе векторов движения может модифицироваться следующим образом.
1. Определение того, как должен предсказываться MV в декодере, и того, отправлена или нет дельта вектора движения (MVD) в кодированном потоке битов из кодера (это может заключать в себе некоторые синтаксические индикаторы).
2. Формирование предсказанного вектора движения (PMV). Это создает пару целых чисел (px, py). Целые числа предположительно представляют смещения с точностью позиционирования, равной четверть выборки, в области сигнала яркости.
3. При работе в режиме с целочисленной, выполнять следующее:
a. Округление предсказанного значения, чтобы заставлять его соответствовать целочисленному смещению, например, создавать (rx, ry)=(round(px/4), round(py/4)).
b. Если MVD не отправляется, задание MV-значения (mx, my) как (4*rx, 4*ry); иначе декодирование пары целых чисел (px, py) в качестве (dx, dy) и задание MV (mx, my) как (4*(rx+dx), 4*(ry+dy)). MV затем интерпретируется как представляющий смещения в 1/4 выборки в области сигнала яркости (Примечание. Так же, различение сигнала яркости имеет значение только в том случае, если видео имеет такой формат, как 4:2:2 или 4:2:0).
4. Иначе (т.е. при работе в режиме с точностью в 1/4 выборки), выполнять следующее: Если MVD не отправляется, задание MV-значения (mx, my) как (px, py); иначе декодирование пары целых чисел (px, py) в качестве (dx, dy), и MV (mx, my) задается как (px+dx, py+dy). MV снова интерпретируется как представляющий смещения в 1/4 выборки в области сигнала яркости.
5. Сохранение конечного значения (mx, my) для последующего использования для формирования последующих PMV (и управления фильтрацией для удаления блочности и т.д.).
[0075] Тем не менее, вышеуказанный процесс не требуется для всех возможных вариантов осуществления. Вышеуказанный подход предполагает то, декодер работает в 1/4-пиксельной области с самого начала, так что масштабирование при предсказании векторов движения возникает в 1/4-пиксельной области. Тем не менее, фактически декодер не обязательно должен знать то, что означают единицы, на этой стадии. Таким образом, можно приспосабливать альтернативный подход, за счет которого интерпретация не приписывается для единиц позднее при использовании для того, чтобы фактически формировать изображение.
[0076] Далее описывается процесс декодирования согласно вариантам осуществления такого альтернативного подхода. Как описано выше, по меньшей мере, одно из значений векторов движения дифференциально кодируется, причем модуль 73 предсказания движения выполнен с возможностью предсказывать значение вектора движения посредством масштабирования другого из упомянутых значений векторов движения. По меньшей мере, одно из значений векторов движения может быть дифференциально кодировано с точки зрения дельта-значения, и модуль 73 предсказания движения может быть выполнен с возможностью предсказывать значение вектора движения посредством масштабирования другого из упомянутых значений векторов движения, чтобы формировать значение масштабированного вектора движения, и затем суммирования дельта-значения со значением масштабированного вектора движения. Тем не менее, в отличие от вышеописанного, модуль 73 предсказания движения дополнительно выполнен с возможностью интерпретировать значение вектора движения в упомянутых целопиксельных единицах (когда используется целочисленный режим), без его округления до целопиксельного разрешения после масштабирования. Это становится возможным за счет недопущения приписывания интерпретации для единиц при масштабировании. Модуль 73 предсказания движения может быть выполнен с возможностью интерпретировать значение вектора движения в упомянутых целопиксельных единицах посредством выполнения суммирования дельта-значения со значением масштабированного вектора движения без округления значения масштабированного вектора движения до целопиксельного разрешения. Результирующее значение вектора движения интерпретируется только с точки зрения целопиксельных или дробнопиксельных единиц при использовании для того, чтобы формировать изображение. Результирующее значение также сохраняется для использования при предсказании одного или более последующих векторов движения без приписывания интерпретации для сохраненного значения с точки зрения целочисленных или дробных единиц.
[0077] Например, согласно такой альтернативе, процесс декодирования на основе векторов движения может реализовываться следующим образом.
1. Определение того, как MV предсказывается в декодере, и того, отправлена или нет дельта вектора движения (MVD) в кодированном потоке битов из кодера (это может заключать в себе некоторые синтаксические индикаторы).
2. Формирование предсказанного вектора движения (PMV). Это создает пару целых чисел (px, py). Тем не менее, не следует беспокоиться о том, что это может представлять, т.е. не следует приписывать интерпретацию для единиц на этой стадии.
3. Если MVD не отправляется, задание MV-значения (mx, my) как (px, py); иначе декодирование пары целых чисел (px, py) в качестве (dx, dy) и задание MV (mx, my) как (px+dx, py+dy). При работе в режиме с целочисленной точностью, интерпретация MV как представляющего целые целочисленные смещения в области сигнала яркости, т.е. как представляющего значения (4*mx, 4*my) в единицах смещения в 1/4 выборки. Иначе (т.е. при работе в режиме с точностью в 1/4 выборки), интерпретация MV как представляющего смещения в 1/4 выборки в области сигнала яркости, т.е. как представляющего значение (mx, my) в единицах смещения в 1/4 выборки (Примечание. Так же, различение сигнала яркости имеет значение только в том случае, если видео имеет такой формат, как 4:2:2 или 4:2:0).
4. Сохранение конечного значения (mx, my) для последующего использования для формирования последующих PMV (и управления фильтрацией для удаления блочности и т.д.). С другой стороны, не следует беспокоиться о том, что это может представлять.
[0078] Таким образом, этап 3a округления, описанный выше, теперь исключается. Только интерпретация чисел модифицируется. Это приводит к тому, что процесс декодирования является менее сложным, поскольку не требуется модификация процесса MV-предсказания.
[0079] Следует отметить, что округление, поясненное выше, означает округление от разрешения в 1/4 (или дробного разрешения) до целочисленного разрешения. В настоящих стандартах, также предусмотрено округление от еще большей точности до разрешения в 1/4 качестве части предсказания векторов движения, и в вышеприведенном альтернативном варианте осуществления, не исключается, что предсказывается такое предварительное округление по-прежнему присутствует.
[0080] Могут быть некоторые побочные эффекты при работе таким образом. Один побочный эффект может состоять в том, что если некоторые изображения используют другой режим по сравнению с остальными, масштабирование, используемое в процессе MV-предсказания для временного MV-предсказания, не должно быть корректным. Тем не менее, он представляет собой очень незначительный эффект, тем более, что эта ситуация работы в различных режимах является редкой, а также поскольку временное MV-предсказание обычно обладает только очень незначительным преимуществом. Другой побочный эффект может состоять в том, что результаты управления фильтром удаления блочности могут зависеть от MV-значений, которые интерпретируются с различным коэффициентом масштабирования. Тем не менее, этот эффект также является незначительным, тем более, что удаление блочности может деактивироваться или не может иметь сильный эффект при кодировании экранного контента.
[0081] Другая возможность состоит в том, чтобы деактивировать временное предсказание векторов движения каждый раз при использовании только целочисленного движения. Уже предусмотрен синтаксис в HEVC, который позволяет кодеру деактивировать использование этого признака. Это должно представлять собой возможный способ исключать необходимость для декодера иметь специальный процесс, который работает по-разному в зависимости от того, кодируются разности в качестве целых чисел или в качестве дробных значений. Усиление, полученное из временного предсказания векторов движения, может быть небольшим (или нулевым) в этих вариантах использования в любом случае, так что его деактивация необязательно должна быть нежелательной.
[0082] Следует принимать во внимание, что вышеприведенные варианты осуществления описаны только в качестве примера.
[0083] Например, хотя выше приведено описание с точки зрения блоков, необязательно накладывание ограничения разделениями, называемые "блоками" в каком-либо конкретном стандарте. Например, блоки, упоминаемые в данном документе, могут представлять собой разделения, называемые "блоками" или "макроблоками" в стандартах H.26x.
[0084] Объем раскрытия, ограниченный каким-либо конкретным кодеком или стандартом и, в общем, технологиями, раскрытыми в данном документе, может реализовываться либо в контексте существующего стандарта, либо в обновлении существующего стандарта, будь то стандарт H.26x, такой как H264, или H.265, либо какой-либо другой стандарт, либо может реализовываться в специализированном кодеке. Дополнительно, объем раскрытия конкретно не ограничивается каким-либо конкретным представлением видеовыборок, будь то с точки зрения RGB, YUV и т.п. Кроме того, объем не ограничен ни конкретным квантованием, ни DCT-преобразованием. Например, может использоваться альтернативное преобразование, такое как преобразование Карунена-Лоэва (KLT), либо преобразование может не использоваться. Дополнительно, раскрытие не ограничено VoIP-связью или связью ни по какому конкретному виду сети, а может использоваться в любой сети или среде, допускающей обмен данными.
[0085] Если считается, что смещение вектора движения ограничивается или не ограничивается целым числом пикселов и т.п., это может означать оценку движения в любом одном или двух из цветовых пространственных каналов или оценку движения во всех трех цветовых каналах.
[0086] Дополнительно, изобретение не ограничено выбором между целопиксельным и четвертьпиксельным разрешением. В общем, технологии, описанные в данном документе, могут применяться к выбору между целопиксельным разрешением и любым дробнопиксельным разрешением, например, разрешением в 1/2 пиксела; или выбору между целопиксельным разрешением и множеством различных дробнопиксельных режимов, например, выбору между целочисленным, 1/2 и 1/4-пиксельным режимами.
[0087] Дополнительно, объем раскрытия сущности не ограничен вариантом применения, в котором кодированное видео и/или поток захвата экрана передается по сети, ни вариантом осуществления, в котором потоки представляют собой передаваемый вживую поток. Например, в другом варианте применения, поток может сохраняться на устройстве хранения данных, таком как оптический диск, жесткий диск или другое магнитное устройство хранения данных либо карта флэш-памяти в формате Memory Stick, либо другое электронное запоминающее устройство. Следовательно, необходимо отметить, что поток совместного использования экрана не обязательно должен означать совместное использование вживую (хотя оно безусловно представляет собой один вариант). Альтернативно или дополнительно, он может сохраняться для совместного использования с одним или более другими пользователями позднее, или захваченные данные изображений могут не использоваться совместно, а вместо этого просто записываться для пользователя, который использует экран в это время. В общем, захват экрана может представлять собой любые данные движущихся изображений, состоящие из захваченного экранного контента на стороне кодера, захваченного посредством любого подходящего средства (не обязательно посредством считывания из экранного буфера, хотя это представляет собой один вариант), для совместного использования с одним или более других пользователей (вживую или нет), либо просто записываться в интересах захватывающего пользователя или только для архива (и, возможно, никогда более не просматриваться фактически снова, как может оказаться).
[0088] Также следует отметить, что кодек не обязательно ограничен кодированием только данных захвата экрана и видео. В вариантах осуществления, он также может допускать кодирование других типов данных движущихся изображений, например, анимации. Такие другие типы данных движущихся изображений могут кодироваться в дробнопиксельном режиме или целопиксельном режиме.
[0089] Дополнительно, следует отметить, что межкадровое кодирование не обязательно всегда должно кодировать относительно предыдущего кадра, но, если обобщать, некоторые кодеки могут обеспечивать возможность кодирования относительно кадра, отличного от целевого кадра, либо предыдущего, либо перед целевым кадром (при условии подходящего исходящего буфера).
[0090] Дополнительно, как пояснено выше, следует отметить, что сами векторы движения могут кодироваться дифференцированно. В этом случае, если считается, что вектор движения, передаваемый в служебных сигналах в кодированном потоке битов, ограничивается целым числом пикселов и т.п., это означает то, что дифференциально кодированная форма вектора движения ограничена таким образом (например, дельта).
[0091] Дополнительно, декодер не обязательно должен реализовываться в конечном пользовательском терминале, ни выводить данные движущихся изображений для немедленного потребления в приемном терминале. В альтернативных реализациях, приемный терминал может представлять собой промежуточный терминал, к примеру, сервер с запущенным программным обеспечением декодера для вывода данных движущихся изображений в другой терминал в декодированной или транскодированной форме или сохранения декодированных данных для последующего применения. Аналогично, кодер не должен реализовываться в конечном пользовательском терминале, ни кодировать данные движущихся изображений, исходящие из передающего терминала. В других вариантах осуществления, передающий терминал, например, может представлять собой промежуточный терминал, к примеру, сервер с запущенным программным обеспечением кодера для приема данных движущихся изображений в некодированной или альтернативно кодированной форме из другого терминала и кодирования или транскодирования этих данных для хранения на сервере или перенаправления в приемный терминал.
[0092] В общем, любые из функций, описанных в данном документе, могут быть реализованы с помощью программного обеспечения, микропрограммного обеспечения, аппаратных средств (к примеру, неизменяемой логической схемы) или комбинации этих реализаций. Термины "модуль", "функциональность", "компонент" и "логика" при использовании в данном документе обычно представляют программное обеспечение, микропрограммное обеспечение, аппаратные средства или комбинацию вышеозначенного. В случае программной реализации, модуль, функциональность или логика представляют программный код, который выполняет указанные задачи при выполнении в процессоре (к примеру, в CPU или в нескольких CPU). Программный код может быть сохранен на одном или более машиночитаемых запоминающих устройств. Признаки технологий, описанных ниже, являются независимыми от платформы, что означает то, что технологии могут быть реализованы на множестве коммерческих вычислительных платформ, имеющих множество процессоров.
[0093] Например, терминалы могут включать в себя объект (например, программное обеспечение), который инструктирует аппаратным средствам пользовательских терминалов выполнять операции, например, функциональные блоки процессоров и т.д. Например, терминалы могут включать в себя машиночитаемый носитель, который может быть выполнен с возможностью поддерживать инструкции, которые инструктируют пользовательским терминалам, а более конкретно, операционной системе и ассоциированным аппаратным средствам пользовательских терминалов выполнять операции. Таким образом, инструкции функционируют с возможностью конфигурировать операционную систему и ассоциированные аппаратные средства таким образом, чтобы выполнять операции, и в силу этого приводить к преобразованию операционной системы и ассоциированных аппаратных средств с тем, чтобы выполнять функции. Инструкции могут предоставляться посредством машиночитаемого носителя в терминалы через множество различных конфигураций.
[0094] Одна такая конфигурация машиночитаемого носителя представляет собой среду передачи сигналов и в силу этого выполнена с возможностью передавать инструкции (например, в качестве несущей) в вычислительное устройство, к примеру, через сеть. Машиночитаемый носитель также может быть сконфигурирован как машиночитаемый носитель хранения данных и в силу этого не представляет собой среду передачи сигналов. Примеры машиночитаемого носителя хранения данных включают в себя оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), оптический диск, флэш-память, запоминающее устройство на основе жесткого диска и другие запоминающие устройства, которые могут использовать магнитные, оптические и другие технологии для того, чтобы сохранять инструкции и другие данные.
[0095] Хотя изобретение описано на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен характерными признаками или этапами, описанными выше. Вместо этого, характерные признаки и этапы, описанные выше, раскрываются как примерные формы реализации формулы изобретения.

Claims (43)

1. Декодер, содержащий:
вход для приема данных движущихся изображений в кодированной форме, включающих в себя множество кадров, в которых область закодирована с использованием оценки движения, при этом данные движущихся изображений включают в себя соответственный набор значений векторов движения, ассоциированных с каждым соответственным одним из кадров или с каждой соответственной областью в каждом из кадров, причем каждое из значений векторов движения каждого соответственного кадра или области включено в поле вектора движения в кодированном потоке битов, при этом данные движущихся изображений дополнительно включают в себя по меньшей мере один соответственный индикатор в информации заголовка, ассоциированной с каждым из соответственных кадров или областей, указывающий то, закодированы ли соответственные значения векторов движения с первым разрешением или со вторым разрешением, причем поле вектора движения имеет уменьшенный размер для кадров или областей, имеющих значения векторов движения, закодированные со вторым разрешением, по отношению к размеру кадров или областей, имеющих значения векторов движения, закодированные с первым разрешением, и данные движущихся изображений включают в себя параметр для задания того, указывается ли первое разрешение или второе разрешение значений векторов движения в расчете на каждую область или в расчете на каждый кадр; и
модуль предсказания движения для декодирования кадров или областей на основе значений векторов движения, причем декодирование содержит:
считывание каждого из индикаторов из информации заголовка,
считывание упомянутого параметра и интерпретацию значений векторов движения соответствующим образом,
определения, исходя из считанных индикаторов, того, закодированы ли значения векторов движения соответственного кадра или области с первым или со вторым разрешением, и
интерпретацию значений векторов движения в единицах дробных пикселов в случае указания первого разрешения или в единицах целочисленных пикселов в случае указания второго разрешения.
2. Декодер по п. 1, при этом данные движущихся изображений содержат два соответственных индикатора, ассоциированных с каждым из кадров или областей, причем эти два индикатора указывают разрешение соответственных векторов движения в двух измерениях, и модуль предсказания движения выполнен с возможностью считывать оба индикатора и интерпретировать соответственные значения векторов движения соответствующим образом.
3. Декодер по п. 1, при этом:
по меньшей мере один из кадров разделен на множественные области;
данные движущихся изображений включают в себя по меньшей мере один соответственный индикатор, ассоциированный с каждой соответственной одной из этих множественных областей, чтобы по отдельности указывать то, закодированы ли значения векторов движения этой соответственной области с первым или со вторым разрешением; и
модуль предсказания движения выполнен с возможностью считывать индикаторы для определения того, закодированы ли значения векторов движения каждой соответственной области с первым или со вторым разрешением, и интерпретировать соответственные значения векторов движения в единицах дробных пикселов или целочисленных пикселов соответствующим образом.
4. Декодер по п. 3, при этом упомянутые множественные области представляют собой слайсы стандарта H.26x.
5. Декодер по п. 1, в котором модуль предсказания движения выполнен с возможностью по умолчанию интерпретировать соответственные значения векторов движения в единицах дробных пикселов, если соответственный индикатор не присутствует для одного из кадров или областей.
6. Декодер по п. 1, при этом по меньшей мере одно из значений векторов движения дифференциально закодировано исходя из дельта-значения, причем модуль предсказания движения выполнен с возможностью предсказывать это по меньшей мере одно значение вектора движения посредством масштабирования другого из значений векторов движения; и модуль предсказания движения дополнительно выполнен с возможностью интерпретировать данное по меньшей мере одно значение вектора движения в целопиксельных единицах посредством выполнения суммирования дельта-значения с масштабированным значением вектора движения без округления масштабированного значения вектора движения до целопиксельного разрешения.
7. Декодер по п. 1, при этом декодер содержит инверсию стадии кодирования без потерь, предшествующей упомянутому декодированию посредством модуля предсказания движения.
8. Машиночитаемое запоминающее устройство, в котором хранятся машиноисполняемые инструкции, которые при их исполнении процессором сетевого устройства предписывают сетевому устройству осуществлять операции, содержащие:
прием данных движущихся изображений в кодированной форме, включающих в себя множество кадров, в которых область закодирована с использованием оценки движения, при этом данные движущихся изображений содержат соответственный набор значений векторов движения, ассоциированных с каждым соответственным одним из кадров или с каждой соответственной областью в каждом из кадров, причем каждое из значений векторов движения каждого соответственного кадра или области включено в поле вектора движения в кодированном потоке битов, при этом данные движущихся изображений дополнительно содержат по меньшей мере один соответственный индикатор в информации заголовка, ассоциированной с каждым из соответственных кадров или областей, указывающий то, закодированы ли соответственные значения векторов движения с первым разрешением или со вторым разрешением, причем поле вектора движения имеет уменьшенный размер для кадров или областей, имеющих значения векторов движения, закодированные со вторым разрешением, по отношению к размеру кадров или областей, имеющих значения векторов движения, закодированные с первым разрешением, и данные движущихся изображений включают в себя параметр для задания того, указывается ли первое разрешение или второе разрешение значений векторов движения в расчете на каждую область или в расчете на каждый кадр;
считывание каждого из индикаторов из информации заголовка;
считывание упомянутого параметра и интерпретацию значений векторов движения соответствующим образом;
определение, исходя из считанных индикаторов, того, закодированы ли значения векторов движения соответственного кадра или области с первым или со вторым разрешением;
интерпретацию соответственных значений векторов движения в единицах дробных пикселов в случае указания первого разрешения или в единицах целочисленных пикселов в случае указания второго разрешения; и
декодирование кадров или областей на основе значений векторов движения, проинтерпретированных в единицах дробных или целочисленных пикселов согласно упомянутой интерпретации.
9. Машиночитаемое запоминающее устройство по п. 8, при этом данные движущихся изображений содержат два соответственных индикатора, ассоциированные с каждым из кадров или областей, причем эти два индикатора указывают разрешение соответственных векторов движения в двух измерениях.
10. Машиночитаемое запоминающее устройство по п. 8, при этом:
по меньшей мере один из кадров разделен на множественные области;
данные движущихся изображений включают в себя по меньшей мере один соответственный индикатор, ассоциированный с каждой соответственной одной из этих множественных областей, чтобы по отдельности указывать то, закодированы ли значения векторов движения этой соответственной области с первым или со вторым разрешением; и
машиноисполняемые инструкции дополнительно предписывают сетевому устройству считывать индикаторы для определения того, закодированы ли значения векторов движения каждой соответственной области с первым или со вторым разрешением, и интерпретировать соответственные значения векторов движения в единицах дробных пикселов или целочисленных пикселов соответствующим образом.
11. Машиночитаемое запоминающее устройство по п. 10, при этом данные движущихся изображений дополнительно включают в себя параметр для задания того, указывается ли разрешение значений векторов движения в расчете на каждую область или в расчете на каждый кадр, причем машиноисполняемые инструкции дополнительно предписывают сетевому устройству считывать этот параметр и интерпретировать значения векторов движения соответствующим образом.
12. Машиночитаемое запоминающее устройство п. 8, в котором машиноисполняемые инструкции дополнительно предписывают сетевому устройству по умолчанию интерпретировать соответственные значения векторов движения в единицах дробных пикселов, если соответственный индикатор не присутствует для одного из кадров или областей.
13. Сетевое устройство, содержащее:
процессор; и
машиночитаемое запоминающее устройство, в котором хранится программа, которая при ее исполнении процессором генерирует кодированный поток битов, при этом кодированный поток битов содержит:
последовательность кадров, включающую в себя множество кадров, в которых область закодирована с использованием оценки движения;
соответственный набор значений векторов движения, представляющих векторы движения оценки движения для каждого соответственного одного из кадров или каждой соответственной области в каждом из кадров, при этом каждое из значений векторов движения каждого соответственного кадра или области включено в поле вектора движения в кодированном потоке битов, причем упомянутый соответственный набор значений векторов движения закодирован согласно протоколу, посредством которого значения векторов движения, закодированные с первым разрешением, представляют дробнопиксельные единицы, а значения векторов движения, закодированные со вторым разрешением, представляют целопиксельные единицы, при этом согласно данному протоколу поле вектора движения имеет уменьшенный размер для кадров или областей, имеющих значения векторов движения, закодированные со вторым разрешением, по отношению к размеру кадров или областей, имеющих значения векторов движения, закодированные с первым разрешением; и
соответственный индикатор в информации заголовка, ассоциированной с каждым из соответственных кадров или областей, указывающий то, закодированы ли соответственные значения векторов движения соответственного кадра или области с первым разрешением или со вторым разрешением, что указывается в расчете на каждую область или в расчете на каждый кадр, при этом посредством включения упомянутого индикатора в информацию заголовка декодеру обеспечивается возможность считывать данный индикатор и интерпретировать соответственные значения векторов движения в единицах дробных пикселов или целочисленных пикселов.
14. Сетевое устройство по п. 13, при этом кодированный поток битов включает в себя один из множества кадров или областей, закодированный с первым разрешением, и другой из множества кадров или областей, закодированный со вторым разрешением, причем упомянутый соответственный индикатор указывает разрешение по отдельности для каждого из множества кадров или областей.
15. Сетевое устройство по п. 13, при этом по меньшей мере один из кадров разделен на множественные области и кодированный поток битов включает в себя по меньшей мере один соответственный индикатор, ассоциированный с каждой соответственной одной из этих множественных областей, чтобы по отдельности указывать то, закодированы ли значения векторов движения этой соответственной области с первым или со вторым разрешением.
16. Сетевое устройство по п. 15, при этом упомянутые множественные области представляют собой слайсы стандарта H.26x.
17. Сетевое устройство по п. 15, при этом кодированный поток битов дополнительно включает в себя параметр для задания того, указывается ли разрешение значений векторов движения в расчете на каждую область или в расчете на каждый кадр.
18. Сетевое устройство по п. 13, при этом соответственные значения векторов движения, включенные в кодированный поток битов, дополнительно кодируются согласно технологии кодирования без потерь.
19. Сетевое устройство по п. 13, при этом соответственные значения векторов движения по умолчанию интерпретируются в единицах дробных пикселов, если соответственный индикатор не присутствует для одного из кадров или областей.
20. Сетевое устройство по п. 13, при этом кодированный поток битов содержит параметр для задания того, указывается ли разрешение значений векторов движения в расчете на каждую область или в расчете на каждый кадр, причем этот параметр является считываемым, чтобы посредством него интерпретировать значения векторов движения соответствующим образом.
RU2016127286A 2014-01-08 2015-01-07 Представление векторов движения в кодированном потоке битов RU2679979C1 (ru)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461925108P 2014-01-08 2014-01-08
US61/925,108 2014-01-08
US201461934506P 2014-01-31 2014-01-31
US61/934,506 2014-01-31
US14/530,625 US9774881B2 (en) 2014-01-08 2014-10-31 Representing motion vectors in an encoded bitstream
US14/530,625 2014-10-31
PCT/US2015/010391 WO2015105816A2 (en) 2014-01-08 2015-01-07 Representing motion vectors in an encoded bitstream

Publications (1)

Publication Number Publication Date
RU2679979C1 true RU2679979C1 (ru) 2019-02-14

Family

ID=53496190

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016127286A RU2679979C1 (ru) 2014-01-08 2015-01-07 Представление векторов движения в кодированном потоке битов

Country Status (11)

Country Link
US (4) US9774881B2 (ru)
EP (2) EP3075156A2 (ru)
JP (3) JP6588441B2 (ru)
KR (3) KR102427065B1 (ru)
CN (2) CN110460861B (ru)
AU (1) AU2015204953B2 (ru)
BR (1) BR112016015618A8 (ru)
CA (1) CA2935425C (ru)
MX (1) MX361790B (ru)
RU (1) RU2679979C1 (ru)
WO (1) WO2015105816A2 (ru)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
CA2961681C (en) 2014-09-30 2022-08-09 Hfi Innovation Inc. Method of adaptive motion vetor resolution for video coding
CN106797229B (zh) * 2014-11-20 2019-06-21 寰发股份有限公司 视频编码方法
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
GB2539213A (en) * 2015-06-08 2016-12-14 Canon Kk Schemes for handling an AMVP flag when implementing intra block copy coding mode
KR20240000649A (ko) * 2015-08-24 2024-01-02 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017156669A1 (en) 2016-03-14 2017-09-21 Mediatek Singapore Pte. Ltd. Methods for motion vector storage in video coding
US10362307B2 (en) * 2016-09-09 2019-07-23 Hanwha Techwin Co., Ltd. Quantization parameter determination method and image capture apparatus
US10841794B2 (en) * 2017-09-18 2020-11-17 Futurewei Technologies, Inc. Adaptive motion vector resolution
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
WO2019194501A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 움직임 벡터 리파인먼트에 기반한 영상 코딩 방법 및 그 장치
CN112055967B (zh) * 2018-04-02 2024-03-26 Lg电子株式会社 基于运动矢量的图像编码方法及其设备
US11057617B2 (en) * 2018-08-03 2021-07-06 Tencent America LLC Method and apparatus for video coding
CN111083491A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 细化运动矢量的利用
CN109413344B (zh) * 2018-10-26 2022-04-19 北京计算机技术及应用研究所 基于视频采集及编码技术的多分辨率屏幕操作状态监视装置
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020098808A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Construction of merge with motion vector difference candidates
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
CN113196747B (zh) 2018-12-21 2023-04-14 北京字节跳动网络技术有限公司 当前图片参考模式下的信息信令通知
CN113228675A (zh) 2018-12-21 2021-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
EP3844960A4 (en) * 2018-12-29 2021-12-15 Huawei Technologies Co., Ltd. ENCODER, DECODER, AND RELATED METHODS USING COMPACT MOTION VECTOR STORAGE
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
EP4304181A3 (en) 2019-04-01 2024-02-21 Beijing Bytedance Network Technology Co., Ltd. Using interpolation filters for history based motion vector prediction
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
JP7409802B2 (ja) * 2019-08-22 2024-01-09 シャープ株式会社 動画像復号装置および動画像符号化装置
CN110636294B (zh) * 2019-09-27 2024-04-09 腾讯科技(深圳)有限公司 视频解码方法及装置,视频编码方法及装置
CN110650357B (zh) 2019-09-27 2023-02-10 腾讯科技(深圳)有限公司 视频解码方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999053438A2 (en) * 1998-04-16 1999-10-21 Scientific-Atlanta, Inc. Motion estimation system and method
US20040001544A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Motion estimation/compensation for screen capture video
US20060013309A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Video encoding and decoding methods and video encoder and decoder
JP2006157531A (ja) * 2004-11-30 2006-06-15 Victor Co Of Japan Ltd 動画像符号化復号化装置
RU2007141925A (ru) * 2005-04-13 2009-05-20 НТТ ДоКоМо, Инк. (JP) Устройство кодирования динамического изображения, устройство декодирования динамического изображения, способ кодирования динамического изображения, способ декодирования динамического изображения, программа кодирования динамического изображения и программа декодирования динамического изображения
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US20130229485A1 (en) * 2011-08-30 2013-09-05 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding

Family Cites Families (223)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60158786A (ja) 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
US4661849A (en) 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
US4661853A (en) 1985-11-01 1987-04-28 Rca Corporation Interfield image motion detector for video signals
EP0294958B1 (en) 1987-06-09 1995-08-23 Sony Corporation Motion compensated interpolation of digital television images
DE3854171T2 (de) 1987-06-09 1995-12-21 Sony Corp Bewertung von Bewegungsvektoren in Fernsehbildern.
JP2712645B2 (ja) 1989-10-14 1998-02-16 ソニー株式会社 動きベクトル伝送方法及びその装置並びに動きベクトル復号化方法及びその装置
EP0424026B1 (en) 1989-10-14 1997-07-23 Sony Corporation Video signal transmitting system and method
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
KR950011200B1 (ko) 1990-10-31 1995-09-29 니뽕 빅터 가부시끼가이샤 인터레이스 동화상 신호의 압축 장치
GB2256341B (en) 1991-05-24 1995-02-15 British Broadcasting Corp Video image processing
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
US5428396A (en) 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
CA2079434A1 (en) 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
GB2262854B (en) 1991-12-24 1995-05-24 Sony Broadcast & Communication Image processing apparatus
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
US6441842B1 (en) 1992-02-19 2002-08-27 8×8, Inc. Video compression/decompression processing and processors
US5436665A (en) * 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
JPH0662386A (ja) * 1992-08-04 1994-03-04 G C Technol Kk 解像度変換復号方法と装置
JP3348310B2 (ja) 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
JP3200196B2 (ja) 1992-10-15 2001-08-20 株式会社リコー 動きベクトル検出方法
WO1994022269A1 (en) 1993-03-24 1994-09-29 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
JPH06343172A (ja) 1993-06-01 1994-12-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び動きベクトル符号化方法
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
CN1099723A (zh) 1993-08-31 1995-03-08 张智新 硫酸铵分解法
KR970003102B1 (ko) * 1993-09-17 1997-03-14 대우전자 주식회사 영상 복호기에서의 하프 픽셀 움직임 보상 회로
TW283289B (ru) 1994-04-11 1996-08-11 Gen Instrument Corp
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5684538A (en) 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
EP0710033A3 (en) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
GB2301971B (en) 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
GB2301972B (en) 1995-06-06 1999-10-20 Sony Uk Ltd Video compression
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US5929940A (en) 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
US5991463A (en) 1995-11-08 1999-11-23 Genesis Microchip Inc. Source data interpolation method and apparatus
JP2798035B2 (ja) 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5799113A (en) 1996-01-19 1998-08-25 Microsoft Corporation Method for expanding contracted video images
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
US6233017B1 (en) 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6130963A (en) 1996-11-22 2000-10-10 C-Cube Semiconductor Ii, Inc. Memory efficient decoding of video frame chroma
US6377628B1 (en) 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
US6330344B1 (en) * 1997-02-14 2001-12-11 Sony Corporation Image processing device and method employing motion detection to generate improved quality image from low resolution image
US6201927B1 (en) 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
EP0973147A4 (en) 1997-03-31 2007-09-26 Matsushita Electric Ind Co Ltd DYNAMIC IMAGE DISPLAY METHOD AND DEVICE THEREFOR
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
JP3129986B2 (ja) 1997-04-09 2001-01-31 日本車輌製造株式会社 杭施工機のトルク管理装置
US6067322A (en) 1997-06-04 2000-05-23 Microsoft Corporation Half pixel motion estimation in motion video signal encoding
ES2545066T3 (es) 1997-06-09 2015-09-08 Hitachi, Ltd. Medio de grabación de información de imágenes
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
JPH1169345A (ja) 1997-06-11 1999-03-09 Fujitsu Ltd フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法
JP2897763B2 (ja) 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
US6310918B1 (en) 1997-07-31 2001-10-30 Lsi Logic Corporation System and method for motion vector extraction and computation meeting 2-frame store and letterboxing requirements
US6266091B1 (en) 1997-07-31 2001-07-24 Lsi Logic Corporation System and method for low delay mode operation video decoding
FR2766946B1 (fr) 1997-08-04 2000-08-11 Thomson Multimedia Sa Procede et dispositif de pretraitement pour estimation de mouvement
US6281942B1 (en) 1997-08-11 2001-08-28 Microsoft Corporation Spatial and temporal filtering mechanism for digital motion video signals
US6339656B1 (en) 1997-12-25 2002-01-15 Matsushita Electric Industrial Co., Ltd. Moving picture encoding decoding processing apparatus
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
JP3856262B2 (ja) 1998-03-09 2006-12-13 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び動き補償符号記録媒体
US6611624B1 (en) * 1998-03-13 2003-08-26 Cisco Systems, Inc. System and method for frame accurate splicing of compressed bitstreams
US6020934A (en) * 1998-03-23 2000-02-01 International Business Machines Corporation Motion estimation architecture for area and power reduction
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
JP4026238B2 (ja) 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
US6219070B1 (en) 1998-09-30 2001-04-17 Webtv Networks, Inc. System and method for adjusting pixel parameters by subpixel positioning
US6466624B1 (en) * 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
GB2343579A (en) 1998-11-07 2000-05-10 Ibm Hybrid-linear-bicubic interpolation method and apparatus
US6584154B1 (en) * 1998-11-26 2003-06-24 Oki Electric Industry Co., Ltd. Moving-picture coding and decoding method and apparatus with reduced computational cost
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6496608B1 (en) 1999-01-15 2002-12-17 Picsurf, Inc. Image data interpolation system and method
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6320593B1 (en) 1999-04-20 2001-11-20 Agilent Technologies, Inc. Method of fast bi-cubic interpolation of image information
JP2000308064A (ja) 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
EP1050850A1 (en) * 1999-05-03 2000-11-08 THOMSON multimedia Process for estimating a dominant motion between two frames
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US6556624B1 (en) * 1999-07-27 2003-04-29 At&T Corp. Method and apparatus for accomplishing multiple description coding for video
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
US20030095603A1 (en) 2001-11-16 2003-05-22 Koninklijke Philips Electronics N.V. Reduced-complexity video decoding using larger pixel-grid motion compensation
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
AU2002366825A1 (en) * 2001-12-20 2003-07-09 Koninklijke Philips Electronics N.V. Video encoding and decoding method and device
JP2003189312A (ja) * 2001-12-20 2003-07-04 Oki Electric Ind Co Ltd 動画像符号化装置及び動画像復号化装置
CN1265649C (zh) 2002-01-24 2006-07-19 株式会社日立制作所 运动图像的编码方法、解码方法、编码装置及解码装置
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7110459B2 (en) 2002-04-10 2006-09-19 Microsoft Corporation Approximate bicubic filter
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7305034B2 (en) 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
US7116831B2 (en) 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US7277587B2 (en) 2002-04-26 2007-10-02 Sharp Laboratories Of America, Inc. System and method for lossless video coding
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
KR101075860B1 (ko) * 2002-07-15 2011-10-25 노키아 코포레이션 비디오 시퀀스에서 오류 은폐 방법
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
US7072512B2 (en) 2002-07-23 2006-07-04 Microsoft Corporation Segmentation of digital video and images into continuous tone and palettized regions
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
WO2004114063A2 (en) * 2003-06-13 2004-12-29 Georgia Tech Research Corporation Data reconstruction using directional interpolation techniques
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
EP1536647A1 (en) 2003-11-26 2005-06-01 STMicroelectronics Limited A video decoding device
KR100631777B1 (ko) 2004-03-31 2006-10-12 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
KR100586882B1 (ko) 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
US8130825B2 (en) * 2004-05-10 2012-03-06 Nvidia Corporation Processor for video data encoding/decoding
US7558428B2 (en) 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
JP4216796B2 (ja) 2004-12-15 2009-01-28 日本電信電話株式会社 動きベクトル探索方法,動きベクトル探索装置,動きベクトル探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
KR100703778B1 (ko) * 2005-04-29 2007-04-06 삼성전자주식회사 고속 fgs를 지원하는 비디오 코딩 방법 및 장치
WO2006124885A2 (en) 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US20070025442A1 (en) 2005-07-28 2007-02-01 Sanyo Electric Co., Ltd. Coding method for coding moving images
US8761259B2 (en) 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
GB0600141D0 (en) * 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
US7956930B2 (en) * 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8155195B2 (en) 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7965767B2 (en) 2006-06-30 2011-06-21 Intel Corporation Two-dimensional filtering architecture
US9014280B2 (en) * 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
US9445128B2 (en) * 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
CA2681210C (en) * 2007-04-09 2021-03-02 Nokia Corporation High accuracy motion vectors for video coding with low encoder and decoder complexity
US8861591B2 (en) 2007-05-11 2014-10-14 Advanced Micro Devices, Inc. Software video encoder with GPU acceleration
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
SG152082A1 (en) 2007-10-19 2009-05-29 Creative Tech Ltd A method and system for processing a composite video image
US8582652B2 (en) * 2007-10-30 2013-11-12 General Instrument Corporation Method and apparatus for selecting a coding mode
US20090141808A1 (en) * 2007-11-30 2009-06-04 Yiufai Wong System and methods for improved video decoding
US8279936B1 (en) 2007-12-11 2012-10-02 Marvell International Ltd. Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
US20090168871A1 (en) * 2007-12-31 2009-07-02 Ning Lu Video motion estimation
WO2009088038A1 (ja) 2008-01-09 2009-07-16 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR101431543B1 (ko) * 2008-01-21 2014-08-21 삼성전자주식회사 영상 부호화/복호화 장치 및 방법
US9584710B2 (en) 2008-02-28 2017-02-28 Avigilon Analytics Corporation Intelligent high resolution video system
JP2009230537A (ja) 2008-03-24 2009-10-08 Olympus Corp 画像処理装置、画像処理プログラム、画像処理方法、および、電子機器
US8266665B2 (en) 2008-03-25 2012-09-11 Verizon Patent And Licensing Inc. TV screen capture
US20090245374A1 (en) 2008-03-26 2009-10-01 Mediatek Inc. Video encoder and motion estimation method
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US20090262801A1 (en) 2008-04-17 2009-10-22 Qualcomm Incorporated Dead zone parameter selections for rate control in video coding
JP2010016453A (ja) 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
CN102224734B (zh) * 2008-10-02 2013-11-13 索尼公司 图像处理设备和方法
US9078007B2 (en) 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
WO2010043806A2 (fr) 2008-10-14 2010-04-22 France Telecom Codage et decodage avec elimination d'un ou plusieurs predicteurs predetermines
TWI428022B (zh) * 2008-10-24 2014-02-21 Nat Univ Chung Cheng Video control method for instant video encoding chips
DE102008064280A1 (de) 2008-12-20 2010-06-24 Bayer Technology Services Gmbh Verfahren zur Herstellung von Bis(Para-Aminocyclohexyl)Methan
US8428145B2 (en) 2008-12-31 2013-04-23 Entropic Communications, Inc. System and method for providing fast trick modes
US9472167B2 (en) 2009-04-17 2016-10-18 International Business Machines Corporation Video capture through hardware
US8346915B2 (en) 2009-05-04 2013-01-01 Qualcomm Incorporated System and method of recording and sharing mobile application activities
US8498493B1 (en) 2009-06-02 2013-07-30 Imagination Technologies Limited Directional cross hair search system and method for determining a preferred motion vector
KR20120038401A (ko) * 2009-06-09 2012-04-23 소니 주식회사 화상 처리 장치 및 방법
JP2010288110A (ja) * 2009-06-12 2010-12-24 Sony Corp 画像処理装置および画像処理方法
EP2530937B1 (en) 2009-06-18 2015-03-18 Kabushiki Kaisha Toshiba Video encoding apparatus and video decoding apparatus
JP5353532B2 (ja) 2009-07-29 2013-11-27 ソニー株式会社 画像処理装置及び画像処理方法
US20110255589A1 (en) 2009-08-03 2011-10-20 Droplet Technology, Inc. Methods of compressing data and methods of assessing the same
JP2011041037A (ja) * 2009-08-12 2011-02-24 Sony Corp 画像処理装置および方法
KR20110017302A (ko) 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
WO2011021915A2 (ko) 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
EP2302588B1 (en) * 2009-08-21 2012-02-29 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for estimation of interframe motion fields
KR101678968B1 (ko) * 2009-08-21 2016-11-25 에스케이텔레콤 주식회사 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101792041B1 (ko) * 2009-10-14 2017-11-02 톰슨 라이센싱 움직임 정보의 적응적 코딩 방법 및 장치
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
EP2362655B1 (en) * 2010-02-10 2013-07-17 Telefonaktiebolaget L M Ericsson (Publ) Motion-vector estimation
US20110200108A1 (en) 2010-02-18 2011-08-18 Qualcomm Incorporated Chrominance high precision motion filtering for motion interpolation
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US9313526B2 (en) * 2010-02-19 2016-04-12 Skype Data compression for video
WO2011126272A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
WO2011152389A1 (ja) 2010-06-04 2011-12-08 日本電気株式会社 通信システムと方法と装置
US20120008686A1 (en) 2010-07-06 2012-01-12 Apple Inc. Motion compensation using vector quantized interpolation filters
JP5563403B2 (ja) 2010-08-12 2014-07-30 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
RU2010135495A (ru) * 2010-08-24 2012-02-27 ЭлЭсАй Корпорейшн (US) Видеотранскодер с гибким управлением качеством и сложностью
US20120051431A1 (en) * 2010-08-25 2012-03-01 Qualcomm Incorporated Motion direction based adaptive motion vector resolution signaling for video coding
US9288490B2 (en) 2010-09-30 2016-03-15 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
US10327008B2 (en) * 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US10045046B2 (en) * 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
JP2012126040A (ja) 2010-12-16 2012-07-05 Ricoh Co Ltd 画像形成装置
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
TWI466550B (zh) * 2011-02-23 2014-12-21 Novatek Microelectronics Corp 多媒體裝置及其移動偵測方法
US9271005B2 (en) 2011-02-24 2016-02-23 Vixs Systems, Inc. Multi-pass video encoder and methods for use therewith
WO2012120863A1 (ja) 2011-03-08 2012-09-13 パナソニック株式会社 動画像符号化方法および動画像復号方法
US20120236115A1 (en) * 2011-03-14 2012-09-20 Qualcomm Incorporated Post-filtering in full resolution frame-compatible stereoscopic video coding
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
JP2012231301A (ja) 2011-04-26 2012-11-22 Sony Corp 係数学習装置および方法、画像処理装置および方法、プログラム、並びに記録媒体
WO2013002716A2 (en) 2011-06-30 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) A method a decoder and encoder for processing a motion vector
US10536701B2 (en) 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
US9277228B2 (en) * 2011-07-18 2016-03-01 Qualcomm Incorporated Adaptation parameter sets for video coding
US9521418B2 (en) * 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US9288505B2 (en) * 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
CN102946533B (zh) * 2011-09-02 2016-08-17 斯凯普公司 视频编码
CN102946534A (zh) 2011-09-02 2013-02-27 斯凯普公司 视频编码
RU2487489C2 (ru) 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
RU2628226C2 (ru) * 2011-12-16 2017-08-15 Сан Пэтент Траст Способ кодирования видеоизображений, устройство кодирования видеоизображений, способ декодирования видеоизображений, устройство декодирования видеоизображений и устройство кодирования/декодирования видеоизображений
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US20130188718A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc without including a temporally neighboring block motion vector in a candidate list
US9215266B2 (en) 2012-01-26 2015-12-15 Zoom International S.R.O. System and method for zero-footprint screen capture
CA2807786C (en) * 2012-03-08 2016-06-21 Research In Motion Limited Motion vector sign bit hiding
US20130287109A1 (en) * 2012-04-29 2013-10-31 Qualcomm Incorporated Inter-layer prediction through texture segmentation for video coding
US20130294513A1 (en) * 2012-05-07 2013-11-07 Qualcomm Incorporated Inter layer merge list construction for video coding
CN102740073B (zh) 2012-05-30 2015-06-17 华为技术有限公司 一种编码方法及装置
US9253487B2 (en) * 2012-05-31 2016-02-02 Qualcomm Incorporated Reference index for enhancement layer in scalable video coding
US9584805B2 (en) * 2012-06-08 2017-02-28 Qualcomm Incorporated Prediction mode information downsampling in enhanced layer coding
US9258562B2 (en) * 2012-06-13 2016-02-09 Qualcomm Incorporated Derivation of depth map estimate
US9219913B2 (en) * 2012-06-13 2015-12-22 Qualcomm Incorporated Inferred base layer block for TEXTURE—BL mode in HEVC based single loop scalable video coding
US9338452B2 (en) 2012-07-09 2016-05-10 Qualcomm Incorporated Motion vector difference coding extension for enhancement layer
US9674519B2 (en) * 2012-11-09 2017-06-06 Qualcomm Incorporated MPEG frame compatible video coding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999053438A2 (en) * 1998-04-16 1999-10-21 Scientific-Atlanta, Inc. Motion estimation system and method
US20040001544A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Motion estimation/compensation for screen capture video
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US20060013309A1 (en) * 2004-07-15 2006-01-19 Samsung Electronics Co., Ltd. Video encoding and decoding methods and video encoder and decoder
JP2006157531A (ja) * 2004-11-30 2006-06-15 Victor Co Of Japan Ltd 動画像符号化復号化装置
RU2007141925A (ru) * 2005-04-13 2009-05-20 НТТ ДоКоМо, Инк. (JP) Устройство кодирования динамического изображения, устройство декодирования динамического изображения, способ кодирования динамического изображения, способ декодирования динамического изображения, программа кодирования динамического изображения и программа декодирования динамического изображения
US20130229485A1 (en) * 2011-08-30 2013-09-05 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding

Also Published As

Publication number Publication date
JP2022017234A (ja) 2022-01-25
US10587891B2 (en) 2020-03-10
MX2016008974A (es) 2016-10-04
JP2017508349A (ja) 2017-03-23
KR102306845B1 (ko) 2021-09-30
US20180109806A1 (en) 2018-04-19
WO2015105816A3 (en) 2016-04-28
CN110460861A (zh) 2019-11-15
EP3075156A2 (en) 2016-10-05
US11546629B2 (en) 2023-01-03
AU2015204953B2 (en) 2018-11-01
MX361790B (es) 2018-12-17
KR20160106127A (ko) 2016-09-09
US20150195527A1 (en) 2015-07-09
KR20210118986A (ko) 2021-10-01
JP2020022170A (ja) 2020-02-06
WO2015105816A2 (en) 2015-07-16
US20200169750A1 (en) 2020-05-28
AU2015204953A1 (en) 2016-07-21
US9774881B2 (en) 2017-09-26
EP4192014A1 (en) 2023-06-07
JP6588441B2 (ja) 2019-10-09
KR102523311B1 (ko) 2023-04-18
CN110460861B (zh) 2022-11-18
BR112016015618A8 (pt) 2020-06-02
KR20220104075A (ko) 2022-07-25
CN105900425B (zh) 2019-10-01
US20230086944A1 (en) 2023-03-23
BR112016015618A2 (ru) 2017-08-08
CA2935425C (en) 2021-11-23
KR102427065B1 (ko) 2022-07-28
CA2935425A1 (en) 2015-07-16
CN105900425A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
RU2679979C1 (ru) Представление векторов движения в кодированном потоке битов
RU2679349C1 (ru) Кодирование данных захвата экрана
TWI705698B (zh) 適應性跨組件殘差預測
US11470330B2 (en) Intra prediction in video coding
JP6728039B2 (ja) ビデオコーディングのための適応色変換
IL280228B2 (en) Video encoder, video encoder and corresponding encoding and decoding methods
JP2022538061A (ja) ビデオコーディングのための組み合わされたインターおよびイントラ予測モード
US20220046234A1 (en) Picture prediction method and apparatus, and computer-readable storage medium
CN115714861A (zh) 视频译码器及相应方法
JP2023523094A (ja) 4:4:4色フォーマットにおけるビデオコーディングの方法及び装置
CN113615191A (zh) 图像显示顺序的确定方法、装置和视频编解码设备