Сигнализация изменений параметра квантования для кодируемых единиц при высокоэффективном видеокодировании(hevc)

Иллюстрации

Показать все

Изобретение относится к средствам кодирования и декодирования видеоданных. Техническим результатом является повышение качества сжатия данных. В способе принимают наибольшую единицу кодирования (LCU) видеоданных, разделенную на набор кодируемых единиц (CU) с меньшим размером блока в соответствии со схемой разделения дерева квадрантов; определяют, включает ли в себя CU ненулевые коэффициенты преобразования посредством декодирования кодируемых данных для воспроизведения указания того, включает ли в себя CU ненулевые коэффициенты преобразования; декодируют элементы синтаксиса для CU, для указания изменения в параметре квантования для CU относительно предсказанного параметра квантования, если CU включает ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных. 8 н. и 22 з.п. ф-лы, 8 ил.

Реферат

Эта заявка испрашивает приоритет предварительной заявки на патент США № 61/435,750, поданной 24 января 2011 года, полное содержание которой включено в настоящий документ посредством ссылки.

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

Это раскрытие имеет отношение к методикам видеокодирования, используемым для сжатия видеоданных и, в частности к методикам видеокодирования, совместимым с развивающимся стандартом высокоэффективного видеокодирования (HEVC).

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

Возможности цифрового видео могут быть включены в широкий диапазон видеоустройств, в том числе цифровых телевизоров, систем цифрового прямого вещания, устройств беспроводной связи, таких как беспроводные телефоны, беспроводные системы вещания, персональные цифровые помощники (PDA), ноутбуки или настольные компьютеры, планшетные компьютеры, цифровые фотоаппараты, устройства цифровой записи, устройства для видеоигр, игровые приставки, персональные мультимедийные проигрыватели и т.п. Разрабатываются новые стандарты видеокодирования, такие как стандарт высокоэффективного видеокодирования (HEVC), разрабатываемый "Объединенной совместной командой по видеокодированию" (JCTVC), который представляет собой сотрудничество между MPEG и ITU-T. Развивающийся стандарт HEVC иногда упоминается как H.265.

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

Это раскрытие описывает методики для кодирования элементов синтаксиса, которые определяют параметр квантования (QP), связанный с видеоблоком, как определено в развивающемся стандарте HEVC. В частности, в соответствии с развивающимся стандартом HEVC видеоблок может содержать наибольшую единицу кодирования (LCU), которая сама может быть подразделена на меньшие единицы кодирования (CU) в соответствии со схемой разделения дерева квадрантов и, возможно, дополнительно разделена на единицы предсказания (PU) в целях оценки движения и компенсации движения. Более конкретно, это раскрытие описывает методики для кодирования изменений (то есть, дельт) в параметре квантования (то есть, дельта QP) для LCU. В этом случае дельта QP может определять изменение в QP для LCU относительно предсказанного значения QP для LCU (например, где предсказанное значение может содержать QP предыдущей LCU кодируемого битового потока видеоданных). Дельта QP может быть определена, кодирована и отправлена для каждой LCU (то есть, один раз для каждой LCU) или, возможно, только для некоторых конкретных типов LCU. Тем не менее, хотя это раскрытие описано прежде всего относительно сигнализации дельта QP на уровне LCU, методики также могут быть применимы к случаям, в которых дельта QP определяется, кодируется и отправляется для меньших CU, например, для CU с размерами, достаточно большими, чтобы изменения квантования были разрешены и/или поддержаны.

Еще более конкретно, это раскрытие описывает примеры синхронизации и размещения, связанные с сигнализацией дельта QP в пределах кодируемого битового потока, а также синхронизации, связанной с декодированием дельта QP из битового потока. Например, дельта QP могут быть кодированы и сигнализированы в битовом потоке:

1) после того как может быть определено, что данная LCU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, и

2) перед сигнализацией ненулевых коэффициентов преобразования.

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

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

