Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства

Иллюстрации

Показать все

Группа изобретений относится к технологиям сигнализации характеристик кодирования для кодированных видеоданных. Техническим результатом является улучшение эффективности сигнализации режима кодирования с внутренним предсказанием, используемым для режима внутреннего кодирования блока видеоданных. Предложен способ кодирования видеоданных. Способ включает в себя этап, на котором осуществляют определение, для блока видеоданных, набора наиболее вероятных режимов внутреннего предсказания для того, чтобы предсказать блок видеоданных из доступных режимов внутреннего предсказания для предсказания блока видеоданных, в котором набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум. Далее, согласно способу, осуществляют кодирование значения, представляющего фактический режим внутреннего предсказания для упомянутого блока, на основании, по меньшей мере частично, того, включен ли фактический режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания. А также осуществляют кодирование блока, используя фактический режим внутреннего предсказания. 4 н. и 45 з.п. ф-лы, 8 ил., 9 табл.

Реферат

[0001] Данная заявка относится к и испрашивает приоритет предварительной заявки на патент США № 61/495332, поданной 9 июня 2011; предварительной заявки на патент США № 61/503712, поданной 1 июля 2011; предварительной заявки на патент США № 61/504664, поданной 5 июля 2011; и предварительной заявки на патент США № 61/533118, поданной 9 сентября 2011, все содержимое каждой из которых тем самым включено по ссылке.

Область техники

[0002] Настоящее описание относится к кодированию видео, и более подробно, к сигнализации характеристик кодирования для кодированных видеоданных.

Уровень техники

[0003] Цифровые возможности видео могут быть включены в широкий диапазон устройств, включая цифровые телевизоры, цифровые системы прямого вещания, беспроводные системы вещания, персональные цифровые помощники (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые устройства записи, цифровые плееры аудиовизуальной информации, видеоигровые устройства, консоли видеоигр, сотовые или спутниковые радиотелефоны, устройства организации видеотелеконференций и т.п. Цифровые видеоустройства реализуют способы сжатия видео, такие как описанные в стандартах, определенных посредством MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), и расширениях таких стандартов, чтобы передавать и принимать цифровую видеоинформацию более эффективно.

[0004] Способы сжатия видео выполняют пространственное (внутри картинки) предсказание и/или временное (между картинками) предсказание, чтобы уменьшить или удалить избыточность, присущую видеопоследовательностям. Для основанного на блоке кодирования видео видео-кадр, картинка, или вырезка могут быть разделены в видеоблоки. Каждый видеоблок может быть далее разделен. Видеоблоки во внутренне кодированном (I) кадре или вырезке кодируются, используя пространственное предсказание относительно соседних видеоблоков в тех же самых кадре, картинке или вырезке. Видеоблоки во внешне кодированном (P или B) кадре или вырезке могут использовать пространственное предсказание относительно соседних макроблоков в том же самом кадре или вырезке или временное предсказание относительно других опорных кадров. Как используются здесь, термины “картинки” могут упоминаться как ссылки на кадры и “опорные картинки” могут быть отнесены к опорным кадрам.

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

Сущность изобретения

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

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

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

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

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

[0019] Фиг.5 является диаграммой, иллюстрирующей один пример 35 режимов внутреннего предсказания и их соответствующих направлений предсказания.

[0020] Фиг.6 является диаграммой, иллюстрирующей другой пример 35 режимов внутреннего предсказания и их соответствующих направлений предсказания.

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

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

Детальное описание

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

[0024] В некоторых примерах способы настоящего раскрытия обеспечивают различные наборы режимов-кандидатов внутреннего предсказания, на основании типа предсказываемых видеоданных. Например, при некоторых условиях некоторые режимы внутреннего предсказания могут быть включены как вероятный режим внутреннего предсказания, когда набор наиболее вероятных режимов внутреннего предсказания включает в себя 3 или более режимов, такие как плоский или DC режим.

[0025] Видеоданные включают в себя последовательность кадров (или картинок), воспроизводимых в быстрой последовательности, чтобы моделировать движение. Каждый из кадров может быть разделен на блоки. Как используются здесь, термины “кадр” и “картинка” могут быть использованы взаимозаменяемо.

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

