Сигнализация изменений параметра квантования для кодируемых единиц при высокоэффективном видеокодировании(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 или другие подобные режимы) могут совсем не включать в себя каких-либо остаточных данные. В таком случае нет никакой потребности включать информацию дельта QP для этой CU, поскольку CU не будет иметь каких-либо ненулевых коэффициентов преобразования, на которые будет влиять квантование. Таким образом, один или более элементов синтаксиса, которые определяют дельта QP, если присутствуют, могут быть расположены в кодируемых видеоданных (то есть, в кодируемом битовом потоке) после одного или более элементов синтаксиса, которые определяют режимы кодирования, используемые для данной CU.

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

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

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

Фиг. 3 является блок-схемой, иллюстрирующей видеокодер 50, совместимый с этим раскрытием. Видеокодер 50 может соответствовать видеокодеру 22 устройства 20 или видеокодеру другого устройства. Как показано на фиг. 3, видеокодер 50 включает в себя модуль 32 предсказания, блок 31 разделения дерева квадрантов, суммирующие устройства 48 и 51 и память 34. Видеокодер 50 также включает в себя блок 38 преобразования и блок 40 квантования, а также блок 42 обратного квантования и блок 44 обратного преобразования. Видеокодер 50 также включает в себя блок 46 энтропийного кодирования и блок 47 фильтра, который может включать в себя фильтры удаления блочности и фильтры после цикла и/или в цикле. Кодируемые видеоданные и информация синтаксиса, которая определяет способ кодирования, могут быть переданы блоку 46 энтропийного кодирования, который выполняет энтропийное кодирование над битовым потоком.

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

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

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

Обычно во время процесса кодирования видеокодер 50 принимает входные видеоданные. Модуль 32 предсказания выполняет методики кодирования с предсказанием над видеоблоками (например, CU и PU). Блок 31 разделения дерева квадрантов может разбить LCU на меньшие CU и PU в соответствии с разделением HEVC, разъясненным выше по тексту со ссылкой на фиг. 2. Для inter-кодирования модуль 32 предсказания сравнивает CU или PU с различными кандидатами предсказания в одном или более опорных кадрах или срезах (например, один или более "списков" опорных данных), чтобы определить блок предсказания. Для intra-кодирования модуль 32 предсказания генерирует блок предсказания на основе соседствующих данных в пределах того же самого видеокадра или среза. Модуль 32 предсказания выдает блок предсказания, и суммирующее устройство 48 вычитает блок предсказания из кодируемой CU или PU, чтобы сгенерировать остаточный блок. Остаточный блок, соответствующий CU, может быть дополнительно подразделен на TU с использованием остаточной структуры дерева квадрантов (RQT).

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

После того как модуль 32 предсказания выдает блок предсказания, и после того, как суммирующее устройство 48 вычитает блок предсказания из кодируемого видеоблока, чтобы сгенерировать остаточный блок, блок 38 преобразования применяет преобразование к остаточному блоку. Остаточные выборки, соответствующие CU, разделяются дополнительно на TU различных размеров с использованием структуры RQT. Преобразование может содержать дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование, например, определенное стандартом ITU H.264 или стандартом HEVC. Так называемые структуры "бабочки" могут быть определены для выполнения преобразования, или также может быть использовано матричное умножение. Также могут использоваться вейвлетные преобразования, целочисленные преобразования, преобразования поддиапазонов или другие типы преобразований. В любом случае блок преобразования применяет преобразование к остаточному блоку, производя блок остаточных коэффициентов преобразования. Преобразование, в общем, может конвертировать остаточную информацию из области пикселей в частотную область.

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

