Двойной предсказывающий режим слияния, основанный на одинарных предсказывающих соседях, в кодировании видео

Иллюстрации

Показать все

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

Реферат

[0001] Эта заявка испрашивает приоритет предварительной заявки на патент США № 61/454862, поданной 21 марта 2011 года, и предварительной заявки на патент США № 61/502703, поданной 29 июня 2011 года, полное содержимое каждой из которых включено в данный документ посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ

[0002] Это раскрытие относится к методикам кодирования видео, используемым для сжатия данных видео, и, конкретнее, к режимам кодирования видео, используемым при сжатии видео.

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

[0003] Возможности цифрового видео могут быть включены в широкий диапазон видеоустройств, в том числе средства цифрового телевидения, системы цифрового прямого вещания, устройства беспроводной связи, такие как беспроводные телефонные трубки, системы беспроводного вещания, персональные цифровые помощники (PDA), переносные или настольные компьютеры, планшетные компьютеры, цифровые камеры, устройства цифровой записи, игровые видеоустройства, консоли видеоигр, персональные мультимедийные проигрыватели и подобное. Такие видеоустройства могут реализовать методики сжатия видео, например, такие, которые описаны в MPEG-2, MPEG-4 или ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное Кодирование Видео (AVC) для того, чтобы сжимать данные видео. Методики сжатия видео выполняют пространственное и/или временное предсказание (предсказание во времени), чтобы сократить или удалить избыточность, присущую последовательностям видео. Новые стандарты видео, например стандарт Высокоэффективного Кодирования Видео (HEVC), разрабатываемый «Объединенной командой по кодированию видео», которая представляет собой сотрудничество между MPEG и ITU-T, продолжают появляться и развиваться. Новый стандарт HEVC иногда называется H.265.

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

[0005] С новым стандартом HEVC наибольшие единицы (LCU) кодирования могут быть разделены на все меньшие и меньшие CU согласно схеме разделения квадродерева. CU могут быть предсказаны на основе так называемых единиц (PU) предсказания, которые могут иметь размеры раздела, соответствующие размеру CU или меньшие, чем размер CU так, что множественные PU могут быть использованы для предсказания данной CU.

[0006] Разные режимы могут быть использованы для кодирования CU. Например, разные режимы внутреннего (intra) кодирования могут быть использованы для кодирования CU на основе предсказывающих данных в пределах одного и того же кадра или среза (сегмента) для того, чтобы использовать пространственную избыточность в пределах кадра видео. В качестве альтернативы режимы внешнего (inter) кодирования могут быть использованы для кодирования CU на основе предсказывающих данных от другого кадра или среза для того, чтобы использовать временную избыточность по кадрам последовательности видео. После того как предсказывающее кодирование выполнено согласно выбранному режиму, затем может быть выполнено кодирование с преобразованием, например дискретные косинусные преобразования (DCT), целочисленные преобразования или подобное. С HEVC кодирование с преобразованием может происходить относительно единиц (TU) преобразования, которые также могут иметь варьирующиеся размеры преобразования в стандарте HEVC. Квантование коэффициентов преобразования, сканирование квантованных коэффициентов преобразования и энтропийное кодирование также могут быть выполнены. Информация синтаксиса сигнализируется с кодированными данными видео, например, в заголовке среза видео или заголовке блока видео для того, чтобы информировать декодер как декодировать данные видео. Из других вещей, информация синтаксиса может идентифицировать режим, который был использован при кодировании видео разных блоков видео.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0021] Фиг.2 представляет собой схему, иллюстрирующую разделение квадродерева единиц (CU) кодирования в соответствии с методиками этого раскрытия.

[0022] Фиг.3 представляет собой концептуальную схему, иллюстрирующую некоторые возможные соотношения между CU, единицами (PU) предсказания и единицами (TU) преобразования, в соответствии с методиками этого раскрытия.

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

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

[0025] Фиг.6 представляет собой блок-схему, иллюстрирующую декодер видео, который может реализовать методики этого раскрытия.

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

[0027] Фиг.8 и 9 представляют собой блок-схемы последовательностей операций, иллюстрирующие методики, совместимые с этим раскрытием.

ПОДРОБНОЕ ОПИСАНИЕ