[0027] Видеодекодер может принять закодированные данные для закодированного блока. Закодированные данные могут включать в себя представление режима предсказания, используемого, чтобы закодировать блок, а также индикацию разделения единиц PU для этого блока. Таким образом, видеодекодер может использовать одно и то же разделение единиц PU и применить один и тот же режим предсказания, чтобы декодировать этот блок. Чтобы уменьшить количество битов, потребляемых в сигнализации режима предсказания, устройства кодирования видео могут определять вероятности режимов предсказания кодирования для текущего блока, на основании режимов кодирования соседних блоков. Фиг.1 представляет пример трех видеоблоков: А (4), B (6) и C (8). Блок С (8) представляет текущий кодируемый блок, блок А (4) представляет левый соседний ранее кодированный блок относительно блока C (8), и блок B (6) представляет верхний соседний, ранее кодированный блок относительно блока C (8).

[0028] В целях примера на фиг.1, блоки А (4), B (6), и C (8) являются блоками внутренне предсказанной картинки, кадра или вырезки. Устройство кодирования видео, такое как видеокодер или видеодекодер, может определить два или более вероятных режимов внутреннего предсказания для блока C (8) на основании режимов внутреннего предсказания блоков А (4) и B (6). Обычно блок C более вероятно будет предсказан, используя режим или блока А (4) или блока B (6). Как правило, когда блоки А (4) и B (6) имеют один и тот же режим внутреннего предсказания, наиболее вероятный режим внутреннего предсказания для блока C (8) будет режимом внутреннего предсказания блоков А (4) и B (6). С другой стороны, когда блоки А (4) и B (6) имеют различные режимы внутреннего предсказания, устройство кодирования видео должно определить, будет ли режим предсказания для блока C (8), более вероятно, режимом внутреннего предсказания блока А (4) или режимом внутреннего предсказания блока B (6).

[0029] Более подробно, в обычном кодировании видео высокой производительности (HEVC), таблица отображения может использоваться, чтобы отобразить режимы внутреннего предсказания на индексы кодовых слов. Индексы кодовых слов могут быть отображены посредством другой таблицы на коды переменной длины (для CAVLC) или бинаризированные значения (для CABAC). Кроме того, для каждого блока несколько наиболее вероятных режимов могут быть определены, где наиболее вероятным режимам могут быть назначены наименьшие индексы, где наименьшие индексы являются самыми вероятными и таким образом, кодируются с использованием меньшего количества битов. В обычном HEVC количество наиболее вероятных режимов может изменяться на основании того, имеют ли блоки А (4) и B (6) одни и те же или различные режимы внутреннего предсказания.

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

[0031] В этом примере, если режимы внутреннего предсказания блоков А (4) и B (6) различны, и заранее определенное количество наиболее вероятных режимов для блока C (8), равно двум, то два наиболее вероятных режима внутреннего предсказания для блока C (8) могут соответствовать режимам внутреннего предсказания блоков А (4) и B (6). Однако, если режимы внутреннего предсказания блоков А (4) и B (6) являются одинаковыми, устройство кодирования видео может добавить второй наиболее вероятный режим к набору наиболее вероятных режимов.

[0032] В некоторых примерах, если режимы внутреннего предсказания блоков А (4) и B (6) являются одинаковыми и режимом является режим, отличный от плоского режима, то второй наиболее вероятный режим для блока C (8) выбирается как плоский режим. С другой стороны, если режимы внутреннего предсказания блоков А (4) и B (6) являются одинаковыми, и режим является плоским режимом, то второй наиболее вероятный режим для блока C (8) выбирается как режим DC. В некоторых примерах плоский режим может всегда быть отображен в индексное значение 0.

[0033] Для примеров, где имеется больше чем два наиболее вероятных режима в заранее определенном количестве наиболее вероятных режимов, эти режимы могут соответствовать режимам внутреннего предсказания, которые являются аналогичными по направлению направлениям внутреннего предсказания для блоков А (4) и B (6).

[0034] Примеры, описанные выше, ссылаются на режимы внутреннего предсказания для данных яркости. Для цветности настоящее описание предлагает фиксировать доступное количество режимов внутреннего предсказания таким образом, что некоторые режимы внутреннего предсказания всегда были режимами-кандидатами внутреннего предсказания, в некоторых примерах. Традиционно, шесть режимов доступны для блоков цветности: вертикальный режим, горизонтальный режим, режим DC, плоский режим, основанный на сигнале яркости режим предсказания, и наследование режима предсказания яркости. Наследование режима предсказания яркости позволяет режиму цветности наследовать режим соответствующего блока яркости. Из-за этого два символа, или значения индекса, могут быть назначены на один и тот же режим, например, когда блок яркости предсказывается, используя вертикальный, горизонтальный, DC или плоский режим. В сущности, это означает, что блок цветности может иметь только пять возможных режимов, а не шесть. Таким образом, имеется избыточный сигнал по меньшей мере для одного режима в таких ситуациях.

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