CAVLC является одним типом методики энтропийного кодирования, поддерживаемым стандартом ITU H.264 и развивающимся стандартом HEVC, которое может быть применено на векторной основе блоком 46 энтропийного кодирования. CAVLC использует таблицы кодирования с переменной длиной кода (VLC) таким образом, что эффективно сжимает упорядоченные "серии" коэффициентов и/или элементов синтаксиса. CABAC является другим типом методики энтропийного кодирования, поддерживаемым стандартом ITU H.264 или стандартом HEVC, которое может быть применено на векторной основе блоком 46 энтропийного кодирования. CABAC может включать в себя несколько стадий, в том числе бинаризацию, выбор контекстной модели и двоичное арифметическое кодирование. В этом случае блок 46 энтропийного кодирования кодирует коэффициенты и элементы синтаксиса согласно CABAC. Также существует много других типов методик энтропийного кодирования, и развивающиеся методики энтропийного кодирования, вероятно, появятся в будущем. Это раскрытие не ограничено какой-либо конкретной методикой энтропийного кодирования.

Следом за энтропийным кодированием блоком 46 энтропийного кодирования кодированное видео может быть передано другому устройству или архивировано для передачи или извлечения в будущем. Вновь отметим, что кодированное видео может содержать энтропийно кодированные векторы и различную информацию синтаксиса (в том числе, информацию синтаксиса, которая определяет дельта QP для LCU). Такая информация может использоваться декодером, чтобы должным образом сконфигурировать процесс декодирования. Блок 42 обратного квантования и блок 44 обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, для восстановления остаточного блока в области пикселей. Блок 51 суммирования добавляет восстановленный остаточный блок к блоку предсказания, произведенному модулем 32 предсказания, для получения восстановленного видеоблока для сохранения в памяти 34. Однако до такого сохранения блок 47 фильтра может применить фильтрацию к видеоблоку для улучшения качества видео. Фильтрация, примененная блоком 47 фильтра, может уменьшить артефакты и сгладить границы пикселей. Кроме того, фильтрация может улучшить сжатие посредством генерирования видеоблоков предсказания, которые содержат близкие соответствия кодируемым видеоблокам.

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

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

Другой сценарий, когда отсутствие каких-либо ненулевых коэффициентов преобразования может быть определено для LCU до стадии, на которой происходит кодирование коэффициентов преобразования, представляет собой случай, в котором режим кодирования LCU определяет LCU как не имеющую каких-либо остаточных данных. Один пример этого сценария представляет собой так называемый режим SKIP. Например, режимы кодирования (такие как режим SKIP) могут совсем не включать в себя каких-либо остаточных данных, и поэтому не имеют ненулевых коэффициентов преобразования. Таким образом, если блок 31 разделения дерева квадрантов разделил всю LCU на один блок, и модуль 32 предсказания реализует режим SKIP для всей этой LCU, какой-либо дельта QP может быть устранен из битового потока для этой LCU. В этом случае данные для данной LCU могут быть наследованы или приняты из данных от другой LCU (такой как совместно расположенная LCU предыдущего видеокадра). Так как остаточные данные не включены для этой LCU, видеокодер (например, блок 31 разделения дерева квадрантов и/или модуль 32 предсказания) может избежать кодирования и сигнализации какого-либо дельта QP для этой LCU.

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

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

Видеодекодер 60 включает в себя блок 52 энтропийного декодирования, который выполняет функцию декодирования, обратную кодированию, выполняемому блоком 46 энтропийного кодирования на фиг. 2. В частности, блок 52 энтропийного декодирования может выполнять декодирование CAVLC или CABAC или любой другой тип энтропийного декодирования, используемого видеокодером 50. Видеодекодер 60 также включает в себя модуль 54 предсказания, блок 56 обратного квантования, блок 58 обратного преобразования, память 62 и блок 64 суммирования. В частности, подобно видеокодеру 50, видеодекодер 60 включает в себя модуль 54 предсказания и блок 57 фильтрации. Модуль 54 предсказания видеодекодера 60 может включать в себя элементы компенсации движения и, возможно, один или более фильтров интерполяции для субпиксельной интерполяции в процессе компенсации движения. Блок 57 фильтрации может фильтровать вывод блока 64 суммирования и может принимать энтропийно декодированную информацию фильтра, чтобы определить коэффициенты фильтра, применяемые при циклической фильтрации.