В другом примере это раскрытие описывает способ кодирования видеоданных. Способ содержит определение изменения в параметре квантования для CU кодируемых видеоданных относительно предсказанного параметра квантования для CU, причем CU разделена на набор CU с размером блока в соответствии со схемой разделения дерева квадрантов, и кодирование одного или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования. Один или более элементов синтаксиса кодируются в битовом потоке после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, и перед коэффициентами преобразования для CU. Кодирование одного или более элементов синтаксиса избегается, если CU не включает в себя коэффициенты преобразования.

В другом примере это раскрытие описывает устройство видеодекодирования, которое декодирует видеоданные. Устройство видеодекодирования содержит видеодекодер, который принимает CU кодированных видеоданных, причем CU разделена на набор CU с размером блока в соответствии со схемой разделения дерева квадрантов, и декодирует один или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования для CU относительно предсказанного параметра квантования для CU, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования. Один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, и перед коэффициентами преобразования для CU. Один или больше элементов синтаксиса не включаются в CU, если CU не включает в себя какие-либо ненулевые коэффициенты преобразования.

В другом примере это раскрытие описывает устройство видеокодирования, которое кодирует видеоданные. Устройство видеокодирования содержит видеокодер, который определяет изменение в параметре квантования для CU кодируемых видеоданных относительно предсказанного параметра квантования для CU, причем CU разделена на набор CU с размером блока в соответствии со схемой разделения дерева квадрантов, и кодирует один или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования. Один или более элементов синтаксиса кодируются в битовом потоке после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, и перед коэффициентами преобразования для CU. Кодирование одного или более элементов синтаксиса избегается, если CU не включает в себя коэффициенты преобразования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это раскрытие описывает методики для кодирования элементов синтаксиса, которые определяют параметр квантования (QP), связанный с видеоблоком, как определено в разрабатываемом в настоящее время развивающемся стандарте HEVC или в подобных стандартах. В частности, в соответствии с развивающимся стандартом HEVC видеоблок может содержать наибольшую единицу кодирования (LCU), которая сама может быть подразделена на меньшие единицы кодирования (CU) в соответствии со схемой разделения дерева квадрантов и, возможно, дополнительно разделена на единицы предсказания (PU) в целях оценки движения и компенсации движения. Более конкретно это раскрытие описывает методики для кодирования изменений (то есть, дельт) в параметре квантования (то есть, дельта QP) для LCU (или некоторой другой CU с достаточно большими размерами, чтобы поддерживались изменения квантования). В этом случае дельта QP может определять изменение в QP для LCU относительно предсказанного значения QP для LCU. Например, предсказанное значение QP для LCU может просто являться QP предыдущего LCU (то есть, ранее кодированным в битовом потоке). В качестве альтернативы, предсказанное значение QP может быть определено на основе правил. Например, правила могут идентифицировать одно или более других значений QP других LCU или CU или среднее значение QP, которое должно быть использовано.

Дельта QP может быть определена, кодирована и отправлена для каждой LCU (то есть, один раз для каждой LCU) или, возможно, только некоторым конкретным типам LCU. В качестве альтернативы, дельта QP может быть определена, кодирована и отправлена для одной или более меньших CU из LCU, например, CU, удовлетворяющим некоторому минимальному пороговому размеру, такой как CU с размером 8x8 или с другим предопределенным минимальным размером. Таким образом, хотя методики описаны прежде всего как имеющие отношение к сигнализации дельта QP на уровне LCU, аналогичные методики также могут быть применены к сигнализации дельта QP на уровне некоторого CU, например, CU с достаточно большими размерами, чтобы изменения квантования были разрешены и/или поддерживались. Кроме того, хотя методики описаны прежде всего как имеющие отношение к (стандарту) HEVC, методики также могут быть применены к другим стандартам, которые используют схему разделения видеоблока, аналогичную схеме из HEVC.

Еще более конкретно это раскрытие имеет отношение к синхронизации, связанной с кодированием и сигнализацией дельта QP в пределах битового потока, а также к синхронизации, связанной с декодированием дельта QP. В частности, дельта QP могут быть сигнализированы в битовом потоке:

1) после элементов синтаксиса, которые делают возможными определения того, будет ли данная LCU включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования для остаточных данных, и

2) перед коэффициентами преобразования.