[0028] В большинстве систем кодирования видео оценка движения и компенсация движения используются для сокращения временной избыточности в последовательности видео для того, чтобы достичь сжатия данных. В этом случае вектор движения может быть сгенерирован для того, чтобы идентифицировать предсказывающий блок данных видео, например, из другого среза или кадра видео, который может быть использован для предсказания значений кодируемого текущего блока видео. Значения предсказывающего блока видео вычитаются из значений текущего блока видео для выработки блока остаточных данных. Вектор движения передается от кодера к декодеру вместе с остаточными данными. Декодер может определить местоположение того же самого предсказывающего блока (на основании вектора движения) и восстановить кодированный блок видео, объединяя остаточные данные с данными предсказывающего блока. Многие другие методики сжатия также могут быть использованы, например преобразования и энтропийное кодирование, чтобы дополнительно улучшить сжатие видео.

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

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

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

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

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

[0034] Фиг.1 представляет собой блок-схему, иллюстрирующую примерную систему 10 кодирования и декодирования видео, которая может реализовать методики этого раскрытия. Как показано на Фиг.1, система 10 включает в себя устройство-источник 12, которое передает кодированное видео устройству-адресату 16 через канал 15 связи. Устройство-источник 12 и устройство-адресат 16 могут содержать любое из широкого диапазона устройств. В некоторых случаях, устройство-источник 12 и устройство-адресат 16 могут содержать телефонные трубки-устройства беспроводной связи, так называемые сотовые или спутниковые радиотелефоны. Методики этого раскрытия, однако, которые применяются в основном к кодированию и декодированию блоков видео в двойном предсказывающем режиме слияния могут быть применены к не являющимся проводными устройствам, включающим в себя возможности кодирования и/или декодирования видео. Устройство-источник 12 и устройство-адресат 16 представляют собой лишь примеры устройств кодирования, которые могут поддерживать методики, описанные в данном документе.

[0035] В примере по Фиг.1, устройство-источник 12 может включать в себя источник 20 видео, кодер 22 видео, модулятор/демодулятор (модем) 23 и передатчик 24. Устройство-адресат 16 может включать в себя приемник 26, модем 27, декодер 28 видео и устройство 30 отображения. В соответствии с этим раскрытием, кодер 22 видео устройства-источника 12 может быть сконфигурирован, чтобы кодировать один или более блоков видео, согласно двойному предсказывающему режиму слияния. В двойном предсказывающем режиме слияния блок видео перенимает свою информацию движения от двух разных соседних блоков, при этом каждый из упомянутых двух разных соседних блоков был кодирован в одинарном предсказывающем режиме. Элементы синтаксиса могут быть сгенерированы в кодере 22 видео для того, чтобы идентифицировать упомянутые два разных соседних блока видео, кодируемые в одинарных предсказывающих режимах. Таким образом, декодер видео может восстановить двойной предсказывающий блок видео, основываясь на информации движения упомянутых двух разных соседних блоков видео, идентифицированных элементами синтаксиса.

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

[0037] Источник 20 видео может содержать устройство захвата видео, например видеокамеру, видеоархив, содержащий ранее захваченное видео, трансляцию видео от поставщика контента видео или другого источника видео. В качестве дополнительной альтернативы, источник 20 видео может генерировать основанные на компьютерной графике данные в качестве видеоисточника или комбинацию видео в реальном времени, архивированного видео и сгенерированного компьютером видео. В некоторых случаях, если источник 20 видео представляет собой видеокамеру, устройство-источник 12 и устройство-адресат 16 могут формировать так называемые телефоны-камеры или видеотелефоны. В каждом случае, захваченное, предварительно захваченное или сгенерированное компьютером видео может быть кодировано кодером 22 видео.

[0038] Как только данные видео кодированы кодером 22 видео, информация кодированного видео затем может быть модулирована модемом 23 согласно стандарту связи, например множественный доступ с кодовым разделением (CDMA), мультиплексирование с ортогональным частотным разделением (OFDM) или любой другой стандарт связи или методика. Кодированные и модулированные данные затем могут быть переданы к устройству-адресату 16 через передатчик 24. Модем 23 может включать в себя различные смесители, фильтры, усилители или другие компоненты, выполненные для модуляции сигналов. Передатчик 24 может включать в себя схемы, выполненные для передачи данных, в том числе усилители, фильтры и одну или более антенн. Приемник 26 устройства-адресата 16 принимает информацию по каналу 15 и модем 27 демодулирует информацию.

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