После приема кодированных видеоданных блок 52 энтропийного декодирования выполняет декодирование, обратное по отношению к кодированию, выполняемому блоком 46 энтропийного кодирования (кодера 50 на фиг. 3). В декодере блок 52 энтропийного декодирования синтаксический анализирует битовый поток, чтобы определить LCU и соответствующее разделение, связанное с LCU. В некоторых примерах любой LCU может включать в себя дельта QP, но только если эта LCU включает в себя ненулевые коэффициенты преобразования. В соответствии с этим блок 52 энтропийного декодирования может направить дельта QP блоку 56 обратного квантования, когда дельта QP существует. Такое декодирование дельта QP (например, блоком 53 разделения дерева квадрантов) происходит от позиции в кодированных видеоданных, которая имеет место после указания того, что LCU будет включать в себя по меньшей мере некоторые ненулевые коэффициенты преобразования, и перед коэффициентами преобразования для LCU. Таким образом, если LCU не включает в себя какие-либо ненулевые коэффициенты преобразования (например, поскольку LCU кодирован в режиме SKIP, или поскольку CBF этой LCU указывают, что остаточные данные не существуют), тогда декодирование дельта QP не требуется и не выполняется, поскольку дельта QP не включен для этой LCU.

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

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

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

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

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

Кодирование и сигнализация дельта QP после заключительного блока остаточных коэффициентов LCU также могут создать проблемы для параллельного декодирования разных CU из LCU. Это происходит потому, что параметр квантования мог измениться для LCU, но декодер не знает, был ли параметр квантования изменен, до тех пор пока все коэффициенты преобразования LCU не приняты в декодере. По этим и другим причинам это раскрытие предлагает, чтобы дельта QP были кодированы и сигнализированы в битовом потоке для LCU:

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

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

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

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

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

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

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

Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей методику декодирования, совместимую с этим раскрытием. Фиг. 5 будет описана с точки зрения видеодекодера 60 на фиг. 4, хотя другие устройства могут выполнять аналогичные методики. Как показано на фиг. 5, блок 52 энтропийного декодирования принимает LCU (501) и декодирует одно или более указаний относительно того, включает ли в себя LCU ненулевые коэффициенты преобразования (502). Вновь отметим, что два примера этих указаний представляют собой CBF и режим кодирования. Если CBF указывают, что ненулевые коэффициенты преобразования не существуют, или если режим кодирования представляет собой режим, который не имеет коэффициентов преобразования, то блок 52 энтропийного декодирования может быть выполненным с возможностью знать, что дельта QP не включен для такой LCU. Таким образом, если LCU не имеет ненулевых коэффициентов преобразования ("нет" 503), то блок 52 энтропийного декодирования 52 избегает декодирование каких-либо элементов синтаксиса для дельта QP (506). Однако если LCU включает в себя ненулевые коэффициенты преобразования ("да" 503), то блок 52 энтропийного декодирования декодирует элементы синтаксиса для дельта QP (504) и направляет дельта QP блоку 56 обратного квантования. В последнем случае видеодекодер 60 декодирует коэффициенты преобразования (505), что может включать в себя применение блоком 56 обратного квантования дельта QP, который был включен в битовый поток, с тем чтобы выполнить обратное квантование коэффициентов преобразования.