Многие аспекты раскрытия написаны в предположении, что дельта QP может быть изменена только на уровне LCU. Однако те же самые методики могут быть расширены на случаи, в которых дельта QP может быть сигнализирована на уровне CU. В этом случае могут иметься такие ограничения размера, что только для CU, которые удовлетворяют конкретному размеру или превышают его (например, 8x8 или больше), может быть разрешено изменять QP.

Декодер может декодировать дельта QP аналогичным образом, то есть, от позиции в кодируемых видеоданных после указаний, что данная LCU будет включать в себя по меньшей мере некоторые ненулевые коэффициенты преобразования и перед коэффициентами преобразования. Режим предсказания, используемый для кодирования CU, может указывать, может ли кодируемая единица включать в себя коэффициенты преобразования. Например, некоторые режимы кодирования (такие как режим SKIP «ПРОПУСК») кодируют видеоблоки без включения какой-либо остаточной информации, что означает, что такие видеоблоки не могут иметь каких-либо ненулевых коэффициентов преобразования. Кроме того, для некоторых режимов кодирования флаги кодированных блоков (CBF) могут содержать битовые флаги, которые указывают, содержат ли единицы преобразования (TU) в пределах LCU какие-либо остаточные данные в форме ненулевых коэффициентов преобразования. Если ненулевые коэффициенты преобразования присутствуют (как обозначено посредством CBF), то для связанной LCU может быть определена дельта QP. С другой стороны, если ненулевые коэффициенты преобразования не присутствуют для LCU (как обозначено одним или более CBF), тогда для этой LCU какое-либо кодирование дельта QP можно избежать.

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

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

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

Видеокодер 22 устройства 12 источника может кодировать видеоданные, принимаемые от видеоисточника 20, с использованием методик этого раскрытия. Видеоисточник 20 может содержать устройство видеозахвата, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, внешний видеосигнал от поставщика видеоконтента или другой источник видео. В качестве дополнительной альтернативы, видеоисточник 20 может генерировать компьютерные графические данные в качестве видеоисточника или комбинацию видео в реальном времени, архивированного видео и сгенерированного компьютером видео. В некоторых случаях, если видеоисточник 20 является видеокамерой, устройство 12 источник и устройство 16 адресат могут образовать так называемые телефоны с камерой или видеотелефоны. В каждом случае захваченное, предварительно захваченное или сгенерированное компьютером видео может быть кодировано видеокодером 22. Методики этого раскрытия одинаково применимы к любому устройству кодирования или декодирования, такому как серверные компьютеры, системы цифрового прямого вещания, беспроводные системы вещания, медиапроигрыватели, цифровые телевизоры, настольные компьютеры или ноутбуки, планшетные компьютеры, карманные компьютеры, игровые консоли, цифровые приемники, устройства беспроводной связи, такие как беспроводные телефоны, персональные цифровые помощники (PDA), цифровые фотоаппараты, устройства цифровой записи, устройства для видеоигр, персональные мультимедийные проигрыватели или другие устройства, которые поддерживают видеокодирование, видеодекодирование или и то, и другое. Методики могут использоваться в приложениях потоковой передачи видео для кодирования видео в источнике потоковой передачи видео, декодирования видео в адресате потоковой передачи видео, или для того и другого.

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

Процесс видеодекодирования, выполняемый видеодекодером 28, может включать в себя методики, обратные по отношению к методикам кодирования, выполняемым видеокодером 22. В частности, видеодекодер 28 может декодировать один или более элементов синтаксиса для LCU для указания изменения (дельты) в QP для LCU относительно предсказанного значения для QP для LCU, только если LCU включает в себя по меньшей мере некоторые ненулевые коэффициенты преобразования. В этом случае декодирование одного или более элементов синтаксиса происходит от позиции с кодируемыми видеоданными, которая имеет место после указания того, что LCU будет включать в себя по меньшей мере некоторые ненулевые коэффициенты преобразования, и перед коэффициентами преобразования для LCU. Один или более элементов синтаксиса, которые указывают дельта QP, не включаются в LCU, если LCU не включает в себя каких-либо ненулевых коэффициентов преобразования.

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