[0040] Канал 15 связи может содержать любой беспроводной или проводной носитель связи, например радиочастотный (РЧ) спектр или одну или более физических линий передачи, или любую комбинацию беспроводного или проводного носителей. Канал 15 связи может формировать часть пакетной сети, например, локальной сети, широкомасштабной сети или глобальной сети, такой как Интернет. Канал 15 связи, в общем, представляет любой подходящий носитель связи или совокупность разных носителей связи для передачи данных видео от устройства-источника 12 устройству-адресату 16. Кроме того, Фиг.1 является лишь примерной и методики этого раскрытия могут применяться к любым настройкам кодирования видео (например, кодирования видео или декодирования видео), которые необязательно включают в себя передачу каких-либо данных между устройствами кодирования и декодирования. В других примерах данные могут быть извлечены из локальной памяти, переданы потоком по сети и т.п.

[0041] В некоторых случаях кодер 22 видео и декодер 28 видео могут работать по существу согласно стандарту сжатия видео, такому как развивающийся стандарт HEVC. Однако методики этого раскрытия также могут быть применены в контексте ряда других стандартов кодирования видео, в том числе некоторых старых стандартов или новых или развивающихся стандартов. Хотя не показано на Фиг.1, в некоторых случаях, каждый из кодера 22 видео и декодера 28 видео может быть объединен с кодером и декодером аудио и может включать в себя надлежащие блоки MUX-DEMUX или другое аппаратное обеспечение и программное обеспечение, чтобы обрабатывать как аудио, так и видео в общем потоке данных или раздельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских дейтаграмм (UDP).

[0042] Каждый из кодера 22 видео и декодера 28 видео может быть реализован как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), интегральных схем специального назначения (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретной логики, программного обеспечения, аппаратного обеспечения, программно-аппаратного обеспечения или их комбинаций. Каждый из кодера 22 видео и декодера 28 видео может быть включен в один или более кодеров и декодеров, любой из которых может быть объединен как часть комбинированного кодера/декодера (CODEC) в соответствующем мобильном устройстве, устройстве абонента, устройстве вещания, сервере или подобном. В этом раскрытии термин средство кодирования относится к кодеру, декодеру или CODEC, и термины средство кодирования, кодер, декодер и CODEC все относятся к конкретным машинам, выполненным для кодирования (кодирования и/или декодирования) данных видео в соответствии с этим раскрытием.

[0043] В некоторых случаях, устройства 12, 16 могут работать по существу симметричным образом. Например, каждое из устройств 12, 16 может включать в себя компоненты декодирования и кодирования видео. Следовательно, система 10 может поддерживать одностороннюю или двустороннюю передачу видео между устройствами 12, 16 видео, например, для потоковой передачи видео, воспроизведения видео, вещания видео или видеотелефонии.

[0044] Во время процесса кодирования кодер 22 видео может исполнить некоторое число методик или операций кодирования. В общем, кодер 22 видео работает в отношении блоков данных видео в соответствии со стандартом HEVC. В соответствии с HEVC блоки видео называются единицами (CU) кодирования и множество CU существуют в пределах отдельных кадров видео (или других независимо заданных единицах видео, таких как срезы). Кадры, срезы, участки кадров, группы графических изображений или другие структуры данных могут быть заданы как единицы информации видео, которая включает в себя множество CU. CU могут иметь варьирующиеся размеры в соответствии со стандартом HEVC и битовый поток может задавать наибольшие единицы (LCU) кодирования в качестве наибольшего размера CU. Двойной предсказывающий режим слияния может быть использован, чтобы кодировать LCU, CU или возможно другие типы блоков видео. Со стандартом HEVC, LCU могут быть разделены на меньшие и меньшие CU согласно схеме разделения квадродерева и разные CU, которые заданы в схеме могут быть дополнительно разделены на так называемые единицы (PU) предсказания. LCU, CU и PU все являются блоками видео в рамках этого раскрытия.

[0045] Кодер 22 видео может выполнять предсказывающее кодирование, при котором кодируемый блок видео (например, PU единицы (CU) кодирования в пределах LCU) сравнивается с одним или более предсказывающими кандидатами для того, чтобы идентифицировать предсказывающий блок. Этот процесс предсказывающего кодирования может быть intra (внутренним) (в случае с которым предсказывающие данные генерируются на основе соседних intra-данных в пределах одного и того же кадра или среза) или inter (внешним) (в случае с которым предсказывающие данные генерируются на основании данных видео в предшествующих или последующих кадрах или срезах). Многие другие режимы кодирования могут поддерживаться, и кодер 22 видео может выбирать желаемый режим кодирования видео. Согласно этому раскрытию по меньшей мере некоторые блоки видео могут быть кодированы с использованием двойного предсказывающего режима слияния, описанного в данном документе.

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

[0047] Остаточный блок может быть преобразован и квантован. Методики преобразования могут содержать процесс DCT или концептуально аналогичный процесс, целочисленные преобразования, вейвлетные преобразования или другие типы преобразований. В процессе DCT в качестве примера процесс преобразования конвертирует набор пиксельных значений (например, остаточные пиксельные значения) в коэффициенты преобразования, которые могут представлять энергию пиксельных значений в частотной области. Стандарт HEVC делает возможными преобразования согласно единицам (TU) преобразования, которые могут быть разными для разных CU. TU типично устанавливают размеры, основываясь на размере PU в пределах данной CU, заданной для разделенной LCU, несмотря на то, что это может не всегда иметь место. TU типично имеют такой же размер или меньший, чем PU.

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

[0049] Следом за преобразованием и квантованием энтропийное кодирование может быть выполнено в отношении квантованных и преобразованных остаточных блоков видео. Элементы синтаксиса также могут быть включены в энтропийно кодируемый битовый поток. В общем, энтропийное кодирование содержит один или более процессов, которые совместно сжимают последовательность квантованных коэффициентов преобразования и/или другую информацию синтаксиса. Методики сканирования могут быть выполнены в отношении квантованных коэффициентов преобразования для того, чтобы задать один или более упорядоченных одномерных векторов коэффициентов из двумерных блоков видео. Сканируемые коэффициенты затем энтропийно кодируются вместе с какой-либо информацией синтаксиса, например, через контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC), контекстно-зависимое адаптивное двоичное арифметическое кодирование (CABAC) или другой процесс энтропийного кодирования.