Фиг. 6 является другой блок-схемой последовательности операций, иллюстрирующей методику декодирования, совместимую с этим раскрытием. Фиг. 6 будет описана с точки зрения видеодекодера 60 на фиг. 4, хотя другие устройства могут выполнять аналогичную методику. Как показано на фиг. 6, блок 52 энтропийного декодирования принимает LCU (601). Блок 52 энтропийного декодирования декодирует режимы CU в пределах LCU (602) и декодирует флаги кодированных блоков (CBF), чтобы определить, включает ли в себя CU остаточные данные (603). Этапы 602 и 603 также можно поменять местами. Кроме того, этап 603 может быть пропущен в случае, когда режим кодирования, определенный на этапе 602, указывает, что ненулевые коэффициенты преобразования не существуют, что может иметь место для режима SKIP. По существу этапы 602 и 603 могут содержать синтаксический анализ информации синтаксиса LCU для определения режима и CBF. В этот момент блок 52 энтропийного декодирования декодирует дельта QP для LCU, только если либо режимы кодирования CU (или весь LCU), либо CBF указывают на присутствие ненулевых коэффициентов преобразования (604). Вновь отметим, что отсутствие каких-либо ненулевых коэффициентов преобразования может быть идентифицировано, когда все флаги CBF установлены как указывающие, что остаточные данные не существуют, или если все режимы кодирования, используемые для LCU, являются режимами, которые не имеют ненулевых коэффициентов преобразования (например, режим SKIP). Затем декодер 60 декодирует LCU (605), что может включать в себя применение блоком 56 обратного квантования дельта QP, чтобы определить QP для обратного квантования, но только в случае, когда дельта QP присутствует для LCU.

Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей методику кодирования, совместимую с этим раскрытием. Фиг. 7 будет описана с точки зрения видеокодера 50 на фиг. 3, хотя другие устройства могут выполнять аналогичную методику. Как показано на фиг. 7, блок 31 раздела дерева квадрантов разделяет LCU (701). В частности, блок 31 раздела дерева квадрантов может разбить LCU на меньшие CU и PU в соответствии с разделением HEVC, разъясненным выше со ссылкой на фиг. 2. Кодер 50 кодирует одно или более указаний относительно того, включает ли в себя LCU ненулевые коэффициенты преобразования (702). В частности, модуль 32 предсказания и/или блок 31 раздела дерева квадрантов может выбрать и кодировать режимы кодирования для CU из LCU, который может указывать, могут ли остаточные данные присутствовать для этого режима кодирования. Кроме того, модуль 32 предсказания и/или блок 31 раздела дерева квадрантов могут взаимодействовать с блоком 38 преобразования для генерирования CBF для LCU, что для некоторых режимов кодирования указывает, включают ли в себя какие-либо CU из LCU ненулевые коэффициенты преобразования. Вся эта информация может быть энтропийно кодирована блоком 46 энтропийного кодирования.

Если ненулевые коэффициенты преобразования существуют для LCU ("да" 703), то кодер 50 кодирует синтаксис, который определяет дельта QP (704), который может использоваться блоком 40 квантования и блоком 42 обратного квантования для определения QP для LCU относительно предсказанного QP для этой LCU. Как и другая информация синтаксиса, этот синтаксис, который определяет дельта QP, может быть энтропийно кодирован блоком 46 энтропийного кодирования. Сами коэффициенты преобразования кодируются (705) после этого определения, существуют ли ненулевые коэффициенты преобразования для LCU (703). Таким образом, если ненулевые коэффициенты преобразования не существуют для LCU ("нет" 703), то кодер 50 избегает кодирования синтаксиса, который определяет дельта QP (706). В этом случае соответствующий видеодекодер (например, декодер 60 на фиг. 4) может быть выполнен с возможностью знать, что любая LCU, которая не имеет ненулевых коэффициентах преобразования, также не имеет какого-либо дельта QP, и поэтому декодер может синтаксически анализировать битовый поток соответствующим образом.

Фиг. 8 является другой блок-схемой последовательности операций, иллюстрирующей методику кодирования, совместимую с этим раскрытием. Фиг. 8 будет описана с точки зрения видеокодера 50 на фиг. 3, хотя другие устройства могут выполнять аналогичную методику. Как показано на фиг. 8, блок 31 раздела дерева квадрантов разделяет LCU (801). В частности, блок 31 раздела дерева квадрантов может разбить LCU на меньшие CU и PU в соответствии с разделением HEVC, разъясненным выше по тексту со ссылкой на фиг. 2. Модуль 32 предсказания выбирает и кодирует режимы для CU из LCU (802). Как часть процесса кодирования, модуль 32 предсказания также может определить, существуют ли ненулевые коэффициенты преобразования для каких-либо CU, кодированных в режимах, которые могут поддерживать остаточные данные (803). Затем модуль 32 предсказания и/или блок 31 раздела дерева квадрантов могут взаимодействовать с блоком 38 преобразования для генерирования CBF для LCU (804), которые для некоторых режимов кодирования указывают, включают ли в себя какие-либо CU из LCU ненулевые коэффициенты преобразования. Вся эта информация может быть энтропийно кодирована блоком 46 энтропийного кодирования. Дельта QP определяется (и кодируется блоком 46 энтропийного кодирования), только если режимы CU из LCU и/или CBF для LCU указывают на присутствие остаточных данных (805).

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

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

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

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