Видеокодер 22 и видеодекодер 28 могут работать, по существу, в соответствии со стандартом сжатия видео, таким как разрабатываемый в настоящее время развивающийся стандарт HEVC. Однако методики этого раскрытия также могут быть применены в контексте множества других стандартов видеокодирования, в том числе некоторых старых стандартов или новых или развивающихся стандартов.

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

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

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

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

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

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

После генерирования блока предсказания различия между текущим кодированным видеоблоком и блоком предсказания кодируются как остаточный блок, и синтаксис предсказания (такой как вектор движения в случае inter-кодирования или режим предсказания в случае intra-кодирования) используется для идентификации блока предсказания. Остаточные выборки, соответствующие CU, могут быть подразделены на меньшие единицы с использованием структуры дерева квадрантов, известной как "остаточное дерево квадрантов" (RQT). Краевые узлы RQT могут называться единицами преобразования (TU). TU могут быть преобразованы и квантованы. Методики преобразования могут содержать процесс DCT или концептуально аналогичный процесс, целочисленные преобразования, вейвлетные преобразования или другие типы преобразований. В процессе DCT, в качестве примера, процесс преобразования конвертирует набор пиксельных значений (например, остаточные значения) в коэффициенты преобразования, которые могут представлять энергию пиксельных значений в частотной области.

Квантование может быть применено к коэффициентам преобразования и обычно включает в себя процесс, который ограничивает количество битов, связанных с любым заданным коэффициентом преобразования. Более конкретно, квантование может быть применено в соответствии с параметром квантования (QP), определенном на уровне LCU. В соответствии с этим тот же самый уровень квантования может быть применен ко всем коэффициентам преобразования в TU из CU в пределах LCU. Однако вместо того, чтобы сигнализировать сам QP, изменение (то есть, дельта) в QP может быть сигнализировано с LCU. Дельта QP определяет изменение в параметре квантования для LCU относительно предсказанного значения для QP для LCU, такого как QP ранее переданного LCU или QP, определенного предыдущими QP и/или одним или более правилами. Это раскрытие имеет отношение к синхронизации сигнализации дельта QP в пределах кодируемого битового потока (например, после указаний, что остаточные данные будут присутствовать), и методики могут устранить сигнализацию дельта QP в случаях, когда ненулевые коэффициенты преобразования не включены в состав для данной LCU, что может улучшить сжатие в стандарте HEVC.

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

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

Имеется по меньшей мере два сценария, в которых отсутствие каких-либо ненулевых коэффициентов преобразования может быть определено для CU до стадии, на которой произойдет кодирование коэффициентов преобразования. В качестве одного примера присутствие остаточных данных (например, присутствие ненулевых коэффициентов преобразования в TU) в CU в пределах LCU может быть идентифицировано посредством флагов кодированных блоков (CBF). CBF по существу являются индикаторами (такими как однобитовые флаги), которые идентифицируют, существуют ли какие-либо остаточные данные (например, ненулевые коэффициенты преобразования в TU) для CU. В этом случае, если CBF для LCU указывают, что ни у одного из CU нет остаточных данных, тогда квантование не применяется. В соответствии с этим в этом случае кодирования и сигнализации какой-либо дельта QP для этого LCU можно избежать в целом. Декодер может быть запрограммирован таким образом, чтобы знать, что если CBF для LCU указывают, что ни у одного из CU нет каких-либо ненулевых коэффициентов преобразования, тогда битовый поток не будет включать в себя какой-либо дельта QP для этой LCU. Таким образом, один или более элементов синтаксиса, которые определяют дельта QP, могут быть расположены в кодируемых видеоданных (то есть, в кодируемом битовом потоке) после одного или более CBF.

Другой сценарий, в котором отсутствие каких-либо ненулевых коэффициентов преобразования может быть определено для CU до стадии, на которой произойдет кодирование коэффициентов преобразования, является случаем, когда режим кодирования CU определяет CU как не имеющий каких-либо остаточных данных. Один пример этого сценария представляет собой так называемый режим SKIP. Например, режимы кодирования (такие как SKIP, MERGE (СЛИЯНИЕ) SKIP или другие подобные режимы) могут совсем не включать в себя как