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

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

Info

Publication number
RU2601843C2
RU2601843C2 RU2013158134/08A RU2013158134A RU2601843C2 RU 2601843 C2 RU2601843 C2 RU 2601843C2 RU 2013158134/08 A RU2013158134/08 A RU 2013158134/08A RU 2013158134 A RU2013158134 A RU 2013158134A RU 2601843 C2 RU2601843 C2 RU 2601843C2
Authority
RU
Russia
Prior art keywords
intra prediction
mode
modes
block
prediction mode
Prior art date
Application number
RU2013158134/08A
Other languages
English (en)
Other versions
RU2013158134A (ru
Inventor
Вэй-Цзюн ЧИЭНЬ
Марта КАРЧЕВИЧ
Сянлинь ВАН
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2013158134A publication Critical patent/RU2013158134A/ru
Application granted granted Critical
Publication of RU2601843C2 publication Critical patent/RU2601843C2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

[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. Видеоблоки могут иметь фиксированный или переменный размеры, и могут отличаться по размеру согласно указанному стандарту кодирования. Каждый видеокадр может включать в себя множество вырезок. Каждая вырезка может включать в себя множество макроблоков, которые могут быть скомпонованы во фрагменты (разделения), также называемые суб-блоками.
[0054] Как пример, стандарт ITU-T H.264 поддерживает внутреннее предсказание в различных размерах блока, таких как 16 на 16, 8 на 8, или 4 на 4 для компонентов яркости, и 8×8 для компонентов цветности, так же как внешнего предсказания в различных размерах блока, таких как 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 и 4×4 для компонентов яркости и соответствующих масштабированных размеров для компонентов цветности. В настоящем описании “NxN” и “N на N” может использоваться взаимозаменяемо, чтобы ссылаться на пиксельные размерности блока в терминах вертикального и горизонтального измерений, например, 16×16 пикселей или 16 на 16 пикселей. Обычно блок 16×16 будет иметь 16 пикселей в вертикальном направлении (y=16) и 16 пикселей в горизонтальном направлении (x=16). Аналогично, блок NxN обычно имеет N пикселей в вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пиксели в блоке могут быть размещены в рядах и колонках. Кроме того, блоки не должны обязательно иметь одинаковое количество пикселей в горизонтальном направлении как в вертикальном направлении. Например, блоки могут содержать пиксели NxM, где М не обязательно равно N.
[0055] Размеры блока, которые меньше чем 16 на 16, могут упоминаться как разделения макроблока 16 на 16. Видеоблоки могут содержать блоки пиксельных данных в пиксельной области, или блоки коэффициентов преобразования в области преобразования, например, после применения преобразования, такого как дискретное косинусное преобразование (DCT), целочисленное преобразование, вейвлет преобразование, или концептуально аналогичное преобразование, к остаточным данным видеоблока, представляющим пиксельные разности между закодированными видеоблоками и предсказывающими видеоблоками. В некоторых случаях видеоблок может содержать блоки квантованных коэффициентов преобразования в области преобразования.
[0056] Меньшие видеоблоки могут обеспечить лучшее разрешение, и могут использоваться для определения местоположений видеокадра, которые включают в себя высокие уровни деталей. Обычно макроблоки и различные разделения, иногда называемые суб-блоками, может считаться видеоблоками. Кроме того, вырезка может рассматриваться как множество видеоблоков, таких как макроблоки и/или суб-блоки. Каждая вырезка может быть независимо декодируемой единицей видеокадра. Альтернативно, сами кадры могут быть декодируемыми единицами, или другие части кадра могут быть определены как декодируемые единицы. Термин “кодированная единица” может относиться к любой независимо декодируемой единице видеокадра, такой как весь кадр, вырезка кадра, группа картинок (GOP), также называемая последовательностью, или другой независимо декодируемой единицей, определенной согласно применимым способам кодирования.
[0057] Усилия в настоящее время предпринимаются, чтобы развить новый стандарт кодирования видео, в настоящее время называемый кодирование видеовысокой производительности (HEVC). Появляющийся стандарта HEVC может также упоминаться как H.265. Усилия по стандартизации основаны на модели устройства кодирования видео, называемой тестовая Модель HEVC (HM). HM предполагает несколько возможностей устройств кодирования видео перед устройствам согласно, например, ITU-T H.264/AVC. Например, тогда как H.264 обеспечивает девять режимов кодирования с внутренним предсказанием, HM обеспечивает целых тридцать три режима кодирования с внутренним предсказанием, например, на основании размера блока, кодируемым с внутренним предсказанием.
[0058] HM ссылается на блок видеоданных как единицу кодирования (CU). Данные синтаксиса в пределах потока битов могут определить наибольшую единица кодирования (LCU), которая является наибольшей единицей кодирования в терминах количества пикселей. Обычно CU имеет аналогичную цель макроблоку H.264, за исключением того, что CU не имеет отличия в размере. Таким образом, CU может быть расколот в суб-CU. Обычно ссылки в настоящем описании на CU могут относиться к наибольшей единице кодирования картинки или суб-CU в LCU. LCU может быть разделен на единицы суб-CU, и каждая суб-CU может быть разделена на единицы суб-CU. Данные синтаксиса для потока битов могут определить максимальное количество раз, сколько LCU может быть разделен, называемое глубиной CU. Соответственно, поток битов может также определить наименьшую единицу кодирования (SCU). Настоящее описание также использует термин “блок”, чтобы обратиться к любому из CU, единицы предсказания (PU), или единицы преобразования (TU).
[0059] LCU может быть ассоциирован с структурой данных квадродерева. Обычно структура данных квадродерева включает в себя один узел в CU, где корневой узел соответствует LCU. Если CU разделена на четыре суб-CU, узел, соответствующий CU, включает в себя четыре листовых узла, каждый из которых соответствует одной из суб-CU. Каждый узел структуры данных квадродерева может обеспечить данные синтаксиса для соответствующей CU. Например, узел в квадродереве может включать в себя флаг разделения, указывающий, разделена ли CU, соответствующая узлу, на суб-CU. Элементы синтаксиса для CU могут быть определены рекурсивно, и могут зависеть от того, разделена ли CU на суб-CU.
[0060] CU, которая не разделена, может включать в себя одну или более единиц предсказания (PU). Обычно PU представляет все или часть соответствующей CU, и включает в себя данные для извлечения опорной выборки для PU. Например, когда PU является закодированный во внутреннем режиме, эта PU может включать в себя данные, описывающие режим внутреннего предсказания для PU. Например, в соответствии с способами настоящего раскрытия, фиксированный набор наиболее вероятных режимов-кандидатов внутреннего предсказания для каждой PU в CU. Фиксированный набор кандидатов MPM может включать в себя два или более режима-кандидата внутреннего предсказания, на основании режимов внутреннего предсказания блоков, граничащих с текущим блоком. В качестве другого примера, когда PU является кодированной во внешнем режиме, эта PU может включать в себя данные, определяющие вектор движения для PU. Данные, определяющие вектор движения, могут описать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешение для вектора движения (например, одночетвертную пиксельную точность, или одну восьмую пиксельную точность), опорный кадр, на который указывает вектор движения, и/или опорный список (например, список 0 или список 1) для вектора движения. Данные для CU, определяющие единицу(ы) PU может также описать, например, разделение CU на одну или более единиц PU. Режимы разделения могут отличаться между тем, является ли CU не кодированной, кодированной в режиме внутреннего предсказания, или кодированный в режим внешнего предсказания.
[0061] CU, имеющая одну или более PU, может также включать в себя одну или более единиц преобразования (TU). Следуя предсказанию, использующему PU, видеокодер может вычислять остаточное значение для части CU, соответствующей этой PU. Набор остаточных значений может быть преобразован, сканирован, и квантован, чтобы определить набор коэффициентов преобразования. TU определяет структуру данных, которая включает в себя коэффициенты преобразования. TU не обязательно ограничена размером PU. Таким образом, TU могут быть большими или меньшими, чем соответствующие PU для той же самой CU. В некоторых примерах максимальный размер TU может соответствовать размеру соответствующей CU.
[0062] В соответствии с способами настоящего раскрытия, видеокодер 20 может кодировать некоторые блоки видеоданных, используя режим кодирования с внутренним предсказанием, и предоставить информацию, указывающую выбранный режим внутреннего предсказания, используемый для кодирования блока. Видеокодер 20 может кодировать с внутренним предсказанием блоки любого типа кадра или вырезки, используя режим внутреннего предсказания, например, I-кадры или I-вырезке, в дополнение к P-кадрам или P-вырезкам и B-кадрам или B-вырезкам. Когда видеокодер 20 определяет, что блок должен быть закодирован в режиме внутреннего предсказания, видеокодер 20 может выполнить анализ искажение - скорость передачи, чтобы выбрать наиболее подходящий режим кодирования с внутренним предсказанием. Например, видеокодер 20 может вычислять значения «искажение - скорость передачи» для одного или более режимов кодирования с внутренним предсказанием, и выбрать один из режимов, имеющих приемлемые характеристики «искажение - скорость передачи».
[0063] Видеокодер 20 может также быть сконфигурирован, чтобы определить контекст кодирования для блока. Контекст может включать в себя различные характеристики блока, такие как, например, размер блока, который может быть определен в терминах размерностей в пикселях, тип единицы предсказания (PU) такой как, в примере HEVC, 2Nx2N, Nx2N, 2NxN, NxN, типы внутреннего предсказания на коротком расстоянии (SDIP), такие как 2NxN/2, N/2x2N, 2Nx1, 1x2N, тип макроблока в примере H.264, глубины единицы кодирования (CU) для блока, или других измерений размера для блока видеоданных. В некоторых примерах контекст может соответствовать тому, как любые из всех из режимов внутреннего предсказания для верхнего граничащего блока, левого граничащего блока, верхнего левого граничащего блока, верхнего правого граничащего блока, или других граничащих блоков. В некоторых примерах контекст может включать в себя оба режима внутреннего предсказания для одного или более блоков, а также информацию размера для текущего закодированного блока.
[0064] В любом случае видеокодер 20 может включать в себя данные конфигурации, которые отображают контекст для блока на различные характеристикам кодирования для текущего блока. Например, на основании контекста для блока, данные конфигурации могут указывать один или более наиболее вероятных режимов внутреннего предсказания. В соответствии со способами настоящего раскрытия, видеокодер 20 может определить один или более наиболее вероятных режимов кодирования для блока, на основании контекста кодирования для блока, а также таблицы индексов внутреннего режима и таблице кодовых слов, на основании контекста кодирования для блока. Таблица кодовых слов может содержать таблицу кодов с переменной длиной слова (VLC) для CAVCL или таблицу бинаризации для адаптивного контекстного двоичного арифметического кодирования (CABAC). В CABAC видеокодер 20 может далее бинарно арифметически кодировать бинаризированное значение, выбранное из таблицы. После выбора режима внутреннего предсказания для использования, чтобы кодировать блок, видеокодер 20 может определить, является ли выбранный режим внутреннего предсказания наиболее вероятным режимом внутреннего предсказания для блока. Если выбранный режим является наиболее вероятным режимом, видеокодер 20 может сигнализировать режим внутреннего предсказания, используя кодовое слово в один бит (например, ′0′ или ′1′). Принимая без потери общности, что кодовое слово в один бит имеет значение ′0′, и что таблица кодовых слов является таблицей VLC, другие кодовые слова в таблице VLC могут начинаться с ′1′, чтобы избежать нарушение требований префикса VLC (то есть, что никакое кодовое слово в таблице не является префиксом другого кодового слова в таблице). В примерах, где выбранный режим внутреннего предсказания является не одним из наиболее вероятных режимов, видеокодер 20 может сигнализировать фактический режим внутреннего предсказания. В некоторых примерах флаг может быть установлен, указывающий, что фактический режим внутреннего предсказания не включен в список кандидатов наиболее вероятных режимов внутреннего предсказания.
[0065] Видеокодер 20, в некоторых примерах, может быть сконфигурирован, чтобы начать анализ для выбора режима кодирования с внутренним предсказанием с наиболее вероятным режимом кодирования, основанным на контексте. Когда наиболее вероятный режим кодирования достигает подходящих характеристик «искажение - скорость передачи», в некоторых примерах видеокодер 20 может выбрать наиболее вероятный режим кодирования. В других примерах видеокодер 20 не должен начинать процесс выбора с наиболее вероятного режима кодирования.
[0066] После кодирования с внутренним предсказанием или с внешним предсказанием, чтобы сформировать предсказывающие данные и остаточные данные, и после любых преобразований (таких как 4×4 или 8×8, целочисленное преобразование, используемое в H.264/AVC или дискретное косинусное преобразование DCT), чтобы сформировать коэффициенты преобразования, квантование коэффициентов преобразования может быть выполнено. Квантование обычно относится к процессу, в котором коэффициенты преобразования квантуются, чтобы возможно уменьшить объем данных, используемых, чтобы представить коэффициенты. Процесс квантования может уменьшить битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Например, значение n-бит может быть округлено в меньшую сторону к m-битового значения во время квантования, где n больше чем m.
[0067] Вслед за квантованием энтропийное кодирование квантованных данных может быть выполнено, например, согласно адаптивному к контенту кодированию с переменной длиной кода (CAVLC), контекстно адаптивному двоичному арифметическому кодированию (CABAC), или другому способу энтропийного кодирования. Блок обработки, конфигурируемый для энтропийного кодирования или другой блок обработки, может выполнить другие функции обработки, такие как кодирование с нулевой длиной серии квантованных коэффициентов и/или генерирование информации синтаксиса, такой как значения шаблона кодрованных блоков (CBP), тип макроблока, режим кодирования, максимальный размер макроблока для кодированного блока (такие как кадр, вырезка, макроблок, или последовательность), или аналогичное.
[0068] Видеодекодер 30 может, в конечном счете, принять кодированные видеоданные, например, от модема 28 и приемника 26. В соответствии с способами настоящего раскрытия, видеодекодер 30 может принять кодовое слово, представляющего режим внутреннего предсказания, используемый для кодирования блока видеоданных. Видеодекодер 30 может быть сконфигурирован, чтобы определить контекст кодирования для блока способом, по существу аналогичном видеокодеру 20. Кроме того, видеодекодер 30 может включать в себя аналогичные данные конфигурации в видеокодере 20, например, индикации наиболее вероятного режима кодирования, таблицы индекса режима внутреннего предсказания, и таблицы VLC для каждого контекста кодирования.
[0069] Используя один наиболее вероятный режим внутреннего предсказания, если кодовое слово содержит однобитовое кодовое слово, видеодекодер 30 может определить, что режим внутреннего предсказания, используемый, чтобы закодировать закодированный блок, был наиболее вероятным режимом внутреннего предсказания. Конечно, как описано выше, однобитовое кодовое слово не должно быть префиксом кодовых слов таблицы VLC. Соответственно, если принятое кодовое слово не является однобитовым кодовым словом, видеодекодер 30 может определить, что режим внутреннего предсказания, используемый для кодирования блока видеоданных в способе, обычно является взаимно обратным таковому из видеокодера 20.
[0070] Видеокодер 20 и видеодекодер 30 каждый может быть реализован как любая из множества подходящих схем кодера или декодера, как применимо, таких как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASICs), программируемые пользователем вентильные матрицы (FPGAs), дискретные логические схемы, программное обеспечение, аппаратное обеспечение, программно-аппаратные средства или любые их комбинации. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может интегрироваться как часть объединенного видеокодера/декодера (кодек). Устройство, включая видеокодер 20 и/или видеодекодер 30, может содержать интегральную схему, микропроцессор, и/или устройство беспроводной связи, такое как сотовый телефон.
[0071] Фиг.3 является блок-схемой, иллюстрирующей пример видеокодера 20, который может реализовать способы для кодирования информации, указывающей режим внутреннего предсказания, и который может использоваться, чтобы реализовать различные способы, описанные выше. Видеокодер 20 может выполнить внутреннее и внешнее кодирование блоков в пределах видеокадров, включая макроблоки, или разделения или подразделения макроблоков. Внутреннее кодирование полагается на пространственное предсказание, чтобы уменьшить или удалить пространственную избыточность в видео в пределах заданного видеокадра. Внешнее кодирование полагается на временное предсказание, чтобы уменьшить или удалить временную избыточность в видео в пределах смежных кадров видеопоследовательности. Внутренний режим (I-режим) может относиться к любому из нескольких пространственно-основанных режимов сжатия и внешние режимы, такие как однонаправленное предсказание (P-режим), или двунаправленное предсказание (B-режим) может относиться к любому из нескольких временно-основанных режимов сжатия. Хотя компоненты для кодирования внешнего режима изображены на фиг.3, нужно подразумевать, что видеокодер 20 может также включать в себя компоненты для кодирования во внутреннем режиме. Однако, такие компоненты не иллюстрированы ради краткости и ясности.
[0072] Как показано на фиг.3, видеокодер 20 принимает текущий видеоблок в пределах видеокадра, который должен быть закодирован. В примере на фиг.2 видеокодер 20 включает в себя модуль 44 компенсации движения, модуль 42 оценки движения, память 64, сумматор 50, модуль 52 обработки преобразования, блок 54 квантования, и модуль 56 энтропийного кодирования. Для видеореконструкции блока видеокодер 20 также включает в себя модуль 58 обратного квантования, 60 модуль обратного преобразования, и сумматор 62. Фильтр удаления блочности может также быть включен, чтобы фильтровать границы блока, чтобы удалить артефакты блочности из восстановленного видео. Если желательно, фильтр удаления блочности может типично фильтровать выходной сигнал сумматора 62.
[0073] Во время процесса кодирования видеокодер 20 принимает видеокадр или вырезку, которая должны быть закодирована. Кадр или вырезка могут быть разделены на множественные видеоблоки. Модуль 42 оценки движения и модуль 44 компенсации движения выполняют внешнее предсказывающее кодирование принятого видеоблока относительно одного или более блоков в одном или более опорных кадрах, чтобы обеспечить временное сжатие. Модуль 46 внутреннего предсказания может выполнить внутреннее предсказывающее кодирование принятого видеоблока относительно одного или более соседних блоков в том же самом кадре или вырезке как блока, который должен быть закодирован, чтобы обеспечить пространственное сжатие.
[0074] Модуль 40 выбора режима может выбрать один из режимов кодирования, внутренний или внешний, например, на основании результатов ошибки и на основании типа кадра или вырезки для кадра или вырезки, включая кодируемый текущий блок, и выдает результирующий внутри - или внешне кодированный блок к сумматору 50, чтобы генерировать остаточные данные блока и к сумматору 62, чтобы восстановить закодированный блок для использования в опорной вырезке или опорном кадре. Обычно внутреннее предсказание вовлекает предсказание текущего блока относительно соседних, ранее кодированных блоков, в то время как внешнее предсказание вовлекает оценку движения и компенсацию движения, чтобы во времени предсказать текущий блок.
[0075] Модуль 42 оценки движения и модуль 44 компенсации движения представляют элементы внешнего предсказания видеокодера 20. Модуль 42 оценки движения и модуль 44 компенсации движения могут быть высоко интегрированными, но иллюстрируются по отдельности в концептуальных целях. Оценка движения является процессом генерирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать смещение предсказывающего блока в пределах предсказывающего опорного кадра (или другой кодированной единицы) относительно текущего блока, закодированного в пределах текущего кадра (или другой кодированной единицы). Предсказывающий блок является блоком, который находят близко соответствующим блоку, который должен быть закодирован, в терминах пиксельной разности, которая может быть определена суммой абсолютных разностей (SAD), суммой разностей квадратов (SSD), или другими метриками различия. Вектор движения может также указывать смещение разделения макроблока. Компенсация движения может вовлекать выборку или генерирование предсказывающего блока, на основании вектора движения, определенного оценкой движения. Снова модуль 42 оценки движения и модуль 44 компенсации движения могут функционально быть интегрированы, в некоторых примерах.
[0076] Модуль 42 оценки движения вычисляет вектор движения для видеоблока внешне кодированного кадра, сравнивая видеоблок с видеоблоками опорного кадра в хранилище 64 опорных кадров. Модуль 44 компенсации движения может также интерполировать субцелочисленные пиксели опорного кадра, например, I-кадра или P-кадра. Стандарт ITU H.264 как пример описывает два списка: список 0, который включает в себя опорные кадры, имеющие порядок отображения раньше, чем кодируемый текущий кадр, и список 1, который включает в себя опорные кадры, имеющие порядок отображения позже чем кодируемый текущий кадр. Поэтому, данные, хранившие в хранилище 64 опорных кадров, могут быть организованы согласно этим спискам.
[0077] Модуль 42 оценки движения сравнивает блоки одного или более опорных кадров их хранилища 64 опорных кадров с блоком, который должен быть закодирован текущего кадра, например, P-кадра или B-кадра. Когда опорные кадры в хранилище 64 опорных кадров включают в себя значения для субцелочисленных пикселей, вектор движения, вычисленный блоком 42 оценки движения, может относиться к местоположению субцелочисленного пикселя опорного кадра. Модуль 42 оценки движения и/или модуль 44 компенсации движения могут также быть сконфигурированы, чтобы вычислять значения для позиций субцелочисленных пикселей опорных кадров, сохраненных в хранилище 64 опорных кадров, если никакие значения для позиций субцелочисленных пикселей не сохранены в хранилище 64 опорных кадров. Модуль 42 оценки движения посылает вычисленный вектор движения в модуль 56 энтропийного кодирования и модуль 44 компенсации движения. Блок опорного кадра, идентифицированный вектором движения, может упоминаться как предсказывающий блок. Модуль 44 компенсации движения может вычислять данные предсказания, на основании внешнее предсказывающего блока.
[0078] Блок 46 внутреннего предсказания может внутренне предсказать текущий блок, в качестве альтернативы внешнему предсказанию, выполненному блоком 42 оценки движения и блоком 44 компенсации движения, как описано выше. В частности, блок 46 внутреннего предсказания может определить режим внутреннего предсказания, чтобы использовать для кодирования текущего блока. В некоторых примерах блок 46 внутреннего предсказания может кодировать текущий блок, используя различные режимы внутреннего предсказания, например, во время отдельных проходов кодирования, и блок 46 внутреннего предсказания (или модуль 40 выбора режима, в некоторых примерах) может выбрать соответствующий режим внутреннего предсказания для использования от проверенных режимов. Например, блок 46 внутреннего предсказания может вычислять значения «искажения - скорость передачи», используя анализ «искажения - скорость передачи» для различных проверенных режимов внутреннего предсказания, и выбрать режим внутреннего предсказания, имеющий наилучшего характеристики «искажения - скорость передачи» среди проверенных режимов. Анализ «искажения - скорость передачи» обычно определяет величину искажения (или ошибку) между кодированным блоком и первоначальным некодированным блоком, который был закодирован, чтобы сформировать закодированный блок, а также как частоту следования в битах (то есть количество битов), используемых для формирования закодированного блока. Блок 46 внутреннего предсказания может вычислять отношения из искажений и скоростей передачи для различных закодированных блоков, чтобы определить, какой режим внутреннего предсказания показывает значение наилучшее значение «искажения - скорость передачи» для этого блока.
[0079] В любом случае после выбора режима внутреннего предсказания для блока, блок 46 внутреннего предсказания может предоставить информацию, указывающую выбранный режим внутреннего предсказания для блока к модулю 56 энтропийного кодирования. Модуль 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего предсказания, в соответствии с способами настоящего раскрытия. Как иллюстрировано на фиг.3, видеокодер 20 может включать в себя данные 66 конфигурации, которые могут включать в себя множество таблиц индекса режима внутреннего предсказания, и множество таблиц индекса кодового слова (также называемых таблицы отображения кодового слова), определения контекстов кодирования для различных блоков, и индикации наиболее вероятного режима внутреннего предсказания, таблицы индекса режима внутреннего предсказания, и таблицы индекса кодового слова, чтобы использовать для каждого из контекстов.
[0080] В примерах, где количество режимов внутреннего предсказания изменяется на основании размера блока, данные 66 конфигурации могут включать в себя различные таблицы для различных размеров блоков. Соответственно, контекст для кодирования индикации режима внутреннего предсказания, используемого для кодирования блока, может включать в себя размер блока, так же как режимы кодирования, используемые для кодирования соседних блоков. Модуль 56 энтропийного кодирования может выбрать таблицу индексов режима, и таблицу отображения кодового слова, используемых для выбора кодового слова, представляющего выбранный режим внутреннего предсказания, используемого, чтобы закодировать блок, на основании контекста для блока. Кроме того, таблицы индекса режима для блоков конкретного размера могут иметь количества записей, равные количеству режимов внутреннего предсказания для блоков этого размера. Таким образом, таблицы индекса режима для блоков размера 4×4 могут иметь 17 записей, таблицы индекса режима для блоков размера 8×8, 16×16, и 32×32 могут иметь 34 записей, и таблицы индекса режима для блоков размера 64×64 могут иметь 5 записей. Другие размеры блоков, например, 128×128, могут также иметь определенное количество доступных режимов внутреннего предсказания также.
[0081] Режимы внутреннего предсказания, доступные для блоков размера 8×8, 16×16 и 32×32, могут быть одинаковыми и поэтому, одни и те же таблицы индекса режима могут использоваться для блоков размеров 8×8, 16×16 и 32×32. Хотя одни и те же режимы могут быть возможными для блоков этих размеров, вероятность использования конкретного режима для кодирования блока может изменяться на основании размера блока. Соответственно, модуль 56 энтропийного кодирования может определить таблицу отображения кодового слова для конкретной таблицы индекса режима на основании размера блока, для которого режим внутреннего предсказания должен быть сигнализирован, в некоторых примерах.
[0082] Например, видеокодер 20 определяет набор наиболее вероятных режимов. Блок 46 внутреннего предсказания может определить фактический режим внутреннего предсказания соседних блоков текущего блока. Видеокодер 20 может также быть сконфигурирован, чтобы определить первый режим внутреннего предсказания для левого соседнего блока этого блока, определить второй режим внутреннего предсказания для верхнего соседнего блока этого блока, и когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, включать и первый режим внутреннего предсказания и второй режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания. Например, обращаясь к фиг.1, блок 46 внутреннего предсказания может определить фактические режимы внутреннего предсказания, используемые для соседних блоков А (4) и B (6) относительно текущего блока C (8). На основании режимов внутреннего предсказания, используемых для соседних блоков А (4) и B (6), блок 46 внутреннего предсказания определяет наиболее вероятные режимы для блока C (8). Блок 46 внутреннего предсказания может сравнить фактический режим внутреннего предсказания, используемый для соседнего блока А (4), с фактическим режимом внутреннего предсказания, используемый для соседнего блока B (6). На основании этого сравнения конкретный режим внутреннего предсказания, такой как плоский режим, может быть включен в набор наиболее вероятных режимов для блока C (8). Блок 46 внутреннего предсказания может также определить фактический режим, чтобы использовать, чтобы внутренне предсказать текущий блок C (8).
[0083] Когда первый режим внутреннего предсказания является таким же как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, блок 46 внутреннего предсказания включает плоский режим в набор наиболее вероятных режимов внутреннего предсказания. В другом примере, когда первый режим внутреннего предсказания является таким же как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, блок 46 внутреннего предсказания включает плоский режим и режим DC в набор наиболее вероятных режимов внутреннего предсказания.
[0084] В другом примере, когда текущий блок содержит блок яркости, видеокодер 20 определяет, для блока цветности, соответствующего блоку яркости, отображение набора значений на набор режимов внутреннего предсказания, причем набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC, и режим предсказания сигнала яркости, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима, и режима DC, набор режимов внутреннего предсказания также содержит повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из набора значений. Когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима, и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима, и режима DC, отображенного из первого значения из набора значений, видеокодер 20 кодирует значение, представляющее фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений на набор режимов.
[0085] В другом примере блок 46 внутреннего предсказания определяет направление предсказания фактического режима внутреннего предсказания и включает по меньшей мере один режим внутреннего предсказания, имеющий направление предсказания, самое близкое к направлению предсказания фактического режима внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
[0086] В еще одном примере, когда размер набора наиболее вероятных режимов внутреннего предсказания равен трем, блок 46 внутреннего предсказания определяет направление предсказания первого режима внутреннего предсказания, и сравнивает направление предсказания первого режима внутреннего предсказания с направлениями предсказания одного или более других доступных режимов внутреннего предсказания. Блок 46 внутреннего предсказания включает первый режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания. Далее, на основании сравнения блок 46 внутреннего предсказания включает второй и третий режим внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания.
[0087] После предсказания текущего блока, например, используя внутреннее предсказание или внешнее предсказание, видеокодер 20 может сформировать остаточный видеоблок, вычитая данные предсказания, вычисленные блоком 44 компенсации движения или блоком 46 внутреннего предсказания, из первоначального закодированного блока видео. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. Модуль 52 обработки преобразования применяет преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование, к остаточному блоку, формируя видеоблок, содержащий остаточные значения коэффициента преобразования. Модуль 52 обработки преобразования может выполнить другие преобразования, такие как определенные по стандарту H.264, которые концептуально аналогичны DCT. Вейвлет преобразования, целочисленные преобразования, суб-полосные преобразования, или другие типы преобразования могут также использоваться. В любом случае модуль 52 обработки преобразования применяет преобразование к остаточному блоку, формируя блок остаточных коэффициентов преобразования. Преобразование может преобразовать остаточную информацию из области пиксельных значений в область преобразования, такую как частотная область. Блок 54 квантования квантует остаточные коэффициенты преобразования, чтобы дополнительно уменьшить скорость передачи битов. Процесс квантования может уменьшить битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Степень квантования может быть изменена посредством настройки параметра квантования.
[0088] Вслед за квантованием модуль 56 энтропийного кодирования энтропийно кодирует квантованные коэффициенты преобразования. Например, модуль 56 энтропийного кодирования может выполнить адаптивное к контенту кодирование с переменной длиной кода (CAVLC), контекстно адаптивное двоичное арифметическое кодирование (CABAC), или другой способ энтропийного кодирования. После энтропийного кодирования модулем 56 энтропийного кодирования кодированное видео может быть передано на другое устройство или заархивировано для более поздней передачи или поиска. В случае контекстно адаптивного двоичного арифметического кодирования контекст может быть основан на соседних блоках и/или размерах блока.
[0089] В некоторых случаях модуль 56 энтропийного кодирования или другой блок видеокодера 20 может быть сконфигурирован, чтобы выполнить другие функции кодирования, в дополнение к энтропийному кодированию и кодированию режима внутреннего предсказания, как описано выше. Например, модуль 56 энтропийного кодирования может быть сконфигурирован, чтобы определить значения шаблона кодированных блоков (CBP) для блоков и разделений. Кроме того, в некоторых случаях модуль 56 энтропийного кодирования может выполнить кодирование длин серий коэффициентов в макроблоке или его разделении (фрагменте). В частности, модуль 56 энтропийного кодирования может применить зигзагообразное сканирование или другой шаблон сканирования, чтобы сканировать коэффициенты преобразования в макроблоке или разделении и кодировать серии нулей для дальнейшего сжатия. Модуль 56 энтропийного кодирования также может сконструировать информацию заголовка с соответствующими элементами синтаксиса для передачи в закодированном потоке битов видео.
[0090] Модуль 58 обратного квантования и модуль 60 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстановить остаточный блок в пиксельной области, например, для более позднего использования как опорный блок. Модуль 44 компенсации движения может вычислять опорный блок посредством суммирования остаточного блока к предсказывающему блоку одного из кадров хранилища 64 опорных кадров. Модуль 44 компенсации движения может также применять один или более фильтров интерполяции к восстановленному остаточному блоку, чтобы вычислить значения субцелочисленных пикселей для использования при оценке движения. Сумматор 62 суммирует восстановленный остаточный блок к блоку предсказания со скомпенсированным движением, сформированному блоком 44 компенсации движения, чтобы сформировать восстановленный видеоблок для сохранения в хранилище 64 опорных кадров. Восстановленный видеоблок может использоваться блоком 42 оценки движения и блоком 44 компенсации движения как опорный блок, чтобы внешне кодировать блок в последующем видеокадре.
[0091] Таким образом видеокодер 20 представляет пример видеокодера, сконфигурированного, чтобы определить один или более наиболее вероятных режимов кодирования с внутренним предсказанием для текущего блока видеоданных, на основании контекста кодирования для текущего блока, выбирать таблицу кодовых слов, на основании контекста для текущего блока, при этом таблица кодовых слов содержит множество кодовых слов переменной длины, соответствующих индексам кодового слова, которые соответствуют режимам внутреннего предсказания, отличных от наиболее вероятного режима(ов) внутреннего предсказания, на основании контекста, кодировать текущий блок, используя один из режимов внутреннего предсказания, отличный от наиболее вероятного режима кодирования с внутренним предсказанием, определять один из индексов кодовых слов, который соответствует этому одному из режимов внутреннего предсказания, используя таблицу кодовых слов, и выводить кодовое слово из выбранной таблицы кодовых слов, в котором кодовое слово соответствует этому одному из индексов кодовых слов.
[0092] Фиг.4 является блок-схемой, иллюстрирующей пример видеодекодера 30, который декодирует закодированную видеопоследовательность, и который может использоваться, чтобы реализовать различные способы, описанные здесь. В примере на фиг.3, видеодекодер 30 включает в себя модуль 70 энтропийного декодирования, модуль 72 компенсации движения, модуль 74 внутреннего предсказания, модуль 76 обратного квантования, модуль 78 обратного преобразования, память 82 и сумматор 80. Видеодекодер 30, в некоторых примерах, может выполнить проход декодирования, обычно взаимно обратный проходу кодирования, описанному относительно видеокодера 20 (фиг.3). Модуль 72 компенсации движения может генерировать данные предсказания на основании векторов движения, принятых от модуля 70 энтропийного декодирования.
[0093] Модуль 72 компенсации движения может использовать вектора движения, принятые в потоке битов, чтобы идентифицировать блок предсказания в опорных кадрах в хранилище 82 опорных кадров. Модуль 74 внутреннего предсказания может использовать режимы внутреннего предсказания, принятые в потоке битов, чтобы сформировать блок предсказания из пространственно смежных блоков. В частности, видеодекодер 30 в примере на фиг.4, включает в себя данные 84 конфигурации. Данные 84 конфигурации по существу аналогичны данным 66 конфигурации согласно фиг.3, в которых данные 84 конфигурации включают в себя информацию, описывающую контексты для внутренне предсказанных блоков, так же как одну из множества таблиц отображения индекса внутреннего предсказания для использования для каждого контекста, одну из множества таблиц индексов кодовых слов (или отображение кодовых слов), чтобы использовать для каждого контекста, и наиболее вероятный режим внутреннего предсказания для каждого контекста.
[0094] Модуль 70 энтропийного декодирования может принять кодовое слово, представляющее режим внутреннего предсказания, чтобы использовать для декодирования закодированного блока видеоданных. В некоторых примерах это кодовое слово может быть кодовым словом VLC, или энтропийно кодированным бинаризированным значением, которое является первым энтропийно декодированным, используя CABAC. Модуль 70 энтропийного декодирования может определить контекст для кодированного блока, например, на основании режимов внутреннего предсказания для левого соседнего и верхнего соседнего блока к закодированному блоку и/или размера для кодированного блока. Таким образом, контекст может соответствовать двум или более наиболее вероятным режимам. Кодовые слова обеспечивают индикацию фактического режима внутреннего предсказания для текущего блока. Например, кодовое слово указывает, является ли фактический режим внутреннего предсказания одним из наиболее вероятных режимов, и в противном случае модуль 74 внутреннего предсказания обеспечивает индикацию фактического режима внутреннего предсказания. На основании контекста модуль 70 энтропийного декодирования может определить один или более наиболее вероятных режимов внутреннего предсказания, чтобы использовать для декодирования блока, так же как таблицу индексов внутреннего предсказания и таблицу индексов кодовых слов, чтобы использовать для определения фактического режима внутреннего предсказания, чтобы использовать для декодирования блока.
[0095] Модуль 74 внутреннего предсказания может использовать режим внутреннего предсказания, соответствующий этой индикации, чтобы внутренне предсказать закодированный блок, например, используя пиксели соседних ранее декодированных блоков. Для примеров, в которых блок является кодированным в режиме внешнего предсказания, модуль 72 компенсации движения может принять информацию, определяющую вектор движения, чтобы извлечь данные предсказания с компенсированным движением для кодированного блока. В любом случае модуль 72 компенсации движения или модуль 74 внутреннего предсказания могут предоставить информацию, определяющую блок предсказания, к сумматору 80.
[0096] Модуль 76 обратного квантования, который обратно квантует, то есть деквантует, квантованные коэффициенты блока, предоставленные в потоке битов и декодированные модулем 70 энтропийного декодирования. Процесс обратного квантования может включать в себя обычный процесс, например, как определено стандартом декодирования H.264 или как выполняется тестовой моделью HEVC. Процесс обратного квантования может также включать в себя использование параметра квантования QPY, вычисленного кодером 50 для каждого макроблока, чтобы определить степень квантования и, аналогично, степень обратного квантования, которое должно быть применено.
[0097] Модуль 58 обратного преобразования применяет обратное преобразование, например, обратное DCT, обратное целочисленное преобразование, или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования, чтобы сформировать остаточные блоки в пиксельной области. Модуль 72 компенсации движения формирует данные блоки с компенсированным движением, возможно выполняя интерполяцию, основанную на фильтрах интерполяции. Идентификаторы для фильтров интерполяции, которые должны использоваться для оценки движения с точностью суб-пикселя, могут быть включены в элементы синтаксиса. Модуль 72 компенсации движения может использовать фильтры интерполяции, которые используется видеокодером 20 во время кодирования видеоблока, чтобы вычислить интерполированные значения для субцелочисленных пикселей опорного блока. Модуль 72 компенсации движения может определить фильтры интерполяции, используемые видеокодером 20, согласно принятой информации синтаксиса, и использовать эти фильтры интерполяции, чтобы сформировать предсказывающие блоки.
[0098] Модуль 72 компенсации движения использует некоторое из информации синтаксиса, чтобы определить размеры блоков, используемых для кодирования кадра(ов) кодированной видеопоследовательности, информации разделения, которая описывает, как каждый блок кадра или вырезка закодированной видеопоследовательности разделены, режимов, указывающих, как каждое разделение кодировано, один или более опорных кадров (и списков опорных кадров) для каждого внешне кодированного блока или разделения, и другую информацию для декодирования закодированной видеопоследовательности.
[0099] Сумматор 80 суммирует остаточные блоки с соответствующими блоками предсказания, генерируемыми блоком 72 компенсации движения или блоком 74 внутреннего предсказания, чтобы сформировать декодированные блоки. Если желательно, фильтр удаления блочности также может быть применен, чтобы фильтровать декодированные блоки, чтобы удалить артефакты блочности. Декодированные видеоблоки затем сохраняются в хранилище 82 опорных кадров, который выдает опорные блоки для последующей компенсации движения и также формирует декодированное видео для представления на устройстве отображения (такого как устройство 32 отображения на фиг.2).
[0100] Таким образом видеодекодер 30 согласно фиг.4 представляют пример видеодекодера, сконфигурированного, чтобы определить один или более наиболее вероятных режимов внутреннего предсказания для кодированного блока видеоданных, на основании контекста для текущего блока, выбрать таблицу кодовых слов, на основании контекста для текущего блока, в котором таблица кодовых слов содержит множество кодовых слов переменной длины, соответствующих индексам кодового слова, которые соответствуют режимам внутреннего предсказания, отличным от наиболее вероятного режима(ов) внутреннего предсказания, на основании контекста, определяют один из индексов кодовых слов, который соответствует принятому кодовому слову, используя таблицу кодовых слов, выбирать режим внутреннего предсказания, отличный от наиболее вероятного режим внутреннего предсказания, чтобы использовать для декодирования закодированного блока, в котором выбранный режим внутреннего предсказания соответствует определенному одному из индексов кодовых слов; и декодировать текущий блок, используя выбранный режим внутреннего предсказания.
[0101] Согласно способам, описанным здесь, видеодекодер 30 определяет набор наиболее вероятных режимов для текущего видеоблока. Модуль 74 внутреннего предсказания может определить фактический режим внутреннего предсказания соседних блоков текущего блока. Видеодекодер 30 может также быть сконфигурирован, чтобы определить первый режим внутреннего предсказания для левого соседнего блока этого блока, определить второй режим внутреннего предсказания для верхнего соседнего блока этого блока, и когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, включать и первый режим внутреннего предсказания и второй режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания. Например, обращаясь к фиг.1, модуль 74 внутреннего предсказания может определить фактические режимы внутреннего предсказания, используемые для соседних блоков А (4) и B (6) относительно текущего блока C (8). На основании режимов внутреннего предсказания, используемых для соседних блоков А (4) и B (6), модуль 74 внутреннего предсказания определяет наиболее вероятные режимы для блока C (8). Модуль 74 внутреннего предсказания может сравнить фактический режим внутреннего предсказания, используемый для соседнего блока А (4), с фактическим режимом внутреннего предсказания, используемым для соседнего блока B (6). На основании этого сравнения конкретный режим внутреннего предсказания, такой как плоский режим, может быть включен в набор наиболее вероятных режимов для блока C (8). Модуль 74 внутреннего предсказания может также определить фактический режим, чтобы использовать для внутреннего предсказания текущего блока C (8).
[0102] Когда первый режим внутреннего предсказания является таким же как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, модуль 74 внутреннего предсказания включает плоский режим в набор наиболее вероятных режимов внутреннего предсказания. В другом примере, когда первый режим внутреннего предсказания является таким же как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, модуль 74 внутреннего предсказания включает плоский режим и режим DC в набор наиболее вероятных режимов внутреннего предсказания.
[0103] В другом примере, когда текущий блок содержит блок яркости, видеодекодер 30 определяет для блока цветности, соответствующего блоку яркости, отображение набора значений в набор режимов внутреннего предсказания, причем набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC и режим предсказания сигнала яркости, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима, и режима DC, набор режимов внутреннего предсказания далее содержат повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из набора значений. Когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, отображенного из первого значения из набора значений, видеодекодер 30 декодирует значение, представляющее фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений в набор режимов.
[0104] В другом примере модуль 74 внутреннего предсказания определяет направление предсказания фактического режима внутреннего предсказания текущего блока и включает по меньшей мере один режим внутреннего предсказания, имеющий направление предсказания, самое близкое к направлению предсказания фактического режим внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
[0105] В еще одном примере, когда размер набора наиболее вероятных режимов внутреннего предсказания равен трем, модуль 74 внутреннего предсказания определяет направление предсказания первого режима внутреннего предсказания и сравнивает направление предсказания первого режима внутреннего предсказания с направлениями предсказания одного или более других доступных режимов внутреннего предсказания. Модуль 74 внутреннего предсказания включает первый режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания. Далее, на основании сравнения модуль 74 внутреннего предсказания включает второй и третий режим внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания.
[0106] Фиг.5 является диаграммой, иллюстрирующей один пример 35 режимов внутреннего предсказания и их соответствующих направлений предсказания. Как определено в этом примере, каждое из 35 значений индекса уникально назначено на различные режимы внутреннего предсказания. В этом примере индексное значение 2 отображено на режим внутреннего предсказания DC, индексное значение 34 отображено на плоский режим внутреннего предсказания, и индексное значение 35, отображено на режим внутреннего предсказания яркости. Остальная часть индексных значений назначены на доступный набор различных режимов внутреннего предсказания, каждый имеющий направление предсказания. Например, модуль 46 внутреннего предсказания из видеокодера 20 может обеспечить одно из пяти значений для элемента синтаксиса, который указывает фактический режим внутреннего предсказания, используемый для кодирования блока яркости. Точно так же модуль 46 внутреннего предсказания из видеокодера 20 может обеспечить одно из шести значений для элемента синтаксиса, который указывает фактический режим внутреннего предсказания, используемый для кодирования блока цветности. Шесть значений могут быть одним из пяти значений, используемых для блока яркости, плюс значение, указывающее имитацию режима внутреннего предсказания, который использовался, чтобы закодировать соответствующий блок яркости.
[0107] Например, режим внутреннего предсказания, отображенный в индексное значение 0, имеет направление предсказания вверх относительно текущего кодированного блока. Таким образом, пиксели, используемые для предсказания текущего блока, берутся из сверху текущего блока, когда выбирается режим, отображенный в индексное значение 0. Для примеров, где номер режима внутреннего предсказания равен 34, режимы внутреннего предсказания, имеющие направления предсказания, самые близкие к режиму внутреннего предсказания, отображенному в индексное значение 0, являются режимами внутреннего предсказания, отображенными на индексные значения 21 и 22. Для примеров, где номер режима внутреннего предсказания равен 17, режимы внутреннего предсказания, имеющие направления предсказания, самые близкие к режиму внутреннего предсказания, отображенному в индексное значение 0, являются режимами внутреннего предсказания, отображенными в индексные значения 11 и 12, так как индексные значения 21 и 22 не доступны для набора 17 режимов внутреннего предсказания.
[0108] В альтернативной схеме нумерации, внутренний плоский режим может соответствовать режиму 0, когда номер режима всех других режимов может быть увеличено на 1. Некоторые из таблиц, используемых в течение настоящего раскрытия, обычно соответствуют этой альтернативной схеме нумерации. Это должно быть ясно, однако, специалисту в данной области техники, что способы настоящего раскрытия не ограничены одной конкретной схемой нумерации.
[0109] Фиг.6 является диаграммой, иллюстрирующей другой пример 35 режимов внутреннего предсказания и их соответствующих направлений предсказания. Как определено в примере на фиг.6, каждое из 35 индексных значений уникально назначено на различные режимы внутреннего предсказания. В этом примере индексное значение 0 отображено на плоский режим внутреннего предсказания, индексное значение 1 отображено на режим внутреннего предсказания DC, и индексное значение 35 отображено на режим внутреннего предсказания яркости. Остальная часть индексных значений назначена на доступный набор отличных режимов внутреннего предсказания, каждый имеющий направление предсказания.
[0110] Диаграмма на фиг.6 показывает, что IntraPredMode [xB] [yB] помеченный 0, 1, 2.., 35 представляет направления предсказаний согласно таблице 3.1. Таблица 3.1 определяет значение для режима внутреннего предсказания и ассоциированные названия. Режим 34, например, является внутренним угловым режимом, который указывает на верхне-правое направление текущего блока, который должен быть кодирован. В некоторых примерах режим 34 является верхне-правым режимом внутреннего предсказания направления.
Таблица 3.1
Спецификация режима внутреннего предсказания и ассоциированных названий
Режим внутреннего предсказания Ассоциированные названия
0 Intra_Planar (внутренний плоский)
1 Intra_DC (внутренний DC)
Другие (2…34) Intra_Angular (внутренний угловой)
35 Intra_FromLuma (используется только для цветности)
[0111] Входные данные к примерному процессу выведения для режимов внутреннего предсказания яркости включают в себя местоположение (xB, yB) яркости, задающее верхнюю левую выборку яркости текущего блока относительно верхней левой выборки яркости текущей картинки, переменную log2PUSize, задающую размер текущего блока предсказания, и массив переменных IntraPredMode (если доступен), которые являются ранее (в порядке декодирования) полученными для смежных единиц кодирования. Выходными данными примерного процесса выведения для режимов внутреннего предсказания яркости является переменная IntraPredMode [xB] [yB].
[0112] IntraPredMode [xB] [yB] может быть получена как следующие упорядоченные этапы. Во-первых, соседние местоположения (xBA, yBA) и (xBB, yBB) установлены равными (xB-1, yB) и (xB, yB-1), соответственно. Во-вторых, адреса cbAddrA и cbAddrB минимальных блоков кодирования блоков дерева кодирования, покрывающие местоположения (xBA, yBA) и (xBB, yBB) соответственно, где получены следующим образом:
cbAddrA
=MinCbAddrZS [xBA <<Log2MinCbSize] [yBA<< Log2MinCbSize]
cbAddrB
=MinCbAddrZS [xBB <<Log2MinCbSize] [yBB<<Log2MinCbSize]
[0113] В-третьих, процесс пригодности для адреса минимального блока кодирования, заданный вызывается однажды с адресом cbAddrA минимального блока кодирования в качестве ввода и вывода, назначенного на доступный availableA и однажды с адресом cbAddrB минимального блока кодирования в качестве ввода и вывода, назначенного на availableB.
[0114] В-четвертых, для N, заменяемого любым A или B, переменные intraPredModeN получают следующим образом: если availableN равен ЛОЖЬ, intraPredModeN устанавливается равным Intra_DC. Иначе, если единица кодирования, покрывающая (xBN, yBN) не кодирована как внутренний режим, intraPredModeN устанавливается равной Intra_DC, иначе, если yB-1 является меньше, чем yCtb, intraPredModeA устанавливается равной IntraPredMode [xBA] [yBA], и intraPredModeB устанавливается равной Intra_DC. Иначе, intraPredModeN устанавливается равной IntraPredMode [xBN] [yBN], где IntraPredMode является массив переменных, назначенный на единицу кодирования, покрывающую местоположение (xBN, yBN) яркости.
[0115] В-пятых, candModeList[x] с x=0.. 2 получают следующим образом: Если candIntraPredModeB равна candIntraPredModeA, применяется следующее: Если candIntraPredModeA меньше чем 2 (или Intra_Planar или Intra_DC), candModeList[x] с x=0.. 2 получают как:
candModeList [0] = Intra_Planar
candModeList [l] = Intra_DC
candModeList [2] = Intra_Angular (26)
Иначе, candModeList[x] с x=0.. 2 получают как:
candModeList [0] = candIntraPredModeA
candModeList [1] = 2 + ((candIntraPredModeA - 2 - 1) % 32
candModeList [2] = 2 + ((candIntraPredModeA - 2 + 1) % 32
Иначе (candIntraPredModeB не равно candIntraPredModeA), применяется следующее: candModeList [0] и candModeList [1] получают следующим образом:
candModeList [0] = candIntraPredModeA
candModeList [1] = candIntraPredModeB
Если ни один из candModeList [0] и candModeList [1] не равно Intra_Planar, candModeList [2] устанавливается равным Intra_Planar. Иначе, если ни один из candModeList [0] и candModeList [1] не равен Intra_DC, candModeList [2] устанавливается равным Intra_DC. Иначе, candModeList [2] устанавливается равным Intra_Angular (26).
[0116] В-шестых, IntraPredMode [xB] [yB] получают, применяя следующую процедуру. Если prev_intra_pred_flag [xB] [yB] равен ИСТИНА, IntraPredMode [xB] [yB] устанавливается равным candModeList [mpm_idx]. Иначе IntraPredMode [xB] [yB] получают, применяя следующие упорядоченные этапы: Во-первых, массив candModeList[x], x=0.. 2 модифицируют следующим образом: если candModeList [0] больше чем candModeList [1], меняют два значения; если candModeList [0] больше чем candModeList [2], меняют два значения; и если candModeList [1] больше чем candModeList [2], меняют два значения. Во-вторых, IntraPredMode [xB] [yB] получают как следующие упорядоченные этапы: Во-первых, IntraPredMode [xB] [yB] = rem_intra_luma_pred_mode. Когда IntraPredMode [xB] [yB] больше чем или равен candModeList [0], значение IntraPredMode [xB] [yB] увеличивают на один. Когда IntraPredMode [xB] [yB] больше чем или равен candModeList [1], значение IntraPredMode [xB] [yB] увеличивают на один. Когда IntraPredMode [xB] [yB] больше чем или равен candModeList [2], значение IntraPredMode [xB] [yB] увеличивают на один.
[0117] Примерный процесс выведения для режима внутреннего предсказания цветности определен следующим образом. Входными данными для этого процесса является местоположение (xB, yB) яркости, задающее верхнюю левую выборку яркости текущего блока относительно верхней левой выборки яркости текущей картинки. Выходными данными этого процесса является переменная IntraPredModeC. Режим внутреннего предсказания цветности IntraPredModeC получают как определено в таблицах 3.2 или 3.3 с intra_chroma_pred_mode, IntraPredMode [xB] [yB] и chroma_pred_from_luma_enabled_flag в качестве входов.
Figure 00000001
Figure 00000002
[0118] Дальнейшие детали относительно процессов кодирования для единиц кодирования, кодированных в режиме внутреннего предсказания, могут быть найдены в кодировании видеовысокой производительности (HEVC) в draft 6 текста спецификации, JCT-VC ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 7th meeting, Geneva, 21-30 November 2011, все содержимое которой включено по ссылке. Дальнейшие детали относительно процессов кодирования для единиц кодирования, кодированных в режиме внутреннего предсказания в соответствии с HEVC, могут быть найдены в draft 7, document HCTVC-I1003, Brass et al., "High Efficiency Video Coding (HEVC) Text Specification Draft 7," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SGI 6 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012, которые, как 6 июня 2012, были загружены из http://phenix.it- sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-11003-v3.zip.
[0119] Фиг.7 является последовательностью операций, иллюстрирующей один пример способа 100 для сигнализации режима внутреннего предсказания для видеокодирования. Способ 100 может быть выполнен любым из системы 10 согласно фиг.1, видеокодера 20 согласно фиг.3, видеодекодера 30 согласно фиг.4, или любым другим подходящим устройством.
[0120] Способ 100 включает в себя определение, для блока видеоданных, набора наиболее вероятных режимов внутреннего предсказания таким образом, что набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум (102). Способ 100 может также включать в себя кодирование значения, представляющего фактический режим внутреннего предсказания для блока, на основании, по меньшей мере частично, набора наиболее вероятных режимов внутреннего предсказания (104). Далее, способ 100 включает в себя кодирование блока, используя фактический режим внутреннего предсказания (106).
[0121] Способ 100 может включать в себя установку NumMPMC в фиксированный номер для кадра или картинки, который больше или равен 2. Например, если NumMPMC = 3, три режима-кандидата выбирают при всех обстоятельствах для заданной картинки. Относительно блока в этой картинке, если оба candIntraPredModeN являются одинаковыми, определяют направление предсказания для candIntraPredModeN. Из доступных режимов предсказания для этого блока два режима предсказания, которые имеют самые близкие направления предсказания в качестве направления предсказания candIntraPredModeN, назначают быть дополнительными двумя режимами-кандидатами, приводя общее количество наиболее вероятных режимов к фиксированному набору из трех режимов. Если значения для candIntraPredModeN различны, дополнительный режим-кандидат может быть выбран, чтобы быть DC, вертикальным или горизонтальным режимами.
[0122] В другом примере, где NumMPMC = 3, три режима-кандидата выбирают при всех обстоятельствах для заданной картинки, в котором набор из трех наиболее вероятных режимов внутреннего предсказания включает в себя режим DC, вертикальный режим и плоский режим.
[0123] Фиг.8 является последовательностью операций, иллюстрирующей один пример способа 200 для определения наиболее вероятных режимов-кандидатов внутреннего предсказания, когда набор наиболее вероятных режимов внутреннего предсказания равен трем. Способ 200 может быть выполнен видеокодером, таким как видеокодер 20 согласно фиг.2 и 3. В других примерах способ 200 может быть выполнен видеодекодером, таким как видеодекодер 30 согласно фиг.2 и 4.
[0124] Подробности примерного выведения способа 200 является следующими. Во-первых, NumMPMC устанавливается равным трем наиболее вероятным режимам (202). В некоторых примерах видеокодер 20 или видеодекодер 30 устанавливают NumMPMC равным три для текущего блока. В других примерах видеокодер 20 или видеодекодер 30 определяют NumMPMC из ранее кодированного блока относительно текущего блока, в котором ранее кодированный блок является из того же кадра что и текущий блок.
[0125] Видеокодер 20 или видеодекодер 30 определяют, доступны ли оба candIntraPredModeN в наборе доступных режимов внутреннего предсказания (204). Набор доступных режимов внутреннего предсказания может быть основан на intraPredModeNum, и может быть, например, равен 17 или 34. Если оба candIntraPredModeN не доступны, то значение 2 назначают на candModeList [0], значение 0 назначают на candModeList [1], и значение 1 назначают на candModeList [2] (206). Например, если оба candIntraPredModeN не доступны, candModeList [0], назначают на режим DC, candModeList [1] назначают на плоский режим, и candModeList [2] назначают на вертикальный режим. Например, если оба candIntraPredModeN не доступны, то candModeList может быть выбран, чтобы быть DC, вертикальным или горизонтальным. Иначе, если оба candIntraPredModeN являются доступными, видеокодер 20 или видеодекодер 30 определяют, имеют ли оба candIntraPredModeN одно и то же значение, то есть, указывают на один и тот же режим внутреннего предсказания (208).
[0126] Если оба candIntraPredModeN одинаковы, то этот candIntraPredModeN назначается на candModeList [0] (210). CandModeList [1] и candModeList [2] затем получают блоком 46 или 74 внутреннего предсказания, соответственно, применяя следующую процедуру:
preModeMinus1_M [candModeList [0]] назначается на candModeList [1] и PreModePlus1_M [candModeList [0]] назначается на candModeList [2], где M представляет intraPredModeNum (212). Таблицы 3.3, 4.3, и 5.3, представленные ниже, могут использоваться при определении этих значений. Например, используя фиг.5, если intraPredModeNum равно 34, и candModeList [0]=0 (подразумевая, что candIntraPredModeN = 0), то candModeList [1] = preModeMinus1_M [candModeList [0]]=21 и candModeList [2] = PreModePlus1_M [candModeList [0]]=22.
[0127] Возвращаясь к фиг.8, если оба candIntraPredModeN являются одинаковыми (208), то оба candIntraPredModeN назначают на список режимов-кандидатов (214). Например, меньший из этих двух кандидатов назначают на candModeList [0], и большего кандидата назначают на candModeList [1].
[0128] Остающийся третий кандидат, который должен быть включен в набор наиболее вероятных режимов, CandModeList [2], получают, применяя следующую процедуру: видеокодер 20 или видеодекодер 30 определяют, равен ли любой candIntraPredModeN значению 2 (216). Если ни один candIntraPredModeN не равен значению 2, то значение 2 назначают на candModeList [2] (218). Это гарантирует, что значение 2 не повторяется в списке режимов-кандидатов. Если по меньшей мере один из candIntraPredModeN равен значению 2, то видеокодер 20 или видеодекодер 30 определяют, равен ли любой candIntraPredModeN значению 0 (220). Если ни один candIntraPredModeN не равен значению 0, то значение 0 назначают на candModeList [2] (222). Иначе, значение 1 назначают на candModeList [2] (224).
[0129] Таблица 4 предоставляет примерное отображение режимов-кандидатов с переменной intraPredModeNum, установленной в три. В одном примере видеокодер, такой как видеокодер 20 согласно фиг.2 и 3, конфигурируется данными, соответствующими таблице 4.3. Аналогично, видеодекодер, такой как видеодекодер 30 согласно фиг.2 и 4, конфигурируется данными, соответствующими таблице 4.3. Таблица 4.3 обеспечивает отображение между кандидатом (или фактическим) режима внутреннего предсказания и двумя самыми близкими режимами внутреннего предсказания к режиму внутреннего предсказания, когда intraPredModeNum равняется трем. В некоторых примерах самые близкие режимы внутреннего предсказания к режиму внутреннего предсказания могут быть самыми близкими в терминах направления предсказания. Видеокодер может использовать отображение режима-кандидата из таблицы 4.3, чтобы определить, какие режимы внутреннего предсказания включены в список наиболее вероятных режимов-кандидатов для текущего блока, когда intraPredModeNum равен трем.
Figure 00000003
[0130] Таблица 5.3 предоставляет примерное отображение режимов-кандидатов с переменной intraPredModeNum, установленной в семнадцать. В одном примере видеокодер, такой как видеокодер 20 согласно фиг.2 и 3, конфигурируется данными, соответствующими таблице 5.3. Аналогично, видеодекодер, такой как видеодекодер 30 согласно фиг.2 и 4, конфигурируется данными, соответствующими таблице 5.3. Таблица 5.3 обеспечивает отображение между кандидатом (или фактическим) режимом внутреннего предсказания и двумя самыми близкими режимами внутреннего предсказания к режиму внутреннего предсказания, когда intraPredModeNum равняется семнадцати. В некоторых примерах самые близкие режимы внутреннего предсказания к режиму внутреннего предсказания могут быть самыми близкими в терминах направления предсказания. Видеокодер может использовать отображение режима-кандидата из таблицы 5.3, чтобы определить, какие режимы внутреннего предсказания включены в список наиболее вероятных режимов-кандидатов для текущего блока, когда intraPredModeNum равно семнадцати.
Figure 00000004
[0131] Таблица 6.3 предоставляет примерное отображение режимов-кандидатов с переменной intraPredModeNum установлено в тридцать четыре. В одном примере видеокодер, такой как видеокодер 20 согласно фиг.2 и 3, конфигурируется данными, соответствующими таблице 6.3. Аналогично, видеодекодер, такой как видеодекодер 30 согласно фиг.2 и 4, конфигурируется данными, соответствующими таблице 6.3. Таблица 6.3 обеспечивает отображение между кандидатом (или фактическим) режимом внутреннего предсказания и двумя самыми близкими режимами внутреннего предсказания к режиму внутреннего предсказания, когда intraPredModeNum равняется тридцать четыре. В некоторых примерах самые близкие режимы внутреннего предсказания к режиму внутреннего предсказания могут быть самыми близкими в терминах направления предсказания. Видеокодер может использовать отображение режима-кандидата из таблицы 6.3, чтобы определить, какие режимы внутреннего предсказания включены в список наиболее вероятных режимов-кандидатов для текущего блока, когда intraPredModeNum равно тридцати четырем.
Figure 00000005
[0132] В некоторых примерах, когда NumMPMC больше чем или равно двум, один из наиболее вероятных режимов-кандидатов является плоским режимом. Например, если NumMPMC равно четырем, три режима кандидата могут быть определены как описано выше, в то время как четвертый режим установлен в плоский режим. Если один из трех режимов-кандидатов уже равен плоскому режиму, четвертый режим может быть устанавливается равным режиму DC.
[0133] Другой параметр, оставшийся режим внутреннего предсказания, rem_intra_pred_mode, также может быть определен. Согласно способам настоящего описания, rem_intra_pred_mode может иметь множественные контексты. Наиболее вероятный режим может использоваться, чтобы предсказать оставшийся режим внутреннего предсказания. Каждый контейнер закодирован с контекстом, чтобы лучше представить статистическую величину, приводящую к улучшенному выбору наиболее вероятного режима.
[0134] Согласно другим способам может быть предоставлено группирование кодовых слов. Например, все кодовые слова для режимов внутреннего предсказания могут быть разделены на множественные группы. Бинаризация фиксированной или переменной длины может использоваться, чтобы сигнализировать индекс группы. Затем, бинаризация фиксированной или переменной длины может использоваться, чтобы сигнализировать индекс кодового слова в группе.
[0135] Например, три группы кодов сформированы для intraPredModeNum, равного 17 или 34. Все группы, кроме одной имеют 2N строк контейнера, как показано в таблице 7. В одном примере видеокодер, такой как видеокодер 20 согласно фиг.2 и 3, конфигурируется данными, соответствующими таблице 7. Аналогично, видеодекодер, такой как видеодекодер 30 согласно фиг.2 и 4, конфигурируется с данными, соответствующими таблице 7.
Figure 00000006
[0136] Одно исключение к таблице 7 является тем, что когда отображенный rem_intra_luma_pred_mode больше чем 23, и бинаризация показана в таблице 8. Унарная бинаризация используется, чтобы указать индекс группы отображенного rem_intra_luma_pred_mode. В одном примере видеокодер, такой как видеокодер 20 согласно фиг.2 и 3, конфигурируется данными, соответствующими таблице 8. Аналогично, видеодекодер, такой как видеодекодер 30 согласно фиг.2 и 4, конфигурируется данными, соответствующими таблице 8.
Figure 00000007
[0137] Индекс кодового слова получают из режима внутреннего предсказания, независимо от того, использует ли видеокодер VLC или CABAC. Индекс кодового слова может отображаться на бинаризированное значение, такое, как показано в таблице 8. Бинаризированное значение является последовательностью битов, которые могут упоминаться как контейнеры. Каждый контейнер может быть кодирован последовательно. Таким образом, две таблицы предоставлены таким образом, что для каждого различного сценария, кодовые слова уже представлены в таблице и не должны быть определены для каждого сценария. Единственная таблица бинаризации предоставлена независимо от того, какие наиболее вероятные режимы внутреннего предсказания включены в список кандидатов.
[0138] Способы, описанные здесь, также обеспечивают фиксированное кодовое слово и кодируют размер таблицы для режима предсказания цветности при различных режимах предсказания яркости. Из-за режима наследования существующий подход удаляет любые избыточные кодовые слова из кодовых таблиц. Таблица кодов фиксированного размера может быть выгодной для процесса синтаксического разбора, так как декодирование режима яркости более не должно быть сделано заранее.
[0139] Два различных подхода могут быть осуществлены, чтобы достигнуть таблицы кодов фиксированного размера. Во-первых, один из режимов внутреннего предсказания запрещается, когда нет избыточного кодового слова, таким образом избыточное кодовое слово создается искусственно. Во-вторых, отличному режиму разрешается заменить избыточный режим, чтобы устранить избыточное кодовое слово. Кроме того, отображение кодового слова и режима внутреннего предсказания может быть различным для различных режимов предсказания яркости.
[0140] В другом примере отображение плоского режима может быть изменено от предыдущего HEVC. Например, плоский режим может быть отображен в индексное значение 0. Затем значение индекса, ассоциированное со всеми другими режимами внутреннего предсказания, может быть увеличено на 1. Это изменение увеличит вероятность получения меньшего rem_intra_luma_pred_mode, так как плоский режим выбирается более часто.
[0141] Способы настоящего раскрытия устанавливают количество доступных режимов внутреннего предсказания цветности. Переменная Intra_Pred_ModeC является режимом внутреннего предсказания цветности. Например, шесть доступных режимов внутреннего предсказания цветности (IntraPredModeC) могут быть сигнализированы. Два режима, предсказание сигнала яркости и повторное использование режима внутреннего предсказания яркости, остаются неизменными. Для других четырех режимов добавляют два выбора режима, которые включают в себя смежные режимы внутреннего предсказания и перпендикулярные смежные режимы внутреннего предсказания. Таблица 9 предоставляет примерное отображение индекса для смежных режимов внутреннего предсказания. Таблица 9 предоставляет примерное отображение индекса для перпендикулярных смежных режимов внутреннего предсказания.
Figure 00000008
Figure 00000009
[0142] Другие четыре режима получают следующим образом: если intra_pred_mode равно 2, 0 назначается на intra_chroma_pred_mode [0], 1 назначается на intra_chroma_pred_mode [1], 6 назначается на intra_chroma_pred_mode [2], и 35 назначается на intra_chroma_pred_mode [3]. Если intra_pred_mode равно 35, например, 0 назначается на intra_chroma_pred_mode [0], 1 назначается на intra_chroma_pred_mode [1], 2 назначается на intra_chroma_pred_mode [2], и 6 назначается на intra_chroma_pred_mode [3].
[0143] Если, например, intraPredModeNum равно 18 или 35, intra_chroma_pred_mode [0], intra_chroma_pred_mode [1], и intra_chroma_pred_mode [2] получают, применяя следующую процедуру, используя некоторые из таблиц, таких как Таблицы 8 и 9. PredModeMinus1_M [intra_pred_mode] назначается на intra_chroma_pred_mode [0], PredModePlus1_M [intra_pred_mode] назначается на intra_chroma_pred_mode [1], PredMode_P_M [intra_pred_mode] назначается на intra_chroma_pred_mode [2], и 35 назначается на intra_chroma_pred_mode [3], где М представляет intraPredModeNum. Иначе, 0 назначается на intra_chroma_pred_mode [0], 1 назначается на intra_chroma_pred_mode [1], 2 назначается на intra_chroma_pred_mode [2], и 35 назначается на intra_chroma_pred_mode [3].
[0144] В другом примере, где количество доступных режимов внутреннего предсказания цветности фиксировано, любой избыточный intra_pred_mode в списке режимов-кандидатов внутреннего предсказания может быть заменен заранее заданным режимом внутреннего предсказания.
[0145] В другом примере NumMPMC может быть установлен равным четырем. Таким образом, четыре режима-кандидата выбирают при всех обстоятельствах для заданного видеокадра (то есть NumMPMC = 4). Если оба candIntraPredModeN одинаковы, два доступных режима предсказания, которые являются самыми близкими к candIntraPredModeN в направлении предсказания, назначаются как два дополнительных два режима-кандидата. Если candIntraPredModeN различны, дополнительный режим-кандидат может быть выбран, чтобы быть DC, вертикальным или горизонтальным режимом.
[0146] Выведение примера для списков режимов-кандидатов является следующим, для когда NumMPMC = 4: Если оба candIntraPredModeN не доступны, то значение 3 назначается на candModeList [0], значение 0 назначается на candModeList [1], значение 1 назначается на candModeList [2], и значение 2 назначается на candModeList [3]. Иначе, если оба candIntraPredModeN одинаковы, то этот candIntraPredModeN назначают на candModeList [0]. CandModeList [1] и candModeList [2] получают, применяя следующую процедуру, используя таблицы 3.4, 4.4 и 5.4.
[0147] Как может быть замечено из таблиц 3.4, 4.4 и 5.4, если candModeList [0] не равны, значение 0 назначается на candModeList [1]. Иначе, значение 2 назначается на candModeList [1]. PreModeMinus1_M [candModeList [0]] назначается на candModeList [2], и PreModePlus1_M [candModeList [0]] назначается на candModeList [3], где M представляет intraPredModeNum.
[0148] Иначе, оба candIntraPredModeN назначают на список режимов-кандидатов с меньшим из этих двух кандидатов в candModeList [0] и большим - в candModeList [1]. Переменные candModeList [2], candModeList [3], и candModeList [4] получают, применяя следующую процедуру: Если candIntraPredMode [0]=0, то candModeList [2] = PreModeMinus1_M [candModeList [1]] и candModeList [3] = PreModePlus1_M [candModeList [1]]. Иначе, если candIntraPredMode1 = 0, то candModeList [2] = PreModeMinus1_M [candModeList [0]] и candModeList [3] = PreModePlus1_M [candModeList [0]]. Иначе, candModeList [2]=0, и переменные candModeList [3] и candModeList [4] выбраны первыми двумя доступными элементами из следующего набора:
Figure 00000010
Режим может быть определен как доступный, когда этот режим ранее не существовал в candModeList.
[0149] Таблицы 3.4, 4.4 и 5.4 представлены ниже, и являются аналогичными таблицам 3.3, 4.3 и 5.3, представленным выше. Таблицы 3.3, 4.3 и 5.3 относятся к примерам, где intraPredModeNum равно 3. Напротив, таблицы 3.4, 4.4 и 5.4 относятся к примерам, где intraPredModeNum равно 4. В частности, таблица 4.4 представляет примерное отображение режима-кандидата, когда intraPredModeNum равно 4.
Figure 00000011
[0150] Таблица 5.4 представляет примерное отображение режима-кандидата, когда intraPredModeNum равно 18.
Figure 00000012
[0151] Таблица 6.4 представляет примерное отображение режима-кандидата, когда intraPredModeNum равно 35.
Figure 00000013
[0152] Согласно другому примеру, NumMPMC может быть равным 5. То есть, пять режимов-кандидатов выбирают при всех обстоятельствах (то есть NumMPMC = 5), за исключением intraPredModeNum = 4, где NumMPMC = 4. Если NumMPMC = 4, выведение candModeList [4] пропускают. В этом примере NumMPMC = 5, плоский режим, как предполагается, установлен в значение 0. Если оба candIntraPredModeN одинаковы, то есть, например, если режимы внутреннего предсказания левого соседнего и верхнего соседнего блоков являются одинаковыми, два доступных режима предсказания, которые являются самыми близкими к candIntraPredModeN в направлении предсказания, могут быть назначены двумя режимами-кандидатами. Если candIntraPredModeN различны, дополнительный режим-кандидат может быть выбран, чтобы быть DC, вертикальным или горизонтальным режимом.
[0153] Деталями выведения примера являются следующие: Если оба candIntraPredModeN не доступны, то значение 3 назначается на candModeList [0], значение 0 назначается на candModeList [1], значение 1 назначается на candModeList [2], значение 2 назначается на candModeList [3], и значение 9 назначается на candModeList [4]. Например, candIntraPredMode0 может соответствовать левому соседнему блоку (блок 6 на фиг.1), и candIntraPredMode1 может соответствовать верхнему соседнему блоку (блок 4 на фиг.1). Иначе, если оба candIntraPredModeN доступны и являются одинаковыми, то значение одного и того же candIntraPredModeN назначается на candModeList [0].
[0154] Значения для candModeList [1] и candModeList [2] выводят, применяя следующую процедуру, используя таблицы 2.4, 3.4 и 4.4. Если candModeList [0] не равно 0 или 2, значение 0 назначается на candModeList [1]. Иначе, значение 2 назначается на candModeList [1]. PreModeMinus1_M [candModeList [0]] назначается на candModeList [2], PreModePlus1_M [candModeList [0]] назначается на candModeList [3], и Last_MPM [candModeList [0]] назначается на candModeList [4], где M представляет intraPredModeNum.
[0155] Иначе, оба candIntraPredModeN назначают на список режимов-кандидатов с меньшим из этих двух кандидатов в candModeList [0] и большим - в candModeList [1]. Переменные candModeList [2], candModeList [3] и candModeList [4] получают, применяя следующую процедуру. Если candIntraPredMode0 = 0, то candModeList [2] = PreModeMinus1_M [candModeList [1]], candModeList [3] = PreModePlus1_M [candModeList [1]], и candModeList [4] = LastMPM_M [candModeList [1]]. Иначе, если candIntraPredMode1 = 0, то candModeList [2] = PreModeMinus1_M [candModeList [0]], candModeList [3] = PreModePlus1_M [candModeList [0]], и candModeList [4] = LastMPM_M [candModeList [0]]. Иначе, candModeList [2] = 0, и candModeList [3] и candModeList [4] выбирают из первых двух доступных элементов из следующего набора:
Figure 00000014
Режим может быть определен как доступный, когда режим ранее не существовал в candModeList.
[0156] Относительно сигнализации режима внутреннего предсказания цветности современный HEVC разрешает 6 режимов, плоский, вертикальный, горизонтальный, DC, основанное на сигнале яркости предсказание цветности, и наследование режима предсказания Яркости. Назначение индекса для этих режимов может быть следующим: плоский (0), вертикальный 1l), горизонтальный (2), DC (3), и основанное на сигнале яркости предсказание (35) цветности. Однако, в других примерах используются другие назначения индекса. Среди всех наследование режима предсказания яркости означает, что направление предсказания цветности является таким же как направление предсказания яркости.
[0157] Например, 0 назначается на intra_chroma_pred_mode [0], 1 назначается на intra_chroma_pred_mode [1], 2 назначается на intra_chroma_pred_mode [2] и 3 назначается на intra_chroma_pred_mode [3]. Если intra_pred_mode равно 0, 1, 2, или 3 (то есть плоский, вертикальный, горизонтальный, или режим DC), 7 назначается на intra_chroma_pred_mode [intra_pred_mode]. Фиг.6 иллюстрирует другой пример, имеющий отличное отображение индексных значений на режимы внутреннего предсказания для компонентов яркости. Например, на фиг.6, если intra_pred_mode равно 0, 10, 26 или 1 (плоский, вертикальный, горизонтальный, или режим DC, соответственно), то 34 (верхний правый) назначается на intra_chroma_pred_mode [intra_pred_mode]. Таким образом, если intra_pred_mode равно плоский, вертикальный, горизонтальный, или режим DC, то intra_chroma_pred_mode [intra_pred_mode] равно верхнему-правому направленному режиму.
[0158] Конструкция Last_MPM может быть одинаковой для intraPredModeNum = 18 и первых 18 режимов, когда intraPredModeNum = 35, чтобы иметь тот же размер таблицы. Также, когда intraPredModeNum = 35, последние 17 режимов могут быть симметрично с конструированы относительно режима 1, 2, и 4, чтобы также сохранить размер таблицы.
[0159] В другом примере может быть установлено количество доступных режимов внутреннего предсказания цветности. Например, шесть доступных режимов внутреннего предсказания цветности (IntraPredModeC) могут быть сигнализированы. Два режима, предсказание сигнала яркости и повторное использование режима внутреннего предсказания яркости, остаются неизменными. Для других четырех режимов добавляться два выбора, которые являются смежными режимами внутреннего предсказания (таблица 4.4 и таблица 5.4) и режимы перпендикулярного смежного внутреннего предсказания (таблица 8 и таблица 9).
[0160] Другие четыре режима получают, как следует ниже. 0 назначается на intra_chroma_pred_mode [0], 1 назначается на intra_chroma_pred_mode [1], 2 назначается на intra_chroma_pred_mode [2], и 3 назначается на intra_chroma_pred_mode [3]. Если intra_pred_mode равно 0 или 3, 7 назначается на intra_chroma_pred_mode [intra_pred_mode]. Иначе, PredModeMinus1_M [intra_pred_mode] назначается на intra_chroma_pred_mode [0], PredModePlus1_M [intra_pred_mode] назначается на intra_chroma_pred_mode [1], PredMode_P_M [intra_pred_mode] назначается на intra_chroma_pred_mode [2].
Figure 00000015
Figure 00000016
[0161] В одном или более примерах описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении, программно-аппаратных средствах, или любой их комбинации. Если реализованы в программном обеспечении, функции могут быть сохранены на или переданы по как одна или более инструкций или код по считываемому компьютером носителю и выполнены основанным на аппаратном обеспечении блоком обработки. Считываемый компьютером носитель может включать в себя считываемые компьютером носители данных, который соответствует материальному носителю, такому как запоминающие носители данных, или коммуникационные носители, включая любой носитель, который облегчает передачу компьютерной программы от одного места к другому, например, согласно протоколу связи. Таким образом считываемый компьютером носитель обычно может соответствовать (1) материальным считываемым компьютером носителям данных, которые является невременными или (2) коммуникационному носителю, такому как сигнал или несущая. Запоминающие носители данных могут быть любым доступным носителем, к которому могут получить доступ один или более компьютеров или один или более процессоров, чтобы извлечь инструкции, код и/или структуры данных для реализации способов, описанных в настоящем описании. Компьютерный программный продукт может включать в себя считываемый компьютером носитель.
[0162] Посредством примера, а не ограничения, такие считываемые компьютером носители данных могут содержать RAM, ROM, EEPROM, CD-ROM или другое оптическое дисковое запоминающее устройство, магнитное дисковое запоминающее устройство, или другие магнитные устройства хранения, флэш-память, или любой другой носитель, который может использоваться, чтобы сохранить желательный программный код в форме инструкций или структур данных и к которому может получить доступ компьютер. Также, любое соединение должным образом называют считываемым компьютером носителем. Например, если инструкции переданы от вебсайта, сервера, или другого удаленного источника, используя коаксиальный кабель, волокно-оптический кабель, витую пару, цифровую абонентскую линию (DSL), или беспроводные технологии такой как инфракрасная, радио- и микроволновая, то эти коаксиальный кабель, волокно-оптический кабель, витая пара, DSL, или беспроводные технологии такие как инфракрасная, радио- и микроволновая, включены в определение носителя. Нужно подразумевать, однако, что считываемые компьютером носители данных и запоминающие носители данных не включают в себя соединения, несущие, сигналы, или другие временные носители, но вместо этого направлены на невременные материальные носители данных. Диск и диск, как используется здесь, включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), дискета и диск blu-ray, где диски (disks) обычно воспроизводят данные магнитным образом, в то время как диски (discs) воспроизводят данные оптически с помощью лазеров. Комбинации вышеупомянутого должны также быть включены в рамки считываемого компьютером носителя.
[0163] Инструкции могут быть выполнены одним или более процессорами, такими как один или более цифровые сигнальные процессоры (DSPs), микропроцессоры общего назначения, специализированные интегральные схемы (ASIC), программируемые пользователем логические матрицы (FPGA), или другие эквивалентные интегральные или дискретные логические схемы. Соответственно, термин "процессор", как используется здесь, может относиться к любой известной структуре или любой другой структуре, подходящей для реализации способов, описанных здесь. Также, в некоторых аспектах функциональные возможности, описанные здесь, могут быть предоставлены в пределах специализированного аппаратного обеспечения и/или программных модулей, сконфигурированных для кодирования и декодирования, или встроенных в объединенный кодек. Также, способы могли быть полностью реализованы в одной или более схемах или логических элементах.
[0164] Способы настоящего раскрытия могут быть реализованы в широком разнообразии устройств или аппаратов, включая беспроводную телефонную трубку, интегральную схему (IC) или набор IC (например, микропроцессорный набор). Различные компоненты, модули, или блоки описаны в настоящем описании, чтобы подчеркнуть функциональные аспекты устройств, конфигурируемых, чтобы выполнять раскрытые способы, но не обязательно требовать реализации различными блоками аппаратного обеспечения. Вместо этого, как описано выше, различные блоки могут быть объединены в блоке аппаратного обеспечения кодека или предоставлены коллекцией взаимодействующих блоков аппаратного обеспечения, включая один или более процессоров, как описано выше, в соединении с подходящим программным обеспечением и/или программно-аппаратными средствами.
[0165] Были описаны различные примеры. Эти и другие примеры находятся в рамках ниже следующей формулы изобретения.

Claims (49)

1. Способ кодирования видеоданных, причем способ содержит:
определение, для блока видеоданных, набора наиболее вероятных режимов внутреннего предсказания для того, чтобы предсказать блок видеоданных из доступных режимов внутреннего предсказания для предсказания блока видеоданных, в котором набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум;
кодирование значения, представляющего фактический режим внутреннего предсказания для упомянутого блока, на основании, по меньшей мере частично, того, включен ли фактический режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания; и
кодирование блока, используя фактический режим внутреннего предсказания.
2. Способ по п. 1, в котором определение набора наиболее вероятных режимов внутреннего предсказания содержит:
определение первого режима внутреннего предсказания для левого соседнего блока упомянутого блока;
определение второго режима внутреннего предсказания для верхнего соседнего блока упомянутого блока; и
когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, включение и первого режима внутреннего предсказания, и второго режима внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания.
3. Способ по п. 2, дополнительно содержащий:
когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, включение первого режима внутреннего предсказания и плоского режима в набор наиболее вероятных режимов внутреннего предсказания.
4. Способ по п. 2, дополнительно содержащий:
когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, включение плоского режима и режима DC в набор наиболее вероятных режимов внутреннего предсказания.
5. Способ по п. 1, в котором упомянутый блок содержит блок яркости, причем способ дополнительно содержит:
определение для блока цветности, соответствующего блоку яркости, отображения набора значений в набор режимов внутреннего предсказания, причем упомянутый набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC и режим предсказания сигнала яркости, при этом, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из упомянутого набора значений, и при этом, когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, отображенных из первого значения из упомянутого набора значений;
кодирование значения, представляющего фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений в набор режимов; и
кодирование блока цветности, используя фактический режим внутреннего предсказания для блока цветности.
6. Способ по п. 1, дополнительно содержащий:
определение направления предсказания фактического режима внутреннего предсказания; и
включение по меньшей мере одного режима внутреннего предсказания, имеющего направление предсказания, самое близкое к направлению предсказания фактического режима внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
7. Способ по п. 1, в котором размер набора наиболее вероятных режимов внутреннего предсказания равен трем.
8. Способ по п. 7, дополнительно содержащий:
определение направления предсказания первого режима внутреннего предсказания;
сравнение направления предсказания первого режима внутреннего предсказания с направлениями предсказания одного или более других доступных режимов внутреннего предсказания; и
включение первого режима внутреннего предсказания, второго режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания и третьего режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания, на основании сравнения.
9. Способ по п. 7, в котором набор из трех наиболее вероятных режимов внутреннего предсказания включает в себя режим DC, вертикальный режим и плоский режим.
10. Способ по п. 1, в котором:
размер набора наиболее вероятных режимов внутреннего предсказания равен четырем,
когда два из наиболее вероятных режимов внутреннего предсказания одинаковы, набор из четырех наиболее вероятных режимов внутреннего предсказания содержит два доступных режима внутреннего предсказания, имеющие направления предсказания, которые являются самыми близкими к направлению предсказания одного и того же наиболее вероятного режима внутреннего предсказания, иначе наиболее вероятные режимы внутреннего предсказания содержат по меньшей мере один из режима внутреннего предсказания DC, вертикального режима внутреннего предсказания или горизонтального режима внутреннего предсказания.
11. Способ по п. 1, дополнительно содержащий:
выбор фактического режима внутреннего предсказания, и
в котором кодирование блока также содержит кодирование блока на основании фактического режима внутреннего предсказания.
12. Способ по п. 1, в котором:
кодирование блока также содержит декодирование блока, используя фактический режим внутреннего предсказания, и
кодирование значения, представляющего фактический режим внутреннего предсказания, содержит определение фактического режима внутреннего предсказания из упомянутого значения.
13. Способ по п. 1, в котором, когда фактический режим внутреннего предсказания является плоским, вертикальным, горизонтальным или режимом DC, режим внутреннего предсказания цветности является режимом внутреннего предсказания с верхнеправым направлением.
14. Устройство для кодирования видеоданных, причем устройство содержит видеокодер, сконфигурированный, чтобы: определить для блока видеоданных набор наиболее вероятных режимов внутреннего предсказания для того, чтобы предсказать блок видеоданных из доступных режимов внутреннего предсказания для предсказания блока видеоданных, при этом набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум; кодировать значение, представляющее фактический режим внутреннего предсказания для упомянутого блока, на основании, по меньшей мере частично, того, включен ли фактический режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания; и кодировать блок, используя фактический режим внутреннего предсказания.
15. Устройство по п. 14, в котором при определении набора наиболее вероятных режимов внутреннего предсказания видеокодер сконфигурирован, чтобы: определить первый режим внутреннего предсказания для левого соседнего блока упомянутого блока, определить второй режим внутреннего предсказания для верхнего соседнего блока упомянутого блока, и когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, включать и первый режим внутреннего предсказания, и второй режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания.
16. Устройство по п. 15, в котором видеокодер также сконфигурирован, чтобы, когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, включать первый режим внутреннего предсказания и плоский режим в набор наиболее вероятных режимов внутреннего предсказания.
17. Устройство по п. 15, в котором видеокодер также сконфигурирован, чтобы, когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, включать плоский режим и режим DC в набор наиболее вероятных режимов внутреннего предсказания.
18. Устройство по п. 14, в котором блок содержит блок яркости, и в котором видеокодер также сконфигурирован, чтобы определить, для блока цветности, соответствующего блоку яркости, отображение набора значений в набор режимов внутреннего предсказания, причем набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC и режим предсказания сигнала яркости, при этом, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из набора значений, и в котором, когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, отображенных из первого значения из упомянутого набора значений, кодировать значение, представляющее фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений в набор режимов, и кодировать блок цветности, используя фактический режим внутреннего предсказания для блока цветности.
19. Устройство по п. 14, в котором видеокодер также сконфигурирован, чтобы определить направление предсказания фактического режима внутреннего предсказания и включать по меньшей мере один режим внутреннего предсказания, имеющий направление предсказания, самое близкое к направлению предсказания фактического режима внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
20. Устройство по п. 14, в котором размер набора наиболее вероятных режимов внутреннего предсказания равен трем.
21. Устройство по п. 20, в котором видеокодер также сконфигурирован, чтобы: определять направление предсказания первого режима внутреннего предсказания, сравнивать направление предсказания первого режима внутреннего предсказания с направлениями предсказания одного или более других доступных режимов внутреннего предсказания и включать первый режим внутреннего предсказания, второй режим внутреннего предсказания из одного или более доступных режимов внутреннего предсказания и третий режим внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания, на основании сравнения.
22. Устройство по п. 20, в котором набор из трех наиболее вероятных режимов внутреннего предсказания включает в себя режим DC, вертикальный режим и плоский режим.
23. Устройство по п. 21, в котором:
размер набора наиболее вероятных режимов внутреннего предсказания равен четырем,
когда два из наиболее вероятных режимов внутреннего предсказания одинаковы, набор из четырех наиболее вероятных режимов внутреннего предсказания содержит два доступных режима внутреннего предсказания, имеющие направления предсказания, которые являются самыми близкими к направлению предсказания одного и того же наиболее вероятного режима внутреннего предсказания, иначе наиболее вероятные режимы внутреннего предсказания содержат по меньшей мере один из режима внутреннего предсказания DC, вертикального режима внутреннего предсказания или горизонтального режима внутреннего предсказания.
24. Устройство по п. 14, в котором, когда фактический режим внутреннего предсказания является плоским, вертикальным, горизонтальным или режимом DC, режим внутреннего предсказания цветности является режимом внутреннего предсказания с верхнеправым направлением.
25. Устройство по п. 14, в котором видеокодер содержит видеокодировщик.
26. Устройство по п. 14, в котором видеокодер содержит видеодекодер.
27. Считываемый компьютером носитель, имеющий сохраненные на нем инструкции, которые при выполнении вынуждают процессор устройства кодирования видео:
определять для блока видеоданных набор наиболее вероятных режимов внутреннего предсказания для того, чтобы предсказать блок видеоданных из доступных режимов внутреннего предсказания для предсказания блока видеоданных, в котором набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум;
кодировать значение, представляющее фактический режим внутреннего предсказания для блока, на основании, по меньшей мере частично, того, включен ли фактический режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания; и
кодировать блок, используя фактический режим внутреннего предсказания.
28. Считываемый компьютером носитель по п. 27, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять:
определение первого режима внутреннего предсказания для левого соседнего блока упомянутого блока;
определение второго режима внутреннего предсказания для верхнего соседнего блока упомянутого блока; и
когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, включение и первого режима внутреннего предсказания, и второго режима внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания.
29. Считываемый компьютером носитель по п. 28, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять: когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, включение первого режима внутреннего предсказания и плоского режима в набор наиболее вероятных режимов внутреннего предсказания.
30. Считываемый компьютером носитель по п. 28, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять: когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, включение плоского режима и режима DC в набор наиболее вероятных режимов внутреннего предсказания.
31. Считываемый компьютером носитель по п. 27, в котором блок содержит блок яркости, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять:
определение для блока цветности, соответствующего блоку яркости, отображения набора значений в набор режимов внутреннего предсказания, причем набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC и режим предсказания сигнала яркости, в котором, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из упомянутого набора значений, и в котором, когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, отображенных из первого значения из набора значений;
кодирование значения, представляющего фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений в набор режимов; и
кодирование блока цветности, используя фактический режим внутреннего предсказания для блок цветности.
32. Считываемый компьютером носитель по п. 27, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять:
определение направления предсказания фактического режима внутреннего предсказания; и
включение по меньшей мере одного режима внутреннего предсказания, имеющего направление предсказания, самое близкое к направлению предсказания фактического режима внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
33. Считываемый компьютером носитель по п. 27, в котором размер набора наиболее вероятных режимов внутреннего предсказания равен трем.
34. Считываемый компьютером носитель по п. 33, в котором инструкции дополнительно вынуждают процессор устройства кодирования видео выполнять:
определение направления предсказания первого режима внутреннего предсказания;
сравнение направления предсказания первого режима внутреннего предсказания с направлениями предсказания одного или более других доступных режимов внутреннего предсказания;
включение первого режима внутреннего предсказания, второго режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания и третьего режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания, на основании сравнения.
35. Считываемый компьютером носитель по п. 33, в котором набор из трех наиболее вероятных режимов внутреннего предсказания включает в себя режим DC, вертикальный режим и плоский режим.
36. Считываемый компьютером носитель по п. 27, в котором:
размер набора наиболее вероятных режимов внутреннего предсказания равен четырем, и
когда два из наиболее вероятных режимов внутреннего предсказания одинаковы, набор из четырех наиболее вероятных режимов внутреннего предсказания содержит два доступных режима внутреннего предсказания, имеющие направления предсказания, которые являются самыми близкими к направлению предсказания одного и того же наиболее вероятного режима внутреннего предсказания, иначе наиболее вероятные режимы внутреннего предсказания содержат по меньшей мере один из режима внутреннего предсказания DC, вертикального режима внутреннего предсказания или горизонтального режима внутреннего предсказания.
37. Считываемый компьютером носитель по п. 27, в котором инструкции, которые вынуждают процессор кодировать блок, содержат инструкции, которые вынуждают процессор выполнять кодирование блока, дополнительно содержат инструкции, которые вынуждают процессор выбирать фактический режим внутреннего предсказания.
38. Считываемый компьютером носитель по п. 27, в котором инструкции, которые вынуждают процессор кодировать блок, содержат инструкции, которые вынуждают процессор выполнять декодирование упомянутого блока, при этом инструкции, которые вынуждают процессор кодировать значение, представляющее фактический режим внутреннего предсказания, содержат инструкции, которые вынуждают процессор определять фактический режим внутреннего предсказания.
39. Устройство для кодирования видео, содержащее:
средство для определения для блока видеоданных набора наиболее вероятных режимов внутреннего предсказания для того, чтобы предсказать блок видеоданных из доступных режимов внутреннего предсказания для предсказания блока видеоданных, в котором набор наиболее вероятных режимов внутреннего предсказания имеет размер, который равен заранее определенному числу, которое больше чем или равно двум;
средство для кодирования значения, представляющего фактический режим внутреннего предсказания для упомянутого блока, на основании, по меньшей мере частично, того, включен ли фактический режим внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания; и
средство для кодирования блока, используя фактический режим внутреннего предсказания.
40. Устройство по п. 39, дополнительно содержащее:
средство для определения первого режима внутреннего предсказания для левого соседнего блока упомянутого блока;
средство для определения второго режима внутреннего предсказания для верхнего соседнего блока упомянутого блока; и
когда первый режим внутреннего предсказания отличен от второго режима внутреннего предсказания, средство для включения и первого режима внутреннего предсказания, и второго режима внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания.
41. Устройство по п. 40, дополнительно содержащее:
когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат режим, отличный от плоского режима, средство для включения первого режима внутреннего предсказания и плоского режима в набор наиболее вероятных режимов внутреннего предсказания.
42. Устройство по п. 40, дополнительно содержащее:
когда первый режим внутреннего предсказания является таким же, как второй режим внутреннего предсказания, и когда первый и второй режимы внутреннего предсказания содержат плоский режим, средство для включения плоского режима и режима DC в набор наиболее вероятных режимов внутреннего предсказания.
43. Устройство по п. 39, в котором упомянутый блок содержит блок яркости, причем устройство дополнительно содержит:
средство для определения для блока цветности, соответствующего блоку яркости, отображения набора значений в набор режимов внутреннего предсказания, причем набор режимов внутреннего предсказания содержит горизонтальный режим, вертикальный режим, плоский режим, режим DC и режим предсказания сигнала яркости, в котором, когда фактический режим внутреннего предсказания для блока яркости содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит повторное использование режима внутреннего предсказания яркости, отображенного из первого значения из набора значений, и в котором, когда фактический режим внутреннего предсказания для блока яркости содержит один из горизонтального режима, вертикального режима, плоского режима и режима DC, набор режимов внутреннего предсказания также содержит режим, отличный от горизонтального режима, вертикального режима, плоского режима и режима DC, отображенных из первого значения из упомянутого набора значений;
средство для кодирования значения, представляющего фактический режим внутреннего предсказания для блока цветности, на основании отображения набора значений в набор режимов; и
средство для кодирования блока цветности, используя фактический режим внутреннего предсказания для блока цветности.
44. Устройство по п. 39, дополнительно содержащее:
средство для определения направления предсказания фактического режима внутреннего предсказания; и
включение по меньшей мере одного режима внутреннего предсказания, имеющего направление предсказания, самое близкое к направлению предсказания фактического режима внутреннего предсказания, в набор наиболее вероятных режимов внутреннего предсказания.
45. Устройство по п. 39, в котором размер набора наиболее вероятных режимов внутреннего предсказания равен трем.
46. Устройство по п. 45, дополнительно содержащее:
определение направления предсказания первого режима внутреннего предсказания;
сравнение направления предсказания первого режима внутреннего предсказания с направлениями предсказания из одного или более других доступных режимов внутреннего предсказания;
включение первого режима внутреннего предсказания, второго режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания и третьего режима внутреннего предсказания из одного или более доступных режимов внутреннего предсказания в набор наиболее вероятных режимов внутреннего предсказания, в котором второй и третий режимы внутреннего предсказания имеют направления предсказания, определенные как самые близкие к направлению предсказания первого режима внутреннего предсказания, на основании сравнения.
47. Устройство по п. 39, в котором:
размер набора наиболее вероятных режимов внутреннего предсказания равен четырем, и
когда два из наиболее вероятных режимов внутреннего предсказания одинаковы, набор из четырех наиболее вероятных режимов внутреннего предсказания содержит два доступных режима внутреннего предсказания, имеющие направления предсказания, которые являются самыми близкими к направлению предсказания одного и того же наиболее вероятного режима внутреннего предсказания, иначе наиболее вероятные режимы внутреннего предсказания содержат по меньшей мере один из режима внутреннего предсказания DC, вертикального режима внутреннего предсказания или горизонтального режима внутреннего предсказания.
48. Устройство по п. 39, в котором устройство содержит видеокодировщик.
49. Устройство по п. 39, в котором устройство содержит видеодекодер.
RU2013158134/08A 2011-06-09 2012-06-08 Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства RU2601843C2 (ru)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161495332P 2011-06-09 2011-06-09
US61/495,332 2011-06-09
US201161503712P 2011-07-01 2011-07-01
US61/503,712 2011-07-01
US201161504664P 2011-07-05 2011-07-05
US61/504,664 2011-07-05
US201161533118P 2011-09-09 2011-09-09
US61/533,118 2011-09-09
US13/491,076 US9654785B2 (en) 2011-06-09 2012-06-07 Enhanced intra-prediction mode signaling for video coding using neighboring mode
US13/491,076 2012-06-07
PCT/US2012/041545 WO2012170812A1 (en) 2011-06-09 2012-06-08 Enhanced intra-prediction mode signaling for video coding using neighboring mode

Publications (2)

Publication Number Publication Date
RU2013158134A RU2013158134A (ru) 2015-07-20
RU2601843C2 true RU2601843C2 (ru) 2016-11-10

Family

ID=47293185

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013158134/08A RU2601843C2 (ru) 2011-06-09 2012-06-08 Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства

Country Status (21)

Country Link
US (2) US9654785B2 (ru)
EP (2) EP2719180B1 (ru)
JP (2) JP5805861B2 (ru)
KR (2) KR101825275B1 (ru)
CN (1) CN103597832B (ru)
AU (1) AU2012267737B2 (ru)
BR (1) BR112013031197B1 (ru)
CA (1) CA2837952C (ru)
DK (1) DK2719180T3 (ru)
ES (2) ES2657546T3 (ru)
HU (1) HUE035456T2 (ru)
IL (1) IL229415A (ru)
MX (1) MX336905B (ru)
PL (1) PL2719180T3 (ru)
PT (1) PT2719180T (ru)
RU (1) RU2601843C2 (ru)
SG (1) SG194971A1 (ru)
SI (1) SI2719180T1 (ru)
UA (1) UA110649C2 (ru)
WO (1) WO2012170812A1 (ru)
ZA (1) ZA201400151B (ru)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020055290A1 (en) * 2018-09-13 2020-03-19 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
RU2767982C2 (ru) * 2017-08-03 2022-03-22 Шарп Кабусики Кайся Системы и способы для разделения видеоблоков при внешнем прогнозировании среза видеоданных
RU2784004C2 (ru) * 2018-09-21 2022-11-23 Хуавей Текнолоджиз Ко., Лтд. Деривация режима внутреннего предсказания на основе соседних блоков
US11729405B2 (en) 2019-02-24 2023-08-15 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
US11902507B2 (en) 2018-12-01 2024-02-13 Beijing Bytedance Network Technology Co., Ltd Parameter derivation for intra prediction
US11930185B2 (en) 2018-11-06 2024-03-12 Beijing Bytedance Network Technology Co., Ltd. Multi-parameters based intra prediction
US11930210B2 (en) 2018-06-25 2024-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867854B2 (en) * 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
KR101356448B1 (ko) * 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
CN102484701A (zh) * 2009-07-06 2012-05-30 汤姆逊许可证公司 用于空间变化残差编码的方法和设备
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
US10136130B2 (en) * 2010-08-17 2018-11-20 M&K Holdings Inc. Apparatus for decoding an image
WO2012092763A1 (en) * 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus of improved intra luma prediction mode coding
KR101824241B1 (ko) * 2011-01-11 2018-03-14 에스케이 텔레콤주식회사 인트라 부가정보 부호화/복호화 장치 및 방법
DK2685724T3 (da) 2011-03-06 2020-05-18 Lg Electronics Inc Intraforudsigelsesfremgangsmåde af krominansblok under anvendelse af luminansprøve, og apparat anvendende samme
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
MX2013013909A (es) * 2011-06-13 2014-01-24 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imágenes.
KR101953522B1 (ko) 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
WO2012171463A1 (en) * 2011-06-17 2012-12-20 Mediatek Inc. Method and apparatus for coding of intra prediction mode
HUE038712T2 (hu) 2011-06-28 2018-11-28 Samsung Electronics Co Ltd Eljárás video dekódolására intra predikcióval
WO2013023518A1 (en) * 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
GB2494468B (en) * 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
PL3139596T3 (pl) * 2011-09-13 2020-03-31 Hfi Innovation Inc. Sposób i urządzenie do kodowania wewnątrzklatkowego w HEVC
KR101974952B1 (ko) * 2011-10-06 2019-05-07 인텔렉추얼디스커버리 주식회사 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치
CN107197309B (zh) 2011-10-07 2020-02-18 英迪股份有限公司 对视频信号进行解码的方法
PL3379833T3 (pl) * 2011-10-18 2021-12-13 Lg Electronics Inc. Sposób intra-predykcji i jego urządzenie
WO2013062194A1 (ko) * 2011-10-24 2013-05-02 (주)인터앱 복원 블록을 생성하는 방법 및 장치
PL2945380T3 (pl) * 2011-10-24 2022-05-09 Innotive Ltd Sposób i aparat do dekodowania trybu intra-predykcji
CN105338347B (zh) 2011-10-24 2018-11-13 英孚布瑞智有限私人贸易公司 用于图像解码的方法和装置
EP2942954B1 (en) * 2011-10-24 2020-06-03 Innotive Ltd Image decoding apparatus
HUE060005T2 (hu) 2011-10-24 2023-01-28 Gensquare Llc Képdekódoló berendezés
KR20130049525A (ko) 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
US9154796B2 (en) * 2011-11-04 2015-10-06 Qualcomm Incorporated Intra-mode video coding
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
US9554136B2 (en) * 2011-12-05 2017-01-24 Lg Electronics Inc. Method and device for intra prediction
CN103220506B (zh) 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN109413429B (zh) * 2012-01-20 2022-05-17 杜比实验室特许公司 解码方法、视频解码设备及编码方法
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9210438B2 (en) * 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
US9264710B2 (en) * 2012-07-06 2016-02-16 Texas Instruments Incorporated Method and system for video picture intra-prediction estimation
WO2014107083A1 (ko) * 2013-01-07 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9516306B2 (en) 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US9369708B2 (en) 2013-03-27 2016-06-14 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
SG10201913539SA (en) * 2013-04-07 2020-02-27 Dolby Int Ab Signaling change in output layer sets
BR112015023251B1 (pt) * 2013-04-12 2023-03-14 Intel Corporation Codificação de profundidade simplificada com intracodificação modificada para codificação de vídeo em 3d
US9729875B2 (en) 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
US20150271491A1 (en) * 2014-03-24 2015-09-24 Ati Technologies Ulc Enhanced intra prediction mode selection for use in video transcoding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
CN106716999B (zh) * 2014-06-20 2019-08-09 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
JP5983715B2 (ja) * 2014-11-28 2016-09-06 株式会社Jvcケンウッド 画像復号装置、画像復号方法、及び画像復号プログラム
US10205968B2 (en) * 2015-02-13 2019-02-12 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US9756401B2 (en) 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
WO2016195460A1 (ko) 2015-06-05 2016-12-08 한양대학교 산학협력단 화면 내 예측에 대한 부호화/복호화 방법 및 장치
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
WO2017086746A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 화면내 예측 모드 부호화/복호화 방법 및 장치
KR20180075518A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN108605130B (zh) * 2015-11-27 2021-05-11 联发科技股份有限公司 一种用于对与区块相关的符号进行熵编解码的方法和装置
EP3442232A4 (en) * 2016-04-06 2019-12-04 KT Corporation METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
US11368681B2 (en) 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018062699A1 (ko) * 2016-09-30 2018-04-05 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
WO2018066863A1 (ko) * 2016-10-04 2018-04-12 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10506228B2 (en) 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
US11039130B2 (en) 2016-10-28 2021-06-15 Electronics And Telecommunications Research Institute Video encoding/decoding method and apparatus, and recording medium in which bit stream is stored
CN110115036B (zh) 2016-12-23 2021-09-03 华为技术有限公司 一种用于从预定定向帧内预测模式集合中移除定向帧内预测模式的帧内预测装置
CN110115034B (zh) 2016-12-23 2023-01-13 华为技术有限公司 一种用于扩展预定定向帧内预测模式集合的帧内预测装置
HUE062025T2 (hu) * 2016-12-23 2023-09-28 Huawei Tech Co Ltd Kódoló berendezés egy kiterjesztési irányú intra-predikciós mód jelzésére irányított intra-predikciós módok csoportján belül
JP6917719B2 (ja) * 2017-01-27 2021-08-11 日本放送協会 イントラ予測器、画像符号化装置、画像復号装置およびプログラム
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
WO2018181252A1 (en) * 2017-03-28 2018-10-04 Panasonic Intellectual Property Corporation Of America Encoding apparatus, decoding apparatus, encoding method, and decoding method
EP3399754A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus for most probable mode (mpm) reordering for intra prediction
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10630978B2 (en) * 2017-05-12 2020-04-21 Blackberry Limited Methods and devices for intra-coding in video compression
EP3422716A1 (en) * 2017-06-26 2019-01-02 Thomson Licensing Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding
EP3635957B1 (en) * 2017-06-29 2024-05-22 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a video coding block of a multiview video signal
WO2019023200A1 (en) * 2017-07-24 2019-01-31 Arris Enterprises Llc INTRA-MODE JVET CODING
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
CN116405673A (zh) * 2017-12-22 2023-07-07 数码士有限公司 视频信号处理方法和设备
WO2019129166A1 (en) * 2017-12-29 2019-07-04 Fg Innovation Ip Company Limited Device and method for coding video data based on mode list including different mode groups
CN118018725A (zh) * 2018-05-10 2024-05-10 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
US11277644B2 (en) 2018-07-02 2022-03-15 Qualcomm Incorporated Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching
US10638161B2 (en) * 2018-07-13 2020-04-28 Tencent America LLC Methods and apparatus for most probable mode derivation
WO2020050697A1 (ko) * 2018-09-06 2020-03-12 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020055159A1 (ko) * 2018-09-11 2020-03-19 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3850840A1 (en) 2018-09-13 2021-07-21 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Affine linear weighted intra predictions
EP3709644A1 (en) * 2019-03-12 2020-09-16 Ateme Method for image processing and apparatus for implementing the same
EP3629579A1 (en) 2018-09-27 2020-04-01 Ateme Method for image processing and apparatus for implementing the same
US11303885B2 (en) 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation
US10848763B2 (en) * 2018-11-14 2020-11-24 Tencent America LLC Method and apparatus for improved context design for prediction mode and coded block flag (CBF)
US11652984B2 (en) * 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
GB2579824B (en) 2018-12-14 2022-05-18 British Broadcasting Corp Video encoding and video decoding
JP7311263B2 (ja) 2018-12-17 2023-07-19 ナブテスコ株式会社 ドアロック装置、およびドアロックシステム、およびドア制御装置
MX2021007328A (es) 2018-12-20 2021-08-24 Fraunhofer Ges Forschung Intrapredicciones usando transformaciones lineales o afines con reduccion de muestras vecinas.
GB2580326A (en) 2018-12-28 2020-07-22 British Broadcasting Corp Video encoding and video decoding
US11595662B2 (en) * 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
WO2020162797A1 (en) * 2019-02-07 2020-08-13 Huawei Technologies Co., Ltd. Method and apparatus of intra prediction mode signaling
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
GB2582023A (en) * 2019-03-08 2020-09-09 British Broadcasting Corp Method of signalling in a video codec
GB2596394B (en) * 2019-03-08 2022-08-17 British Broadcasting Corp Method of signalling in a video codec
US11405638B2 (en) * 2019-03-17 2022-08-02 Tencent America LLC Method and apparatus for video coding by determining intra prediction direction based on coded information of neighboring blocks
JP7314300B2 (ja) * 2019-03-21 2023-07-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド イントラ予測のための方法および装置
CN118540474A (zh) * 2019-03-24 2024-08-23 华为技术有限公司 视频译码中进行色度帧内预测的方法及装置
MX2021015462A (es) 2019-06-14 2022-03-11 Fraunhofer Ges Forschung Codificacion que utiliza intraprediccion.
WO2020256597A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Matrix-based intra prediction for still picture and video coding
WO2020256599A1 (en) * 2019-06-21 2020-12-24 Huawei Technologies Co., Ltd. Method and apparatus of quantizing coefficients for matrix-based intra prediction technique
US11330298B2 (en) * 2019-06-25 2022-05-10 Qualcomm Incorporated Simplified intra chroma mode coding in video coding
JP7384998B2 (ja) * 2019-08-01 2023-11-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド クロマイントラモード導出のエンコーダ、デコーダ、および対応する方法
EP4014488A4 (en) * 2019-10-03 2022-12-21 Huawei Technologies Co., Ltd. CODING METHOD FOR A GEOMETRIC PARTITION MODE
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
CN114830652A (zh) * 2019-12-16 2022-07-29 华为技术有限公司 用于方向性帧内预测的参考样本插值滤波的方法及装置
EP4059220A4 (en) * 2019-12-19 2023-04-19 Huawei Technologies Co., Ltd. POSITION DEPENDENT PREDICTION COMBINATION METHOD AND APPARATUS
WO2021045655A2 (en) * 2019-12-31 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
US12015765B2 (en) * 2021-04-26 2024-06-18 Tencent America LLC Template matching based intra prediction
EP4349016A1 (en) * 2021-06-03 2024-04-10 Innopeak Technology, Inc. Quantization level binarization in video coding
US11917136B2 (en) 2021-07-15 2024-02-27 Tencent America LLC Intra mode coding
US12120335B2 (en) * 2021-08-24 2024-10-15 Tencent America LLC Hardware friendly design for intra mode coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2329615C2 (ru) * 2003-12-01 2008-07-20 Самсунг Электроникс Ко., Лтд. Способ масштабируемого кодирования и декодирования видеосигнала и устройство для его осуществления

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
WO2003021971A1 (en) 2001-08-28 2003-03-13 Ntt Docomo, Inc. Moving picture encoding/transmission system, moving picture encoding/transmission method, and encoding apparatus, decoding apparatus, encoding method, decoding method, and program usable for the same
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
KR20030073120A (ko) 2002-03-08 2003-09-19 주식회사 엘지이아이 임베디드 시스템에서 동영상 인트라 예측모드 구현방법
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
EP2860979A1 (en) 2002-05-28 2015-04-15 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
WO2003105070A1 (en) 2002-06-01 2003-12-18 Nokia Corporation Spatial prediction based intra coding
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
EP1604530A4 (en) 2003-03-03 2010-04-14 Agency Science Tech & Res FAST-DECISION ALGORITHM FOR INTRAPRADICTION FOR ADVANCED VIDEO CODING
CN100534192C (zh) 2003-10-28 2009-08-26 松下电器产业株式会社 帧内预测编码方法
EP1558039A1 (en) * 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
KR100627329B1 (ko) * 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
JP4501631B2 (ja) 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
TWI256258B (en) 2004-12-16 2006-06-01 Ind Tech Res Inst Method to speed up the mode decision of video coding
US20060153299A1 (en) 2005-01-07 2006-07-13 Kabushiki Kaisha Toshiba Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US7840078B2 (en) 2006-07-10 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for image processing control based on adjacent block characteristics
US8976870B1 (en) * 2006-08-30 2015-03-10 Geo Semiconductor Inc. Block and mode reordering to facilitate parallel intra prediction and motion vector prediction
FR2908007A1 (fr) 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
CN101222641B (zh) 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
FR2916931A1 (fr) 2007-05-29 2008-12-05 Thomson Licensing Sas Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede
JP4650461B2 (ja) 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
KR100924048B1 (ko) 2007-07-30 2009-10-27 한국과학기술원 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
US8467451B2 (en) 2007-11-07 2013-06-18 Industrial Technology Research Institute Methods for selecting a prediction mode
US8670488B2 (en) 2007-12-21 2014-03-11 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive intra mode selection
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
US8509302B2 (en) 2008-10-22 2013-08-13 Nippon Telegraph And Telephone Corporation Scalable video encoding method, scalable video encoding apparatus, scalable video encoding program, and computer readable recording medium storing the program
US9288494B2 (en) 2009-02-06 2016-03-15 Thomson Licensing Methods and apparatus for implicit and semi-implicit intra mode signaling for video encoders and decoders
CN101854540B (zh) 2009-04-01 2014-07-02 辉达公司 用于应用h.264视频编码标准的帧内预测方法及装置
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
KR101702553B1 (ko) 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US20110002386A1 (en) 2009-07-06 2011-01-06 Mediatek Singapore Pte. Ltd. Video encoder and method for performing intra-prediction and video data compression
KR101507344B1 (ko) 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
WO2011031332A1 (en) 2009-09-14 2011-03-17 Thomson Licensing Methods and apparatus for efficient video encoding and decoding of intra prediction mode
KR20110047310A (ko) 2009-10-30 2011-05-09 삼성전자주식회사 비디오 인코딩 장치 및 비디오 인코딩 방법
KR101545382B1 (ko) * 2010-01-08 2015-08-18 노키아 코포레이션 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9100649B2 (en) 2010-02-10 2015-08-04 Lg Electronics Inc. Method and apparatus for processing a video signal
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR101789634B1 (ko) 2010-04-09 2017-10-25 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
CN102893606B (zh) * 2010-05-14 2018-02-02 汤姆森特许公司 帧内编码将像素指定给各组的块的方法和装置
CN103004194B (zh) * 2010-05-19 2016-08-17 Sk电信有限公司 图像编码/解码设备和方法
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
CN101877792B (zh) 2010-06-17 2012-08-08 无锡中星微电子有限公司 帧内模式预测方法与装置、编码器
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
MX2013001661A (es) 2010-09-30 2013-03-21 Panasonic Corp Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen, programa, y circuito integrado.
CN103229507B (zh) 2010-11-25 2017-09-08 Lg电子株式会社 使用信号通知图像信息的方法和使用该方法来解码图像信息的方法
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
CN103392341A (zh) 2010-12-23 2013-11-13 三星电子株式会社 用于对图像预测单元的帧内预测模式进行编码的方法和装置,以及用于对图像预测单元的帧内预测模式进行解码的方法和装置
WO2012092763A1 (en) 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus of improved intra luma prediction mode coding
BR112013014371B8 (pt) * 2011-01-07 2022-05-24 Hfi Innovation Inc Método e aparelho de codificação aperfeiçoada de modo de predição intra crominância
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP2012147332A (ja) 2011-01-13 2012-08-02 Sony Corp 符号化装置および符号化方法、並びに復号装置および復号方法
CN102595121A (zh) 2011-01-15 2012-07-18 华为技术有限公司 帧内预测模式二进制化的方法、解码方法、装置和系统
CN102685474B (zh) 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
AU2011201336B2 (en) 2011-03-23 2013-09-05 Canon Kabushiki Kaisha Modulo embedding of video parameters
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US9872015B2 (en) 2011-04-21 2018-01-16 Hfi Innovation Inc. Method and apparatus for improved in-loop filtering
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
WO2012164902A1 (ja) 2011-05-30 2012-12-06 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
EP2727363B1 (en) * 2011-06-28 2020-11-18 HFI Innovation Inc. Method and apparatus of intra mode coding
JP2013058939A (ja) 2011-09-08 2013-03-28 Sharp Corp 画像復号装置、および画像符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2329615C2 (ru) * 2003-12-01 2008-07-20 Самсунг Электроникс Ко., Лтд. Способ масштабируемого кодирования и декодирования видеосигнала и устройство для его осуществления

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2767982C2 (ru) * 2017-08-03 2022-03-22 Шарп Кабусики Кайся Системы и способы для разделения видеоблоков при внешнем прогнозировании среза видеоданных
US11290716B2 (en) 2017-08-03 2022-03-29 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
US11936907B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11936908B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11936906B2 (en) 2018-06-25 2024-03-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
US11930210B2 (en) 2018-06-25 2024-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Intra-frame prediction method and device
WO2020055290A1 (en) * 2018-09-13 2020-03-19 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
US11503335B2 (en) 2018-09-13 2022-11-15 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction
RU2784004C2 (ru) * 2018-09-21 2022-11-23 Хуавей Текнолоджиз Ко., Лтд. Деривация режима внутреннего предсказания на основе соседних блоков
US11930185B2 (en) 2018-11-06 2024-03-12 Beijing Bytedance Network Technology Co., Ltd. Multi-parameters based intra prediction
US11902507B2 (en) 2018-12-01 2024-02-13 Beijing Bytedance Network Technology Co., Ltd Parameter derivation for intra prediction
RU2806083C2 (ru) * 2018-12-07 2023-10-25 Бейджин Байтдэнс Нетворк Текнолоджи Ко., Лтд. Контекстно-ориентированное внутреннее предсказание
RU2809684C2 (ru) * 2018-12-28 2023-12-14 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Способ и устройство кодирования/декодирования видео на основе интра-предсказания
US11729405B2 (en) 2019-02-24 2023-08-15 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction

Also Published As

Publication number Publication date
IL229415A (en) 2016-04-21
EP3282702C0 (en) 2024-03-06
HUE035456T2 (en) 2018-05-02
BR112013031197B1 (pt) 2022-05-17
KR20140022952A (ko) 2014-02-25
EP2719180B1 (en) 2017-11-08
JP6250583B2 (ja) 2017-12-20
WO2012170812A1 (en) 2012-12-13
US20170214940A1 (en) 2017-07-27
JP2014517630A (ja) 2014-07-17
EP2719180A1 (en) 2014-04-16
MX2013014484A (es) 2014-03-27
CA2837952A1 (en) 2012-12-13
JP5805861B2 (ja) 2015-11-10
CA2837952C (en) 2018-02-06
ZA201400151B (en) 2020-05-27
MX336905B (es) 2016-02-02
US9654785B2 (en) 2017-05-16
JP2015164328A (ja) 2015-09-10
CN103597832A (zh) 2014-02-19
RU2013158134A (ru) 2015-07-20
BR112013031197A2 (pt) 2017-01-31
KR20150091184A (ko) 2015-08-07
US10264280B2 (en) 2019-04-16
SI2719180T1 (en) 2018-02-28
UA110649C2 (ru) 2016-01-25
SG194971A1 (en) 2013-12-30
ES2657546T3 (es) 2018-03-05
ES2973247T3 (es) 2024-06-19
KR101600720B1 (ko) 2016-03-21
DK2719180T3 (en) 2018-02-05
PL2719180T3 (pl) 2018-04-30
EP3282702B1 (en) 2024-03-06
KR101825275B1 (ko) 2018-02-02
US20120314766A1 (en) 2012-12-13
EP3282702A1 (en) 2018-02-14
IL229415A0 (en) 2014-01-30
AU2012267737B2 (en) 2015-12-03
CN103597832B (zh) 2017-05-24
PT2719180T (pt) 2018-02-07

Similar Documents

Publication Publication Date Title
RU2601843C2 (ru) Расширенная сигнализация режима внутреннего предсказания для кодирования видео, использующего режим соседства
KR102495160B1 (ko) 디커플링된 트리 구조를 이용한 인트라 비디오 코딩
RU2623884C2 (ru) Группирование элементов синтаксиса с кодированием в режиме обхода в кодировании видео
KR101671080B1 (ko) 비디오 코딩에서 비정방형 변환 유닛들 및 예측 유닛들
DK2904790T3 (en) CODED BLOCK FLAG (CBF) CODING 4: 2: 2 VIDEO CODING SIZE SIZE
KR101523154B1 (ko) 비디오 코딩에서 일반화된 p/b 프레임들을 위한 참조 화상 리스트 구성
KR101772350B1 (ko) 비디오 코딩을 위한 고 정확도 명시적 가중 예측
AU2012267737A1 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode
KR102031468B1 (ko) 팔레트 모드 코딩을 위한 이스케이프 픽셀들 코딩
US20120307894A1 (en) Intra prediction mode coding with directional partitions
KR20160078493A (ko) 비디오 코딩을 위한 칼라 레지듀얼 예측
KR20140130466A (ko) B 슬라이스에서의 예측 유닛의 단방향성 인터 예측으로의 제한
KR20140085542A (ko) 비디오 코딩을 위한 단편화된 파라미터 세트