Описанные выше по тексту считываемые компьютером носители могут содержать материальный считываемый компьютером носитель, такой как оперативное запоминающее устройство (RAM), такое как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, магнитные или оптические носители данных и т.п. Дополнительно или в качестве альтернативы методики могут быть реализованы по меньшей мере частично посредством считываемого компьютером носителя связи, который переносит или передает код в виде инструкций или структур данных, и к которому можно получить доступ, прочитать и/или исполнить посредством компьютера.

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

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

1. Способ декодирования видеоданных, способ состоит в том, что:
принимают наибольшую единицу кодирования (LCU) кодируемых видеоданных, причем LCU разделена на набор кодируемых единиц (CU) с меньшим размером блока в соответствии со схемой разделения дерева квадрантов; и
определяют, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования, по меньшей мере частично посредством декодирования кодируемых данных для воспроизведения по меньшей мере одного указания того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
декодируют один или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования для CU относительно предсказанного параметра квантования для CU, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем один или более элементов синтаксиса не включаются в CU, если CU не включает в себя какие-либо ненулевые коэффициенты преобразования.

2. Способ по п. 1, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

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

4. Способ по п. 1, в котором один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных, которая имеет место после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

5. Способ кодирования видеоданных, способ состоит в том, что:
определяют изменение в параметре квантования для единицы кодирования (CU) кодируемых видеоданных относительно предсказанного параметра квантования для CU, причем CU отделена от наибольшей единицы кодирования (LCU) в соответствии со схемой разделения дерева квадрантов;
определяют, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования;
кодируют по меньшей мере, одно указание того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
кодируют один или более элементов синтаксиса для CU для указания изменения в параметре квантования, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса кодируются в битовом потоке:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем кодирование одного или более элементов синтаксиса избегается, если CU не включает в себя какие-либо коэффициенты преобразования.

6. Способ по п. 5, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

7. Способ по п. 5, в котором один или более элементов синтаксиса содержит дельта-параметр квантования, указывающий изменение в параметре квантования относительно предсказанного параметра квантования.

8. Способ по п. 5, в котором один или более элементов синтаксиса кодируются в битовом потоке после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

9. Устройство видеодекодирования, которое декодирует видеоданные, устройство видеодекодирования содержит:
видеодекодер, который:
принимает наибольшую единицу кодирования (LCU) кодируемых видеоданных, причем LCU разделена на набор кодируемых единиц (CU) с меньших размером блока в соответствии со схемой разделения дерева квадрантов;
определяет, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования, по меньшей мере частично посредством декодирования кодируемых данных для воспроизведения по меньшей мере одного указания того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
декодирует один или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования для CU относительно предсказанного параметра квантования для CU, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем один или более элементов синтаксиса не включаются в CU, если CU не включает в себя каких-либо ненулевых коэффициентов преобразования.

10. Устройство видеодекодирования по п. 9, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

11. Устройство видеодекодирования по п. 9, в котором один или более элементов синтаксиса содержит дельта-параметр квантования, указывающий изменение в параметре квантования относительно предсказанного параметра квантования для CU.

12. Устройство видеодекодирования по п. 9, в котором один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных, которая имеет место после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

13. Устройство видеодекодирования по п. 9, причем устройство видеодекодирования содержит одно или более из:
интегральной схемы;
микропроцессора; и
устройства беспроводной связи, которое включает в себя видеодекодер.