[0036] Согласно способам настоящего описания, примерный процесс выведения для режимов внутреннего предсказания яркости может включать в себя следующие входные сигналы: местоположение (xB, yB) яркости, задающее верхнюю левую выборку яркости текущего блока относительно верхней левой выборки яркости текущей картинки текущего блока; переменную, log2TrafoSize, задающую размер текущего блока предсказания; и, если доступен, массив переменных, IntraPredMode, которые получены для смежных единиц кодирования, ранее декодированных в порядке декодирования. Выходной сигнал этого процесса выведения может быть обозначен переменной IntraPredMode [xB] [yB].

[0037] Таблица 1 определяет пример нескольких режимов внутреннего предсказания яркости, intraPredModeNum, в зависимости от log2TrafoSize, размера текущего блока предсказания.

Таблица 1Спецификация intraPredModeNum
log2TrafoSize intraPredModeNum
2 17
3 34
4 34
5 34
6 3

[0038] Переменная candModeList[x] задает режимы внутреннего предсказания, которые доступны. Переменная NumMPMCand задает количество кандидатов наиболее вероятного режима (MPM). Согласно способам, описанным здесь, количество кандидатов MPM является фиксированным для всех блоков в картинке или кадре. Видеокодер может быть сконфигурирован, чтобы сигнализировать значение, представляющее количество кандидатов MPM в, например, наборе параметров последовательности (SPS) для последовательности картинок, наборе параметров картинки (PPS) для индивидуальной картинки, или другой структуре данных. Аналогично, видеодекодер может определить количество кандидатов MPM, интерпретируя такие сигнализированные значения.

[0039] candModeList[x] и NumMPMCand могут быть получены на основании присутствия и значениях candIntraPredModeN. Если оба candIntraPredModeN не доступны, то индексное значение 2 назначается на candModeList[0], и NumMPMCand устанавливается равным 1. Иначе, если только один candIntraPredModeN доступен, то этот candIntraPredModeN назначается на candModeList [0], и NumMPMCand устанавливается равным 1. Аналогично, если оба candIntraPredModeN являются одинаковыми, один из candIntraPredModeN назначается на candModeList[0] и NumMPMCand устанавливается равным 1. Если оба candIntraPredModeN различны, NumMPMCand устанавливается равным 2 и оба candIntraPredModeN назначаются на список режимов-кандидатов, с меньшими из этих двух кандидатов при candModeList [0] и большем в candModeList[1]. Таблица 2 суммирует, как candModeList[x] и NumMPMCand могут быть получены.

Таблица 2Спецификация intraPredModeNum
candIntraPredModeN candModeList[0] NumMPMCand
Оба недоступны 2 1
Доступен только один candIntraPredModeN 1
Оба одинаковы candIntraPredModeN 1
Оба различны Меньший candIntraPredModeN устанавливается как candModeList[0] и больший candIntraPredModeN устанавливается как candModeList[1] 2

[0040] IntraPredMode [xB] [yB] может быть получен, применяя следующую процедуру. Если prev_intra_pred_flag [xB] [yB] является истинным, IntraPredMode [xB] [yB] устанавливается равным candModeList [mpm_idx [xB] [yB]]. Иначе, IntraPredMode [xB] [yB] получают, применяя следующие уравнения:

IntraPredMode [xB] [yB] = rem_intra_luma_pred_mode (1)

for (cIdx = 0; cldx <NumMPMCand; cIdx ++)

if (IntraPredMode [xB] [yB]> candModeList [cIdx]), then (2)

IntraPredMode [xB] [yB] ++

В этих примерах переменная rem_intra_pred_mode сигнализируется посредством бинаризации фиксированной длины с одним контекстом. Переменная cIdx задает компонент цветности текущего блока.

[0041] Для сигнализации режима внутреннего предсказания цветности текущий HEVC разрешает шесть режимов, включая: вертикальный, горизонтальный, DC, плоский, основанное на сигнале яркости предсказание цветности и наследование режима предсказания яркости. Среди всех этих режимов наследование режима предсказания яркости означает, что направление предсказания цветности является таким же как направление предсказания яркости. Из-за этого некоторые избыточные символы удаляются, если режимом яркости является вертикальный, горизонтальный, DC или плоский. В результате кодовые таблицы имеют различные размеры для различного режима предсказания яркости.