[0050] Как часть процесса кодирования, кодированные блоки видео могут быть декодированы для того, чтобы сгенерировать данные видео, которые используются для последующего основанного на предсказании кодирования последующих блоков видео. Это часто называют циклом декодирования процесса кодирования и, в общем, имитирует декодирование, которое выполняется устройством-декодером. В цикле декодирования кодера или декодера методики фильтрации могут быть использованы, чтобы улучшить качество видео и, например, сгладить пиксельные границы и возможно удалить артефакты из декодированного видео. Эта фильтрация может проходить в цикле или после цикла. С фильтрацией в цикле, фильтрация восстановленных данных видео возникает в цикле кодирования, что означает, что фильтрованные данные сохраняются кодером или декодером для последующего использования в предсказании данных последующего изображения. Напротив, с фильтрацией после цикла, фильтрация восстановленных данных видео возникает вне цикла кодирования, что означает, что нефильтрованные версии данных сохраняются кодером или декодером для последующего использования в предсказании данных последующего изображения. Фильтрация цикла часто следует за отельным процессом фильтрации по удалению блочности, который типично применяет фильтрацию к пикселям, которые находятся на или вблизи границ смежных блоков видео для того, чтобы удалить артефакты блочности, которые проявляются на границах блока видео.

[0051] Относительно предшествующих стандартов кодирования, развивающийся стандарт HEVC вводит новые элементы и размеры блока для блоков видео. В частности, HEVC ссылается на единицы (CU) кодирования, которые могут быть разделены согласно схеме разделения квадродерева. “LCU” относится к единице кодирования наибольшего размера (например, “наибольшей единице кодирования”) поддерживаемой в данной ситуации. Сам размер LCU может быть сигнализирован как часть битового потока, например, как синтаксис уровня последовательности. LCU может быть разделена на меньшие CU. CU могут быть разделены на единицы (PU) предсказания для целей предсказания. PU могут иметь квадратные или прямоугольные формы. Преобразования не фиксируются в развивающемся стандарте HEVC, но задаются согласно размерам единицы (TU) преобразования, которые могут быть такого же размера, что и данная CU, или возможно меньше. Остаточные данные для данной CU могут быть переданы в TU. Элементы синтаксиса могут быть заданы на уровне LCU, уровне CU, уровне PU и уровне TU.

[0052] Чтобы проиллюстрировать блоки видео согласно стандарту HEVC, Фиг.2 концептуально показывает LCU глубины 64 на 64, которая затем разделяется на меньшие CU согласно схеме разделения квадродерева. Элементы называемые “флагами разбиения” могут быть включены в синтаксис уровня CU, чтобы указать, является ли какая-либо данная CU сама подразделенной на еще четыре CU. На Фиг.2, CU0 может содержать LCU, CU1-CU4 могут содержать суб-CU наибольшей единицы (LCU) кодирования. Элементы синтаксиса двойного предсказывающего режима слияния, как описано в этом раскрытии, могут быть