14. Устройство видеокодирования, которое кодирует видеоданные, устройство видеокодирования содержит:
видеокодер, который:
определяет изменение в параметре квантования для единицы кодирования (CU) кодируемых видеоданных относительно предсказанного параметра квантования для CU, причем CU отделена от наибольшей единицы кодирования (LCU) в соответствии со схемой разделения дерева квадрантов;
определяет, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования;
кодирует по меньшей мере одно указание того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
кодирует один или более элементов синтаксиса для CU для указания изменения в параметре квантования, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса кодируются в битовом потоке:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем кодирование одного или более элементов синтаксиса избегается, если CU не включает в себя какие-либо коэффициенты преобразования.

15. Устройство видеокодирования по п. 14, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

16. Устройство видеокодирования по п. 14, в котором один или более элементов синтаксиса содержат дельта-параметр квантования, указывающий изменение в параметре квантования относительно предсказанного параметра квантования.

17. Устройство видеокодирования по п. 14, в котором один или более элементов синтаксиса кодируются в битовом потоке после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

18. Устройство видеокодирования по п. 14, причем устройство видеокодирования содержит одно или более из:
интегральной схемы;
микропроцессора; и
устройства беспроводной связи, которое включает в себя видеокодер.

19. Устройство для декодирования видеоданных, устройство содержит:
средство для приема наибольшей единицы кодирования (LCU) кодируемых видеоданных, причем LCU разделена на набор кодируемых единиц (CU) с меньших размером блока в соответствии со схемой разделения дерева квадрантов;
средство для определения, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования, по меньшей мере частично посредством декодирования кодируемых данных для воспроизведения по меньшей мере одного указания того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
средство для декодирования одного или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования для CU относительно предсказанного параметра квантования для CU, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем один или более элементов синтаксиса не включаются в CU, если CU не включает в себя каких-либо ненулевых коэффициентов преобразования.

20. Устройство по п. 19, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

21. Устройство по п. 19, в котором один или более элементов синтаксиса декодируется от позиции в пределах кодируемых видеоданных:
после режимов кодирования, связанных с CU из LCU.

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

23. Устройство по п. 22, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

24. Устройство по п. 22, в котором средство для кодирования одного или более элементов синтаксиса кодирует один или более элементов синтаксиса в кодируемом битовом потоке:
после элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

25. Считываемый компьютером носитель, содержащий инструкции, которые при их исполнении заставляют процессор декодировать видеоданные, причем инструкции заставляют процессор:
после приема наибольшей единицы кодирования (LCU) кодируемых видеоданных, причем LCU разделена на набор кодируемых единиц CU с размером блока в соответствии со схемой разделения дерева квадрантов;
определить, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования, по меньшей мере частично посредством декодирования кодируемых данных для воспроизведения по меньшей мере одного указания того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
декодировать один или более элементов синтаксиса для CU, чтобы указать изменение в параметре квантования для CU относительно предсказанного параметра квантования для CU, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, является флагом кодированных блоков (CBF), и
b) перед коэффициентами преобразования для CU, и
причем один или более элементов синтаксиса не включаются в CU, если CU не включает в себя каких-либо ненулевых коэффициентов преобразования.

26. Считываемый компьютером носитель по п. 25, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

27. Считываемый компьютером носитель по п. 25, в котором один или более элементов синтаксиса декодируются от позиции в пределах кодируемых видеоданных:
после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.