[0042] Этот процесс может потребовать дополнительного процесса декодирования при синтаксическом разборе и дополнительной памяти. Во-первых, чтобы синтаксически разобрать intra_pred_mode, декодер должен декодировать intra_pred_mode соседних блоков A и B, чтобы определить candIntraPredModeA и candIntraPredModeB. Кроме того, декодер должен определить candModeList и NumMPMC. Дополнительная память требуется, так как шесть битов необходимы в буфере линии декодера для каждого блока 4×4, чтобы сохранить intra_pred_mode. Далее, кодирование rem_intra_pred_mode не эффективно из-за бинаризации фиксированной длины и ее моделирования контекста. Кроме того, наличие различных размеров кодовых таблиц для режима предсказания цветности требует наличия предшествующего знания режима предсказания яркости перед синтаксическим разбором режима предсказания цветности.

[0043] Фиг.2 является блок-схемой, иллюстрирующей примерную систему 10 кодирования и декодирования видео, которая может использоваться, чтобы реализовать различные способы, описанные здесь. Как показано на фиг.2, система 10 включает в себя исходное устройство 12, которое передает закодированные видеоданные на устройство 14 назначения через канал связи 16. Исходное устройство 12 и устройство 14 назначения могут содержать любое из широкого диапазона устройств. В некоторых случаях исходное устройство 12 и устройство 14 назначения могут содержать устройства беспроводной связи, такие как беспроводные телефонные трубки, так называемые сотовые или спутниковые радиотелефоны, или любые беспроводные устройства, которые могут передать видеоинформацию по каналу связи 16, когда канал связи 16 является беспроводным.

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

[0045] В примере согласно фиг.2 исходное устройство 12 включает в себя видеоисточник 18, видеокодер 20, модулятор/демодулятор (модем) 22, и передатчик 24. Устройство 14 назначения включает в себя приемник 26, модем 28, видеодекодер 30 и устройство 32 отображения. В соответствии с этим раскрытием видеокодер 20 из исходного устройства 12 может быть сконфигурирован, чтобы применять способы кодирования синтаксических данных, представляющих режимы внутреннего предсказания для блоков видеоданных. В других примерах исходное устройство и устройство назначения могут включать в себя другие компоненты или компоновки. Например, исходное устройство 12 может принять видеоданные от внешнего видеоисточника 18, такого как внешняя камера. Аналогично, устройство 14 назначения может взаимодействовать с внешним устройством отображения вместо включения интегрированного устройства отображения.

[0046] Иллюстрированная система 10 на фиг.2 является просто одним примером. Способы для кодирования синтаксических данных, представляющих режимы внутреннего предсказания для блоков видеоданных, могут быть выполнены любым цифровым устройством кодирования и/или декодирования видео. Хотя обычно способы настоящего раскрытия выполняются устройством кодирования видео, эти способы могут также быть выполнены кодером/декодером видео, типично называемым как “кодек”. Кроме того, способы настоящего раскрытия могут также быть выполнены препроцессором видео. Исходное устройство 12 и устройство 14 назначения являются просто примерами таких устройств кодирования, в которых исходное устройство 12 генерирует кодированные видеоданные для передачи на устройство 14 назначения. В некоторых примерах устройства 12 и 14 могут работать по существу симметричным способом таким образом, что каждое из устройств 12 и 14 включает в себя компоненты, кодирующие и декодирующие видео. Следовательно, система 10 может поддерживать одностороннюю или двухстороннюю передачу видео между видеоустройствами 12, 14, например, для передачи видео в виде потока, воспроизведения видео, радиовещания видео, или видеотелефонии.

[0047] Видеоисточник 18 из исходного устройства 12 может включать в себя устройство захвата видео, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, и/или подачу видео от поставщика видеоконтента. В качестве дальнейшей альтернативы, видеоисточник 18 может генерировать основанные на компьютерной графике данные как исходное видео, или комбинация живого видео, архивированного видео, и сгенерированного компьютером видео. В некоторых случаях, если видеоисточник 18 является видеокамерой, исходное устройство 12 и устройство 14 назначения могут формировать так называемые камерофоны или видеотелефоны. Как упомянуто выше, однако, способы, описанные в настоящем описании, могут быть применимыми к кодированию видео вообще, и могут быть применены к беспроводным и/или проводным приложениям. В каждом случае захваченное, предварительно захваченное, или сгенерированное компьютером видео может быть закодировано видеокодером 20. Закодированная видеоинформация может затем модулироваться модемом 22 согласно стандарту связи, и передана на устройство 14 назначения через передатчик 24. Модем 22 может включать в себя различные смесители, фильтры, усилители или другие компоненты, разработанные для модуляции сигнала. Передатчик 24 может включать в себя схемы, разработанные для того, чтобы передать данные, включая усилители, фильтры, и одну или более антенн.