28. Считываемый компьютером носитель, содержащий инструкции, которые при их исполнении заставляют процессор кодировать видеоданные, причем инструкции заставляют процессор:
определять изменение в параметре квантования для единицы кодирования (CU) кодируемых видеоданных относительно предсказанного параметра квантования для CU, причем CU отделена от наибольшей единицы кодирования (LCU) в соответствии со схемой разделения дерева квадрантов;
определять, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования;
кодировать по меньшей мере одно указание того, включает ли в себя CU какие-либо ненулевые коэффициенты преобразования; и
кодировать один или более элементов синтаксиса для CU для указания изменения в параметре квантования, только если CU включает в себя какие-либо ненулевые коэффициенты преобразования, причем один или более элементов синтаксиса кодируются в битовом потоке:
a) после указания, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, при этом указание, что CU будет включать в себя по меньшей мере несколько ненулевых коэффициентов преобразования, включает в себя флаг кодированных блоков (CBF),и
b) перед коэффициентами преобразования для CU, и
причем инструкции заставляют процессор избегать кодирования одного или более элементов синтаксиса, если CU не включает в себя какие-либо коэффициенты преобразования.

29. Считываемый компьютером носитель по п. 28, в котором размер CU удовлетворяет или превышает пороговый размер, при котором разрешены изменения квантования.

30. Считываемый компьютером носитель по п. 28, в котором инструкции заставляют процессор кодировать один или более элементов синтаксиса в кодируемом битовом потоке:
после одного или более элементов синтаксиса, которые определяют режимы кодирования, связанные с CU из LCU.



 

Похожие патенты:

Изобретение относится к вычислительной технике, а именно к устройству и способу декодирования изображений. Техническим результатом является повышение эффективности декодирования информации.

Изобретение относится к визуализации контента устройством визуализации, например телевизором, подключенным к сети DLNA (Альянс домашних цифровых сетей). Техническим результатом является уменьшение прерываний контента, который визуализируется на устройствах визуализации, подключенных к сети, в случае «направления» к ним файлов от других устройств сети.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества изображений за счет уменьшения ошибок прогнозирования.

Группа изобретений относится к средствам кодирования с предсказанием. Техническим результатом является уменьшение порядков сканирования квантованных преобразованных коэффициентов текущего блока и системной сложности системы кодеков в кодировании и декодировании.

Изобретение относится к области электросвязи. Технический результат - повышение установления синхронизации цифрового водяного знака электронного изображения (ЭИ) при разделении ЭИ со встроенным цифровым водяным знаком на составные части произвольного размера.

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности декодирования.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности прогнозирования.

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

Изобретение относится к способу и устройству для кодирования/декодирования изображения посредством преобразования изображения в пиксельной области в коэффициенты в частотной области.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении возможности сразу воспроизводить принятые информационные данные. Устройство обработки данных содержит блок ввода информационных данных; блок кодирования информационных данных; блок генерирования файла с информацией, который имеет множество блочных элементов хранения, каждый из которых включает в себя информацию о размере, и который содержит один или несколько первых блочных элементов хранения для хранения закодированных информационных данных, и один или несколько вторых блочных элементов хранения для хранения управляющей информации об информационных данных, хранимых в первом блочном элементе хранения; блок установки режима в соответствии с командой от пользователя одного из множества режимов, включая режим записи для записи файла с информацией на носитель для записи и режим передачи для передачи файла с информацией на внешнее устройство, причем в режиме передачи генерируют первый блочный элемент хранения каждый раз, когда объем закодированных информационных данных достигает предварительно определенного объема, генерируют второй блочный элемент хранения, соответствующий сгенерированному первому блочному элементу хранения, и передают первый блочный элемент хранения после передачи второго блочного элемента хранения. 2 н. и 2 з.п. ф-лы, 10 ил.

Изобретение относится к системам и способам сжатия изображения. Технический результат - обеспечение большего сжатия данных изображения, за счет чего осуществляется уменьшение объема данных, используемых для представления изображения. Способ сжатия цифрового изображения в вычислительном устройстве содержит этапы, на которых делят изображение на множество подобластей изображения; выбирают из каталога, включающего в себя множество предварительно определенных шаблонных форм, причем каждая шаблонная форма содержит множество элементов, свойств и переменных изображения, таких как цвет, цветовой градиент, направление градиента или эталонный пиксел, и причем каждая упомянутая форма идентифицируется посредством кода, шаблонную форму для каждой подобласти, которая наиболее близко соответствует одному или более элементам изображения этой подобласти; и формируют сжатый набор данных для изображения, в котором каждая подобласть представляется посредством кода, идентифицирующего выбранную для него шаблонную форму. 2 н. и 20 з.п. ф-лы, 4 ил.

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