[0048] Приемник 26 в устройстве 14 назначения принимают информацию по каналу 16, и модем 28 демодулирует эту информацию. Снова, процесс кодирования видео может реализовать один или более способов, описанных здесь для кодирования данных синтаксиса, представляющих режимы внутреннего предсказания для блоков видеоданных. Информация, переданная по каналу 16, может включать в себя информацию синтаксиса, определенную видеокодером 20, которая также используется видеодекодером 30, которая включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку макроблоков и других закодированных блоков, например, GOP (групп картинок). Устройство 32 отображения отображает декодированные видеоданные пользователю, и может содержать любое множество устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED), или другой тип устройства отображения.

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

[0050] Видеокодер 20 и видеодекодер 30 могут работать согласно стандарту сжатия видео, такому как стандарт ITU-T H.264, альтернативно названный MPEG-4, Part 10, Advanced Video Coding (AVC). Способы настоящего раскрытия, однако, не ограничены никаким конкретным стандартом кодирования. Другие примеры включают в себя MPEG-2 и ITU-T H.263. Хотя не показано на фиг.1, в некоторых аспектах видеокодер 20 и видеодекодер 30 могут каждый интегрироваться с аудио кодером и декодером, и могут включать в себя соответствующие блоки MUX-DEMUX, или другое аппаратное обеспечение и программное обеспечение, чтобы выполнять кодирование как аудио так и видео в общем потоке данных или отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу мультиплексора ITU H.223, или другим протоколам, таким как протокол дейтаграмм пользователя (UDP).

[0051] Стандарт ITU-T H.264/MPEG-4 (AVC) был сформулирован группой экспертов по кодированию видео ITU-T (VCEG) вместе с ISO/IEC группой экспертов по движущимся изображениям (MPEG) как продукт коллективного товарищества, известного как объединенная команда видео (JVT). В некоторых аспектах способы, описанные в настоящем описании, могут быть применены к устройствам, которые обычно соответствуют стандарту H.264. Стандарт H.264 описан в Рекомендации H.264 ITU-T, Усовершенствованном кодировании видео для общих аудиовизуальных услуг, группой по изучению ITU-T, и датированные мартом 2005, который может быть упомянут здесь как стандарт H.264 или спецификация H.264, или стандарт или спецификация H.264/AVC. объединенная команда видео (JVT) продолжает работать над расширениями к H.264/MPEG-4 AVC.

[0052] Видеокодер 20 и видеодекодер 30 каждый может быть реализован как любая из множества подходящих схем кодера, таких как один или более микропроцессоров, цифровых сигнальных процессоров (DSPs), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретной логики, программного обеспечения, аппаратного обеспечения, программно-аппаратных средств или любых их комбинаций. Каждый видеокодер 20 и видеодекодер 30 может быть включен в один или более кодеров или декодеров, любой из которых может интегрироваться как часть объединенного кодера/декодера (кодек) в соответствующую камеру, компьютер, мобильное устройство, устройство абонента, устройство вещания, телевизионную приставку, сервер или аналогичное.

[0053] Видеопоследовательность типично включает в себя набор видеокадров. Группа картинок (GOP) обычно содержит последовательность из одного или более видеокадров. GOP может включать в себя данные синтаксиса в заголовке GOP, заголовок одного или более кадров GOP, или в другом месте, которое описывает несколько кадров, включенных в GOP. Каждый кадр может включать в себя данные синтаксиса кадра, которые описывают режим кодирования для соответствующего кадра. Видеокодер 20, например, может включать в себя фиксированный набор наиболее вероятных режимов-кандидатов внутреннего предсказания для каждого блока в кадре, или каждого блока в пределах каждого кадра в пределах каждой GOP. Фиксированный набор кандидатов MPM может включать в себя два (или более) наиболее вероятных режимов внутреннего предсказания, основанных на режимах внутреннего предсказания блоков, граничащих с текущим блоком. Видеокодер 20 типично оперирует над видеоблоками в пределах индивидуальных видеокадров, чтобы закодировать видеоданные. Видеоблок может соответствовать блоку, CU, PU, или TU. Видеоблоки могут иметь фиксированный или переменный размеры, и могут отличаться по размеру согласно указанному стандарту кодирования. Каждый видеокадр может включать в себя множество вырезок. Каждая вырезка может включать в себя множество макроблоков, которы