Изобретение относится к средствам обработки и передачи мультимедийного контента. Техническим результатом является повышение степени защиты записанного мультимедийного содержания. В способе выполняют с помощью сетевого головного устройства, на канале, вещательную передачу (162) скремблированного мультимедийного содержания и ЕСМ сообщений (сообщений, управляющих предоставлением права), содержащих криптограммы CWKa управляющих слов CW, обеспечивающих дескремблирование соответствующего криптопериода скремблированного мультимедийного содержания, принимают с помощью одного из записывающих устройств указанное скремблированное мультимедийное содержание и ЕСМ сообщения и дешифруют (184) криптограмму CWKa, содержащуюся в ЕСМ сообщении, принятом с ключом Ka подписки, защищают скремблированное мультимедийное содержание от считывания, с использованием ключа KHe, посредством шифрования (186) дешифрованных управляющих слов посредством ключа KHe для генерирования криптограмм CWKHe. 6 н. и 10 з.п. ф-лы, 3 ил.

Изобретение относится к области управления доступом для предоставления платных программ мультимедиа. Технический результат - обеспечение защиты от автоматической работы хакерских серверов за счет выполнения теста КАПЧА. Способ приема контента мультимедиа, скремблированного с использованием управляющих слов, содержит этапы, на которых: принимают посредством процессора системы безопасности сообщения ЕСМ, содержащие по меньшей мере одну криптограмму CW∗ управляющего слова CW; дешифруют криптограмму CW∗ посредством процессора системы безопасности; дескремблируют скремблированный контент мультимедиа посредством дешифрованного управляющего слова CW; выполняют тест КАПЧА, причем правильный ответ на указанный тест КАПЧА содержится в памяти процессора системы безопасности; получают процессором системы безопасности ответ на указанный тест КАПЧА и сравнивают в процессоре системы безопасности полученный ответ с правильным ответом, содержащимся в памяти процессора; ограничивают дескремблирование криптограмм CW* при отсутствии ответа на указанный тест КАПЧА, соответствующего правильному ответу. 4 н. и 8 з.п. ф-лы, 5 ил.

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

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

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

Изобретение относится к устройству кодирования/декодирования изображений. Техническим результатом является обеспечение высокоточного прогнозирования, даже когда значение сигнала варьируется вдоль направления прогнозирования, за счет этого повышая качество изображений. Указанный технический результат достигается тем, что когда параметр внутреннего прогнозирования указывает процесс горизонтального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в горизонтальном направлении значений яркости пикселей, смежных с верхней частью каждого блока, которое является единицей для процесса прогнозирования блока кодирования, со значением яркости пикселя, смежного с левой частью блока, чтобы задавать результат суммирования в качестве прогнозированного значения прогнозного изображения. Когда параметр внутреннего прогнозирования указывает процесс вертикального прогнозирования, модуль внутреннего прогнозирования суммирует значение, пропорциональное изменению в вертикальном направлении значений яркости пикселей, смежных с левой частью блока, со значением яркости пикселя, смежного с верхней частью блока, чтобы задавать результат суммирования в качестве прогнозированного значения прогнозного изображения. 4 н. и 6 з.п. ф-лы, 17 ил.

Изобретение относится к средствам кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования и декодирования. Модуль внутреннего предсказания настоящего изобретения, если режим кодирования, выбранный посредством модуля управления кодированием, является режимом внутреннего предсказания, формирует предсказанное изображение (Pi n) посредством выполнения обработки внутрикадрового предсказания с использованием пикселов, смежных с сегментом Pi n, который сегментирован посредством модуля сегментации на блоки, или пикселов, смежных с сегментом Pi n-1 верхнего уровня сегмента Pi n. 8 н. и 7 з.п. ф-лы, 14 ил.
Наверх