СПОСОБЫ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПРЕДСКАЗАТЕЛЕЙ ПАРАМЕТРОВ КВАНТОВАНИЯ ПО МНОЖЕСТВУ СОСЕДНИХ ПАРАМЕТРОВ КВАНТОВАНИЯ
METHODS AND APPARATUS FOR DETERMINING PREDICTORS OF QUANTISATION PARAMETERS BASED ON MULTIPLE ADJACENT QUANTISATION PARAMETERS

По этой заявке испрашивается приоритет на основании предварительной заявки на патент США № 61/353365, поданной 10 июня 2010 г., которая включена сюда в полном объеме путем ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Принципы из настоящего изобретения относятся, в общем, к кодированию и к декодированию видеоинформации и, в частности, к способам и к устройству для определения предсказателей параметров квантования по множеству соседних параметров квантования.
УРОВЕНЬ ТЕХНИКИ
В большинстве видеоприложений пытаются получить максимально возможное качество восприятия для заданного набора ограничений по скорости передачи битов. Например, в области применения с низкой скоростью передачи битов, например в системе видеотелефона, видеокодер может обеспечивать более высокое качество за счет устранения сильных визуальных искажений в областях, представляющих интерес, которые визуально являются более заметными и, следовательно, более важными. С другой стороны, в области применения с высокой скоростью передачи битов везде ожидается качество визуального воспроизведения изображений без потерь, и видеокодер также должен обеспечивать адекватное качество. Одной сложной задачей для получения адекватного качества визуального воспроизведения в областях применения с высокой скоростью передачи битов является сохранение деталей, в особенности, в гладких областях, где потери деталей более заметны, чем в негладких областях вследствие свойства маскирования текстуры, которое имеет система зрения человека.
Одним из наиболее прямолинейных подходов к улучшению объективного и субъективного качества является увеличение возможной скорости передачи битов. Когда скорость передачи битов является заданной, кодер управляет своим модулем распределения битов так, чтобы тратить имеющиеся биты там, где может быть получено наибольшее улучшение качества визуального воспроизведения. В областях применения не в реальном масштабе времени, таких как, например, авторская разработка цифрового видеодиска (DVD), видеокодер может способствовать применению схемы с переменной скоростью передачи битов (VBR) для создания видеоизображений с постоянным качеством как для трудно кодируемого информационного содержимого, так и для легко кодируемого информационного содержимого, во времени. В таких областях применения имеющиеся биты надлежащим образом распределены по различным участкам видеоизображения для получения постоянного качества. В отличие от этого система с постоянной скоростью передачи битов (CBR) отводит одно и то же количество битов для интервала из одного или большего количества изображений, несмотря на трудность их кодирования, и создает качество визуального воспроизведения, меняющееся в зависимости от содержимого видеоинформации. Для обеих систем: системы кодирования с переменной скоростью передачи битов и системы кодирования с постоянной скоростью передачи битов, кодер может распределять биты в изображении в соответствии с моделями восприятия. Одной особенностью человеческого восприятия является маскирование текстуры, которое объясняет, почему глаза человека являются более чувствительными к ухудшению качества в гладких областях, чем в текстурированных областях. Это свойство может быть использовано для увеличения количества битов, отведенных гладким областям, для получения более высокого качества визуального воспроизведения.
Процедура квантования в видеокодере регулирует количество закодированных битов и качество. Качество обычно регулируют путем регулирования параметров квантования (QP). Параметры квантования могут включать в себя величину шага квантования, округление смещения и матрицу масштабирования. В стандарте MPEG-4, часть 10 - Усовершенствованное кодирование видеоинформации (AVC), разработанном Экспертной группой по вопросам движущих изображений (MPEG) Международной организации по Стандартизации/Международной электротехнической комиссии (ISO/IEC)/рекомендованном стандарте H.264, разработанном Комитетом по телекоммуникациям Международного союза по телекоммуникациям (ITU-T) (который ниже именуют "стандартом MPEG-4 AVC"), значения параметра квантования могут быть отрегулированы на уровне слоя (slice) или макроблока (МБ). Кодер имеет гибкость для настройки параметров квантования и для сообщения сведений о регулировках в декодер. Передача параметров квантования требует непроизводительных издержек на передачу служебной информации.
КОДИРОВАНИЕ QP В СТАНДАРТЕ MPEG-4 AVC
Синтаксис в стандарте MPEG-4 AVC обеспечивает возможность использования различных параметров квантования для каждого слоя и макроблока (МБ). Значение параметра квантования является целым числом и принимает значение в интервале от 0 до 51. Начальное значение для каждого слоя может быть получено из элемента синтаксиса pic_init_qp_minus26. Начальное значение изменяют на уровне слоя тогда, когда закодировано не равное нулю значение slice_qp_delta, и дополнительно изменяют тогда, когда закодировано не равное нулю значение mb_qp_delta на уровне макроблока.
Начальный параметр квантования для слоя математически вычисляют следующим образом:
Y
SliceQP=26+pic_init_qp_minus26+slice_qp_delta. (1)
На уровне макроблока значение QP получают следующим образом:
Y
Y,PREV
QP=QP+mb_qp_delta, (2)
Y,PREV
где QP - параметр квантования предыдущего макроблока по порядку декодирования в текущем слое.
КОДИРОВАНИЕ ПАРАМЕТРА КВАНТОВАНИЯ В ПЕРВОМ ПОДХОДЕ ИЗ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
В первом подходе из предшествующего уровня техники (так же как и во втором подходе из предшествующего уровня техники, более подробное описание которого приведено здесь ниже), реализованы разделы, характеризующие движение, большего размера чем 16x16 пикселей. Используя в качестве примера первый подход из предшествующего уровня техники, в дополнение к существующим размерам разделения согласно стандарту MPEG-4 AVC используют макроблоки следующих размеров: 64x64, 64x32, 32x64, 32x32, 32x16 и 16x32. Для кодирования параметров квантования для больших блоков введены два новых элемента синтаксиса: mb64_delta_qp и mb32_delta_qp.
Y
Первый подход из предшествующего уровня техники позволяет изменять величину шага квантователя яркости следующим образом. Если 64x64 блок разделен на четыре отдельных блока 32x32, то каждый блок 32x32 может иметь свой собственный параметр квантования. Если блок 32x32 дополнительно разделен на четыре блока 16x16, то каждый блок 16x16 также может иметь свой собственный параметр квантования. Эту информацию сообщают в декодер с использованием синтаксиса delta_qp. Для блока 64x64, если типом mb64_type не является P8x8 (что означает отсутствие дальнейшего разделения), то кодируют mb64_delta_qp для сообщения об относительном изменении величины шага квантователя яркости относительно блока на верхней левой стороне текущего блока. Этот блок может иметь размер 64x64, 32x32 или 16x16. Декодированное значение mb64_qp_delta ограничено значением в интервале [-26,25]. Подразумевают, что значение mb64_qp_delta равно 0, когда оно отсутствует для любого блока (включая блоки типов P_Skip и B_Skip). Порог QP квантования яркости для текущего блока получают следующим образом:
Y
Y,PREV
QP=(QP+mb64_qp_delta+52)% 52, (3)
Y,PREV
Y,PREV
где QP представляет собой QP яркости предыдущего блока 64x64 по порядку декодирования в текущем слое. Для первого блока 64x64 в слое QP задан равным параметру квантования слоя, переданному в заголовке слоя.
Если типом mb64_type является P8x8 (это означает, что блок 64x64 разделен на четыре блока 32x32), то для каждого блока 32x32 ту же самую процедуру повторяют. То есть если типом mb32_type не является P8x8 (что означает отсутствие дальнейшего разделения), то кодируют mb32_delta_qp. В противном случае в декодер передают delta_qp для каждого макроблока 16x16, как в стандарте MPEG-4 AVC. Следует отметить следующее: когда delta_qp сообщают при размере блока 64x64 или 32x32, то оно применимо ко всем блокам в разделе, характеризующем движение.
КОДИРОВАНИЕ ПАРАМЕТРА КВАНТОВАНИЯ ВО ВТОРОМ ПОДХОДЕ ИЗ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
Во втором подходе из предшествующего уровня техники поддержка больших блоков обеспечена посредством концепции единичного элемента кодирования. Во втором подходе из предшествующего уровня техники единичный элемент кодирования (CU) определен в качестве базового единичного элемента, имеющего форму квадрата. Несмотря на то что он играет роль, аналогичную роли макроблока и субмакроблока в стандарте MPEG-4 AVC, основное различие заключается в том, что единичный элемент кодирования может иметь различные размеры без каких-либо различий в соответствии с его размером. Всю обработку, кроме покадровой фильтрации с обратной связью, выполняют на основании единичных элементов кодирования, включая интра-предсказание/интер-предсказание, преобразование, квантование и статистическое кодирование. Определены два особых термина: наибольший единичный элемент кодирования (LCU) и наименьший единичный элемент кодирования (SCU). Для удобной реализации размер LCU и размер SCU ограничены значениями, равными числу 2, возведенному в степень, и которые являются большими или равными 8.
Предполагают, что изображение состоит из неперекрывающихся наибольших единичных элементов кодирования (LCU). Поскольку на единичный элемент кодирования наложено ограничение, состоящее в том, что он имеет квадратную форму, структура единичного элемента кодирования в пределах LCU может быть выражена в представлении рекурсивного дерева, адаптированном для изображения. То есть единичный элемент кодирования характеризуется наибольшим размером единичного элемента кодирования и иерархической глубиной в наибольшем единичном элементе кодирования, к которому принадлежит этот единичный элемент кодирования.
Наряду с единичным элементом кодирования во втором подходе из предшествующего уровня техники введена базовая единица для режима предсказания: единичный элемент предсказания (PU). Следует отметить, что единичный элемент предсказания определен только для единичного элемента кодирования последней глубины и его размер ограничен размером единичного элемента кодирования. Подобно обычным стандартам для определения способа предсказания заданы два различных термина: тип предсказания и разбиение единичного элемента предсказания. Типом предсказания является одно из следующих значений: пропуск, "интра" или "интер", которые грубо описывают характер способа предсказания. После этого задают возможные разбиения единичного элемента предсказания в соответствии с типом предсказания. Для единичного элемента кодирования, имеющего размер 2Nx2N, единичный элемент предсказания для типа "интра" имеет два различных возможных варианта разбиения: 2Nx2N (то есть без разбиения) и NxN (то есть разбиение на четверти). Единичный элемент предсказания для типа "интер" имеет восемь различных возможных вариантов разбиения: четыре симметричных разбиения (2Nx2N, 2NxN, Nx2N, NxN) и четыре асимметричных разбиения (2NxnU, 2NxnD, nLx2N и nRx2N).
В дополнение к определениям единичного элемента кодирования и единичного элемента предсказания отдельно определен единичный элемент преобразования (TU) для преобразования и квантования. Следует отметить, что размер единичного элемента преобразования может быть большим, чем размер единичного элемента предсказания, который отличается от предыдущих видеостандартов, но размер единичного элемента преобразования не может превышать размер единичного элемента кодирования. Однако размер единичного элемента преобразования не является произвольным, и после того как была определена структура единичного элемента предсказания для единичного элемента кодирования, возможны только два раздела единичного элемента преобразования. В результате размер единичного элемента преобразования в единичном элементе кодирования определяется флагом transform_unit_size_flag. Если флаг transform_unit_size_flag установлен равным 0, то размер единичного элемента преобразования является тем же самым, что и размер единичного элемента кодирования, к которому принадлежит единичный элемент преобразования. В противном случае размер единичного элемента преобразования задан равным NxN или N/2xN/2 в соответствии с разбиением единичного элемента предсказания.
Y
Основной принцип для коэффициентов квантования и обращения квантования для больших преобразований является тем же самым, что и основной принцип, используемый в стандарте MPEG-4 AVC, то есть скалярный квантователь с мертвой зоной. В предложенном кодеке был использован в точности тот же самый интервал значений параметра квантования и соответствующий шаг квантования. В этом предложенном кодеке разрешено изменение параметра квантования для каждого единичного элемента кодирования. Порог QP квантования яркости для текущего блока получают следующим образом:
Y
Y
QP=SliceQP+qp_delta, (4)
Y
где SliceQP - параметр квантования для слоя, а qp_delta - разность между параметром квантования для текущего единичного элемента кодирования и для слоя. Один и тот же параметр квантования применяют для всего единичного элемента кодирования.
ТИПИЧНАЯ ПРОЦЕДУРА КОДИРОВАНИЯ QP - ПРЕДСКАЗАТЕЛЬ QP ПО ОДИНОЧНОМУ QP
Y
Y
CU
CU
Y
Переходя к рассмотрению Фиг. 1, обычный способ кодирования параметра квантования в видеокодере обозначен, в целом, номером позиции 100. Способ 100 включает в себя блок 105 "начало", который передает управление в функциональный блок 110. Функциональный блок 110 задает параметр квантования (QP) для слоя равным SliceQP, сохраняет SliceQP в качестве предсказателя QP и передает управление в блок 115 ограничения цикла. Блок 115 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов кодирования, и передает управление в функциональный блок 120. Функциональный блок 120 задает QP для каждого единичного элемента кодирования равным QP и передает управление в функциональный блок 125. Функциональный блок 125 кодирует delta_QP=QP-SliceQP и передает управление в функциональный блок 130. Функциональный блок 130 кодирует -й единичный элемент кодирования и передает управление в блок 135 ограничения цикла. Блок 135 ограничения цикла завершает цикл по единичным элементам кодирования и передает управление в блок 199 "конец".
Y
CU
Y
Таким образом, в способе 100 в качестве предсказателя для QP, подлежащего кодированию, используют одиночный QP, а именно QP слоя (SliceQP). Что касается функционального блока 120, то QP для единичного элемента кодирования регулируют на основании его информационного содержимого и/или на основании предыдущих результатов кодирования. Например, гладкий единичный элемент кодирования понижает QP для улучшения качества восприятия. В другом примере, если предыдущие единичные элементы кодирования используют большее количество битов, чем отведенное количество битов, то текущий единичный элемент кодирования увеличивает QP для расходования меньшего количества битов, чем первоначально отведенное количество битов. В этом примере кодируют разность между QP для текущего единичного элемента кодирования (QP) и предсказателем QP, SliceQP (посредством функционального блока 125).
Y
Y
CU
Y
Переходя к рассмотрению Фиг. 2, обычный способ декодирования параметра квантования в видеодекодере обозначен, в целом, номером позиции 200. Способ 200 включает в себя блок 205 "начало", который передает управление в функциональный блок 210. Функциональный блок 210 декодирует SliceQP, сохраняет SliceQP в качестве предсказателя QP и передает управление в блок 215 ограничения цикла. Блок 215 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов кодирования, и передает управление в функциональный блок 220. Функциональный блок 220 декодирует delta_QP и передает управление в функциональный блок 225. Функциональный блок 225 задает QP для каждого единичного элемента кодирования равным QP=SliceQP+delta_QP и передает управление в функциональный блок 230. Функциональный блок 230 декодирует -й единичный элемент кодирования и передает управление в блок 235 ограничения цикла. Блок 235 ограничения цикла завершает цикл по единичным элементам кодирования и передает управление в блок 299 "конец". Что касается функционального блока 230, то посредством него восстанавливают единичный элемент кодирования.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Принципы настоящего изобретения, которые относятся к способам и к устройству для определения предсказателей параметров квантования по множеству соседних параметров квантования, направлены на устранение этих и других недостатков предшествующего уровня техники.
Согласно одному из аспектов настоящего изобретения в нем предложено устройство. Это устройство включает в себя кодер для кодирования данных об изображении, по меньшей мере, для участка изображения с использованием предсказателя параметра квантования для текущего параметра квантования, применяемого для данных об изображении. Предсказатель параметра квантования определен с использованием множества параметров квантования из ранее закодированных соседних участков. Разность между текущим параметром квантования и предсказателем параметров квантования кодируют для ее передачи в соответствующий декодер.
Согласно другому аспекту настоящего изобретения в нем предложен способ, выполняемый в видеокодере. Этот способ включает в себя следующие операции: кодируют данные об изображении, по меньшей мере, для участка изображения с использованием предсказателя параметра квантования для текущего параметра квантования, применяемого для данных об изображении. Предсказатель параметра квантования определяют с использованием множества параметров квантования из ранее закодированных соседних участков. Способ содержит следующую дополнительную операцию: кодируют разность между текущим параметром квантования и предсказателем параметра квантования для ее передачи в соответствующий декодер.
Согласно еще одному аспекту настоящего изобретения в нем предложено устройство. Это устройство включает в себя декодер для декодирования данных об изображении, по меньшей мере, для участка изображения с использованием предсказателя параметра квантования для текущего параметра квантования, применяемого для данных об изображении. Предсказатель параметра квантования определен с использованием множества параметров квантования из ранее закодированных соседних участков. Разность между текущим параметром квантования и предсказателем параметра квантования декодируют для использования при декодировании данных об изображении.
Согласно еще одному аспекту настоящего изобретения в нем предложен способ, выполняемый в видеодекодере. Этот способ включает в себя следующие операции: декодируют данные об изображении, по меньшей мере, для участка изображения с использованием предсказателя параметра квантования для текущего параметра квантования, применяемого для данных об изображении. Предсказатель параметра квантования определяют с использованием множества параметров квантования из ранее закодированных соседних участков. Способ содержит следующую дополнительную операцию: декодируют разность между текущим параметром квантования и предсказателем параметра квантования для использования при декодировании данных об изображении.
Эти и другие аспекты, признаки и преимущества настоящего изобретения станут очевидными из приведенного ниже подробного описания вариантов осуществления изобретения, которые приведены в качестве примеров, которое следует читать совместно с изучением сопроводительных чертежей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Принципы из настоящего изобретения можно лучше понять в соответствии с чертежами, приведенными ниже в качестве примеров, на которых изображено следующее:
на Фиг. 1 изображена схема последовательности операций, на которой показан обычный способ кодирования параметра квантования в видеокодере согласно предшествующему уровню техники;
на Фиг. 2 изображена схема последовательности операций, на которой показан обычный способ декодирования параметра квантования в видеодекодере согласно предшествующему уровню техники;
на Фиг. 3 изображена блок-схема, на которой показан приведенный в качестве примера видеокодер, в котором могут быть применены принципы из настоящего изобретения, согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 4 изображена блок-схема, на которой показан приведенный в качестве примера видеодекодер, в котором могут быть применены принципы из настоящего изобретения, согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 5 изображена схема последовательности операций, на которой показан приведенный в качестве примера способ кодирования параметра квантования в видеокодере согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 6 изображена схема последовательности операций, на которой показан приведенный в качестве примера способ декодирования параметра квантования в видеодекодере согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 7 изображена схема, на которой показаны приведенные в качестве примера соседние единичные элементы кодирования согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 8 изображена схема последовательности операций, на которой показан другой приведенный в качестве примера способ кодирования параметра квантования в видеокодере согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 9 изображена схема последовательности операций, на которой показан другой приведенный в качестве примера способ декодирования параметра квантования в видеодекодере согласно варианту осуществления принципов из настоящего изобретения;
на Фиг. 10 изображена схема последовательности операций, на которой показан еще один приведенный в качестве примера способ кодирования параметра квантования в видеокодере согласно варианту осуществления принципов из настоящего изобретения; и
на Фиг. 11 изображена схема последовательности операций, на которой показан еще один приведенный в качестве примера способ декодирования параметра квантования в видеодекодере согласно варианту осуществления принципов из настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Принципы из настоящего изобретения относятся к способам и к устройству для определения предсказателей параметров квантования по множеству соседних параметров квантования.
В настоящем описании проиллюстрированы принципы из настоящего изобретения. Соответственно, понятно, что специалисты в данной области техники будут способны придумать различные устройства, которые, хотя и не являются описанными или показанными здесь в явном виде, реализуют принципы из настоящего изобретения и не выходят за пределы его сущности и объема.
Подразумевают, что все изложенные здесь примеры и условный язык предназначены в обучающих целях для помощи читателю в понимании принципов настоящего изобретения и концепций, которые являются вкладом автора (авторов) изобретения в дальнейшее развитие данной области техники, и их следует истолковывать как не являющиеся ограниченными этими изложенными конкретными примерами и условиями.
Кроме того, подразумевают, что все приведенные здесь утверждения, в которых изложены принципы, аспекты и варианты осуществления принципов из настоящего изобретения, а также их конкретные примеры, охватывают собой как структурные, так и функциональные их эквиваленты. Помимо этого подразумевают, что такие эквиваленты включают в себя как эквиваленты, известные в настоящее время, так и эквиваленты, которые станут известными в будущем, то есть любые созданные элементы, выполняющие ту же самую функцию, вне зависимости от их структуры.
Таким образом, например, для специалистов в данной области техники понятно, что представленные здесь блок-схемы представляют собой концептуальные изображения приведенной в качестве иллюстративного примера схемы, в которой реализованы принципы из настоящего изобретения. Аналогичным образом, понятно, что любые схемы последовательности операций, блок-схемы, диаграммы изменения состояний, псевдокод и т.п. изображают различные способы, которые могут быть, по существу, представлены на считываемых посредством компьютера носителях информации и, таким образом, выполнены компьютером или процессором вне зависимости от того, показан ли такой компьютер или процессор в явном виде или нет.
Функции различных элементов, показанных на чертежах, могут быть обеспечены с помощью специализированных аппаратных средств, а также аппаратных средств, способных выполнять программы, совместно с надлежащим программным обеспечением. Когда эти функции обеспечивает процессор, то они могут быть обеспечены одним специализированным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут являться совместно используемыми. Кроме того, использование термина "процессор" или "контроллер" в явном виде не следует истолковывать как то, что он относится исключительно к аппаратным средствам, способным выполнять программы, и он может в неявном виде включать в себя аппаратные средства цифровой обработки сигналов ("DSP"), постоянное запоминающее устройство ("ПЗУ") для хранения программного обеспечения, оперативное запоминающее устройство ("ОЗУ") и энергонезависимое запоминающее устройство, но эти примеры не являются ограничивающим признаком.
Также он может включать в себя другие аппаратные средства, обычные и/или специализированные. Аналогичным образом, любые переключатели, показанные на чертежах, являются просто концептуальными. Их функция может быть выполнена посредством функционирования программной логики, посредством специализированной логики, посредством взаимодействия программного управления и специализированной логики или даже вручную, причем конкретный способ выбирает разработчик, что более определенно понятно из контекста.
В формуле настоящего изобретения подразумевают, что любой элемент, выраженный как средство выполнения заданной функции, охватывает собой любой способ выполнения этой функции, в том числе, например, a) комбинацию схемных элементов, которая выполняет эту функцию, или b) программное обеспечение в любом виде, в том числе, следовательно, аппаратно-реализованное программное обеспечение, микропрограмму и т.п., которые объединены с надлежащей схемой для выполнения этого программного обеспечения для выполнения этой функции. Принципам из настоящего изобретения, определяемым такой формулой изобретения, присуще то, что функциональные возможности, обеспечиваемые различными изложенными средствами, объединены и сведены вместе, как того требует формула изобретения. Таким образом, полагают, что любое средство, которое может обеспечивать эти функциональные возможности, эквивалентно тем средствам, которые здесь показаны.
Приведенная в описании ссылка на "один вариант осуществления" или на "вариант осуществления" принципов из настоящего изобретения, а также другие ее вариации, означает, что, по меньшей мере, один вариант осуществления принципов из настоящего изобретения включает в себя конкретный признак, структуру, характеристику и т.д., которые описаны применительно к варианту осуществления изобретения. Таким образом, не обязательно все появления фразы "в одном из вариантов осуществления" или "в варианте осуществления", а также другие варианты этой фразы с изменениями, появляющиеся в различных местах во всем этом описании, являются ссылками на один и тот же вариант осуществления.
Следует понимать, что использование любой из следующих формулировок: "/", "и/или" и "по меньшей мере, один из", например, в случаях "A/B", "A и/или B" и "по меньшей мере, один из A и B" подразумевает, что оно охватывает выбор только первого перечисленного варианта (A), или выбор только второго перечисленного варианта (B), или выбор обоих вариантов (A и B). В качестве еще одного примера, подразумевают, что в случаях "A, B и/или C" и "по меньшей мере, один из A, B и C" такая формулировка охватывает выбор только первого перечисленного варианта (A), или выбор только второго перечисленного варианта (B), или выбор только третьего перечисленного варианта (C), или выбор только первого и второго из перечисленных вариантов (A и B), или выбор только первого и третьего из перечисленных вариантов (A и C), или выбор только второго и третьего из перечисленных вариантов (B и C), или выбор всех трех вариантов (A и B и C). Для специалиста со средним уровнем компетентности в данной области техники и в родственных областях техники очевидно, что это может быть распространено на любое количество перечисленных элементов.
К тому же используемые здесь слова "снимок" и "изображение" используются как взаимозаменяемые и относятся к неподвижному изображению или к изображению из видеопоследовательности. Известно, что изображением может являться кадр или поле.
Кроме того, используемая здесь фраза "единичный элемент кодирования" (CU) относится к базовому единичному элементу, имеющему форму квадрата. Несмотря на то что он играет роль, аналогичную роли макроблока и субмакроблока в стандарте MPEG-4 AVC, основное различие заключается в том, что единичный элемент кодирования может иметь различные размеры каких-либо различий в соответствии с его размером. Всю обработку, кроме покадровой фильтрации с обратной связью, выполняют на основании единичных элементов кодирования, включая интра-предсказание/интер-предсказание, преобразование, квантование и статистическое кодирование.
Кроме того, используемая здесь фраза "единичный элемент предсказания" (PU) относится к базовому единичному элементу для режима предсказания. Следует отметить, что PU определен только для CU последней глубины и что его размер ограничен размером этого CU. Всю информацию, связанную с предсказанием, сообщают на основании PU.
К тому же используемая здесь фраза "единичный элемент преобразования" (TU) относится к базовому единичному элементу для преобразования. Следует отметить, что размер единичного элемента преобразования может быть большим, чем размер единичного элемента предсказания, который отличается от предыдущих видеостандартов, но размер единичного элемента преобразования не может превышать размер единичного элемента кодирования. Однако размер единичного элемента преобразования не является произвольным, и после того как была определена структура единичного элемента предсказания для единичного элемента кодирования, возможны только два раздела единичного элемента преобразования. В результате, размер единичного элемента преобразования в единичном элементе кодирования определяется флагом transform_unit_size_flag. Если флаг transform_unit_size_flag установлен равным 0, то размер единичного элемента преобразования является тем же самым, что и размер единичного элемента кодирования, к которому принадлежит единичный элемент преобразования. В противном случае размер единичного элемента преобразования задан равным NxN или N/2xN/2 в соответствии с разбиением единичного элемента предсказания.
В дополнение к этому используемая здесь фраза "режим пропуска" относится к режиму предсказания, где информацию о движении получают из предсказателя вектора движения и не передают ни информацию о движении, ни информацию о текстуре.
Кроме того, следует понимать, что для простоты и доходчивости описания оно начато с основ, определяемых вторым подходом из предшествующего уровня техники, и новые переменные, принципы, синтаксис, и т.д определены как видоизменения второго подхода из предшествующего уровня техники. Однако для специалистов в данной области техники очевидно, что принципы и концепции, раскрытые и описанные здесь применительно к настоящему изобретению, применимы к любой новой или модифицированной стандартной или собственной системы и никоим образом не связаны исключительно с видоизменением второго подхода из предшествующего уровня техники. Также они не связаны ни с первым подходом из предшествующего уровня техники, ни со стандартом MPEG-4 AVC или ни с каким-либо другим подходом или стандартом.
Переходя к рассмотрению Фиг. 3, приведенный в качестве примера видеокодер, в котором могут быть применены принципы из настоящего изобретения, обозначен, в целом, номером позиции 300. Видеокодер 300 включает в себя буфер 310 упорядочения кадров, имеющий выход с возможностью передачи сигналов на неинвертирующий вход объединителя 385. Выход объединителя 385 соединен с возможностью передачи сигналов с первым входом преобразователя и квантователя 325 (с множеством предсказателей). Выход преобразователя и квантователя 325 (с множеством предсказателей) соединен с возможностью передачи сигналов с первым входом статистического кодера 345 и с первым входом обратного преобразователя и обратного квантователя 350 (с множеством предсказателей). Выход статистического кодера 345 соединен с возможностью передачи сигналов с первым неинвертирующим входом объединителя 390. Выход объединителя 390 соединен с возможностью передачи сигналов с первым входом выходного буфера 335.
Первый выход контроллера 305 кодера соединен с возможностью передачи сигналов со вторым входом буфера 310 упорядочения кадров, со вторым входом обратного преобразователя и обратного квантователя 350 (с множеством предсказателей), с входом модуля 315 принятия решения о типе изображения, с первым входом модуля 320 принятия решения о типе макроблока (о типе МБ), со вторым входом модуля 360 интра-предсказания, со вторым входом фильтра 365, устраняющего блочность, с первым входом компенсатора 370 движения, с первым входом анализатора 375 параметров движения и со вторым входом буфера 380 опорных изображений.
Второй выход контроллера 305 кодера соединен с возможностью передачи сигналов с первым входом модуля 330 вставки дополнительной расширенной информации (SEI), со вторым входом преобразователя и квантователя 325 (с множеством предсказателей), со вторым входом статистического кодера 345, со вторым входом выходного буфера 335 и с входом модуля 340 вставки набора параметров последовательности (SPS) и набора параметров изображения (PPS).
Выход модуля 330 вставки SEI соединен с возможностью передачи сигналов со вторым неинвертирующим входом объединителя 390.
Первый выход модуля 315 принятия решения о типе изображения соединен с возможностью передачи сигналов с третьим входом буфера 310 упорядочения кадров. Второй выход модуля 315 принятия решения о типе изображения соединен с возможностью передачи сигналов со вторым входом модуля 320 принятия решения о типе макроблока.
Выход модуля 340 вставки набора параметров последовательности (SPS) и набора параметров изображения (PPS) соединен с возможностью передачи сигналов с третьим неинвертирующим входом объединителя 390.
Выход обратного квантователя и обратного преобразователя 350 (с множеством предсказателей) соединен с возможностью передачи сигналов с первым неинвертирующим входом объединителя 319. Выход объединителя 319 соединен с возможностью передачи сигналов с первым входом модуля 360 интра-предсказания и с первым входом фильтра 365, устраняющего блочность. Выход фильтра 365, устраняющего блочность, соединен с возможностью передачи сигналов с первым входом буфера 380 опорных изображений. Выход буфера 380 опорных изображений соединен с возможностью передачи сигналов со вторым входом анализатора 375 параметров движения и третьим входом компенсатора 370 движения. Первый выход анализатора 375 параметров движения соединен с возможностью передачи сигналов со вторым входом компенсатора 370 движения. Второй выход анализатора 375 параметров движения соединен с возможностью передачи сигналов с третьим входом статистического кодера 345.
Выход компенсатора 370 движения соединен с возможностью передачи сигналов с первым входом коммутатора 397. Выход модуля 360 интра-предсказания соединен с возможностью передачи сигналов со вторым входом коммутатора 397. Выход модуля 320 принятия решения о типе макроблока соединен с возможностью передачи сигналов с третьим входом коммутатора 397. Третий вход коммутатора 397 определяет, следует ли подавать на вход "данные" коммутатора (по сравнению с управляющим входом, то есть, третьим входом) данные из компенсатора 370 движения или из модуля 360 интра-предсказания. Выход коммутатора 397 соединен с возможностью передачи сигналов со вторым неинвертирующим входом объединителя 319 и инвертирующим входом объединителя 385.
В качестве входов кодера 100 для приема входного изображения имеются первый вход буфера 310 упорядочения кадров и вход контроллера 305 кодера. Кроме того, в качестве входа кодера 300 для приема метаданных имеется второй вход модуля 330 вставки дополнительной расширенной информации (SEI). В качестве выхода кодера 300 для вывода потока битов имеется выход выходного буфера 335.
Переходя к рассмотрению Фиг. 4, приведенный в качестве примера видеодекодер, в котором могут быть применены принципы из настоящего изобретения, обозначен, в целом, номером позиции 400. Видеодекодер 400 включает в себя входной буфер 410, имеющий выход, соединенный с возможностью передачи сигналов с первым входом статистического декодера 445. Первый выход статистического декодера 445 соединен с возможностью передачи сигналов с первым входом обратного преобразователя и обратного квантователя 450 (с множеством предсказателей). Выход обратного преобразователя и обратного квантователя 450 (с множеством предсказателей) соединен с возможностью передачи сигналов со вторым неинвертирующим входом объединителя 425. Выход объединителя 425 соединен с возможностью передачи сигналов со вторым входом фильтра 465, устраняющего блочность, и первым входом модуля 460 интра-предсказания. Второй выход фильтра 465, устраняющего блочность, соединен с возможностью передачи сигналов с первым входом буфера 480 опорных изображений. Выход буфера 480 опорных изображений соединен с возможностью передачи сигналов со вторым входом компенсатора 470 движения.
Второй выход статистического декодера 445 соединен с возможностью передачи сигналов с третьим входом компенсатора 470 движения, первым входом фильтра 465, устраняющего блочность, и третьим входом интра-предсказателя 460. Третий выход статистического декодера 445 соединен с возможностью передачи сигналов с входом контроллера 405 декодера. Первый выход контроллера 405 декодера соединен с возможностью передачи сигналов со вторым входом статистического декодера 445. Второй выход контроллера 405 декодера соединен с возможностью передачи сигналов со вторым входом обратного преобразователя и обратного квантователя 450 (с множеством предсказателей). Третий выход контроллера 405 декодера соединен с возможностью передачи сигналов с третьим входом фильтра 465, устраняющего блочность. Четвертый выход контроллера 405 декодера соединен с возможностью передачи сигналов со вторым входом модуля 460 интра-предсказания, первым входом компенсатора 470 движения и вторым входом буфера 480 опорных изображений.
Выход компенсатора 470 движения соединен с возможностью передачи сигналов с первым входом коммутатора 497. Выход модуля 460 интра-предсказания соединен с возможностью передачи сигналов со вторым входом коммутатора 497. Выход коммутатора 497 соединен с возможностью передачи сигналов с первым неинвертирующим входом объединителя 425.
В качестве входа декодера 400 для приема входного потока битов имеется вход входного буфера 410. В качестве выхода декодера 400 для вывода выходного изображения имеется первый выход фильтра 465, устраняющего блочность.
Как указано выше, принципы из настоящего изобретения относятся к способам и к устройству для определения предсказателей параметров квантования по множеству соседних параметров квантования.
Что касается вышеупомянутых первого и второго подходов из предшествующего уровня техники, авторами изобретения отмечено, что они обеспечивают поддержку регулировки параметры квантования на уровне блоков, где блоком может являться макроблок, большой блок (как в первом подходе из предшествующего уровня техники), или единичный элемент кодирования (как во втором подходе из предшествующего уровня техники). Значения параметров квантования кодируют дифференцированно. В стандарте MPEG-4 AVC и в первом подходе из предшествующего уровня техники в качестве предсказателя используют параметр квантования предыдущего блока по порядку кодирования в текущем слое. Во втором подходе из предшествующего уровня техники в качестве предсказателя используют параметр квантования слоя.
В соответствии с принципами из настоящего изобретения авторами были предложены способы и устройство для определения предсказателя параметра квантования с использованием параметров квантования множества соседних закодированных блоков. Вычисление предсказателя параметра квантования определяется правилом, которое является известным как кодеру, так и декодеру. Одним из преимуществ этой схемы по сравнению со схемами из предшествующего уровня техники является снижение непроизводительных издержек на передачу служебной информации, необходимых для передачи параметров квантования в декодер.
Параметр квантования часто регулируют для соответствия целевой скорости передачи битов или для адаптации к информационному содержимому для улучшения качества визуального воспроизведения. Это вызывает изменения QP между единичными элементами кодирования. Для описания принципов из настоящего изобретения подразумевают, что слово "единичный элемент кодирования" ("единичные элементы кодирования") включает в себя широкий спектр разделов и областей изображения, в том числе блоки, макроблоки, суперблоки, супермакроблоки, субмакроблоки, субблоки, разделы изображения, геометрические разделы изображения, участки изображения, единичный элемент предсказания и единичный элемент преобразования, но эти примеры не являются ограничивающим признаком. Для уменьшения непроизводительных издержек на передачу разности QP авторами изобретения были раскрыты и описаны способы и устройство для улучшения функционирования предсказателя QP. Предсказатель QP сформирован множеством параметров квантования (QP) из соседних блоков ранее закодированных/декодированных единичных элементов кодирования с использованием одного и того же способа как в кодере, так и в декодере, посредством чего уменьшены необходимые непроизводительные издержки на передачу служебной информации.
PRED
CU
CU
PRED
PRED
Переходя к рассмотрению Фиг. 5, приведенный в качестве примера способ кодирования параметра квантования в видеокодере обозначен, в целом, номером позиции 500. Способ 500 включает в себя блок 505 "начало", который передает управление в блок 510 ограничения цикла. Блок 510 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов кодирования, и передает управление в функциональный блок 515. Функциональный блок 515 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее закодированных единичных элементов кодирования и передает управление в функциональный блок 520. Функциональный блок 520 задает QP для каждого единичного элемента кодирования равным QP и передает управление в функциональный блок 525. Функциональный блок 525 кодирует delta_QP=QP-QP и передает управление в функциональный блок 530. Функциональный блок 530 кодирует -й единичный элемент кодирования и передает управление в блок 535 ограничения цикла. Блок 535 ограничения цикла завершает цикл по единичным элементам кодирования и передает управление в блок 599 "конец". Что касается функционального блока 515, то для формирования предсказателя QP могут использоваться те же самые единичные элементы кодирования, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы кодирования, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент кодирования, используемый при конкуренции векторов движения.
PRED
CU
PRED
PRED
Переходя к рассмотрению Фиг. 6, приведенный в качестве примера способ декодирования параметра квантования в видеодекодере обозначен, в целом, номером позиции 600. Способ 600 включает в себя блок 605 "начало", который передает управление в блок 610 ограничения цикла. Блок 610 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов кодирования, и передает управление в функциональный блок 615. Функциональный блок 615 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее декодированных единичных элементов кодирования и передает управление в функциональный блок 620. Функциональный блок 620 декодирует delta_QP и передает управление в функциональный блок 625. Функциональный блок 625 задает QP для каждого единичного элемента кодирования равным QP=delta_QP+QP и передает управление в функциональный блок 630. Функциональный блок 630 декодирует -й единичный элемент кодирования и передает управление в блок 635 ограничения цикла. Блок 635 ограничения цикла завершает цикл по единичным элементам кодирования и передает управление в блок 699 "конец". Что касается функционального блока 615, то для формирования предсказателя QP могут использоваться те же самые единичные элементы кодирования, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы кодирования, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент кодирования, используемый при конкуренции векторов движения.
PRED
ПОЛУЧЕНИЕ ПРЕДСКАЗАТЕЛЯ QP (QP)
Ниже раскрыта и описана схема формирования предсказателя QP. Для обеспечения синхронности использована одна и та же самая методология как в кодере, так и в декодере.
Обеспечение высокого качества восприятия в области, представляющей интерес, оказывает явное влияние на общее качестве восприятия. Следовательно, общим основополагающим принципом при регулировании QP является следующий: назначение более низких параметров квантования (QP) областям, представляющим интерес, для улучшения качества восприятия и более высоких параметров квантования (QP) другим областям для уменьшения количества битов. Поскольку содержимое изображения имеет высокую целостность, то параметры квантования (QP) для соседних единичных элементов кодирования часто являются коррелированными. На предшествующем уровне техники использовалась корреляция между текущим QP и QP ранее закодированного блока. Поскольку также может иметь место корреляция QP с параметрами квантования (QP) из других соседних блоков, предсказатель QP улучшен за счет учета большего количества параметров квантования (QP). Переходя к рассмотрению Фиг. 7, приведенные в качестве примера соседние единичные элементы кодирования обозначены, в целом, номером позиции 700. Соседние единичные элементы 700 кодирования включают в себя следующие: левый соседний единичный элемент кодирования, обозначенный как A; верхний соседний единичный элемент кодирования, обозначенный как B; верхний правый соседний единичный элемент кодирования, обозначенный как C; и верхний левый соседний единичный элемент кодирования, обозначенный как D. Соседние единичные элементы кодирования с А по D используют для формирования предсказателя QP для текущего единичного элемента кодирования, обозначенного как E. В одном из примеров определения A, B, C и D являются теми же самыми, что и блоки, используемыми в стандарте MPEG-4 AVC для предсказателей вектора движения. Для получения предсказателя QP в их состав также может быть включено большее количество параметров квантования (QP) из других соседних единичных элементов кодирования.
Предсказатель QP формируют согласно правилу, которое является известному как кодеру, так и декодеру. Для использования QP в единичном элементе A, B, и C кодирования авторами изобретения было предложно несколько следующих правил, приведенных в качестве примера:
PRED
A
B
C
Правило 1: QP = медиана(QP, QP, QP);
PRED
A
B
C
Правило 2: QP = минимум(QP, QP, QP);
PRED
A
B
C
Правило 3: QP = максимум(QP, QP, QP);
PRED
A
B
C
PRED
A
B
Правило 4: QP = среднее(QP, QP, QP) или QP = среднее (QP, QP).
Y
PRED
B
C
Если имеются не все единичные элементы кодирования (A, B, C), то для формирования предсказателя можно заменить их параметры квантования (QP) значением SliceQP или использовать только имеющиеся параметры квантования (QP). Например, когда единичный элемент A кодирования отсутствует, правилом 2 становится следующее: QP = минимум(QP, QP). В другом примере, если имеются не все единичные элементы кодирования, можно заменить отсутствующие параметры квантования (QP) параметрами квантования (QP) других блоков, например, используя блок D вместо блока C.
При предсказании вектора движения в стандарте MPEG-4 AVC совместно используют аналогичную философию генерации предсказателя вектора движения с использованием медианного вектора соседних с ним векторов движения. Кодируют разность между вектором движения и предсказателем вектора движения и передают ее в потоке битов. Для унификации способов предсказания как для вектора движения, так и для QP в одном из вариантов осуществления изобретения используют одни и те же соседние единичные элементы кодирования для прогнозирования как вектора движения, так и QP, когда блок закодирован в режиме "ИНТЕР".
Программное обеспечение "ключевая техническая зона" ("key technical area", KTA) (версия KTA2.6 программы KTA), разработанное Экспертной группой по кодированию видеоинформации (VCEG), обеспечило общую платформу для интегрирования новых усовершенствований в кодировании видеоинформации после того, как был окончательно утвержден стандарт MPEG-4 AVC. В KTA было принято предложение об использовании конкуренции векторов движения. В схеме с конкуренцией векторов движения кодер имеет набор возможных предсказателей вектора движения, которые включают в себя векторы движения блоков, соседних по пространству или по времени. Наилучший предсказатель вектора движения выбирают из набора претендентов на основании оптимизации степени искажений в зависимости от скорости передачи. Если этот набор содержит более одного претендента, то в декодер передают индекс предсказателя вектора движения из набора в явном виде. Для унификации способов предсказания как для вектора движения, так и для QP один из вариантов осуществления изобретения включает в себя использование одних и тех же соседних единичных элементов кодирования для прогнозирования как вектора движения, так и QP, когда блок закодирован в режиме "ИНТЕР". Поскольку индекс предсказателя вектора движения уже передан для конкуренции векторов движения, то отсутствует необходимость в каких-либо дополнительных непроизводительных издержках на передачу предсказателя QP.
ПЕРВЫЙ ВИДОИЗМЕНЕННЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ - РЕГУЛИРОВАНИЕ QP В ЕДИНИЧНОМ ЭЛЕМЕНТЕ ПРЕДСКАЗАНИЯ
Единичный элемент кодирования может иметь размер 128x128. Это означает наличие очень небольшого количества единичных элементов кодирования в изображении. Для точного соответствия целевой скорости передачи битов изменение QP между единичными элементами кодирования может быть большим. Одно из технических решений для сглаживания изменения QP состоит в применении регулирования QP в единичном элементе предсказания вместо единичного элемента кодирования. Разность QP необходимо передавать только тогда, когда единичный элемент предсказания не находится в режиме пропуска.
PRED
PU
PU
PRED
PRED
Переходя к рассмотрению Фиг. 8, другой приведенный в качестве примера способ кодирования параметра квантования в видеокодере обозначен, в целом, номером позиции 800. Следует понимать, что способ 800 включает в себя регулирование QP в единичном элементе предсказания. Способ 800 включает в себя блок 805 "начало", который передает управление в блок 810 ограничения цикла. Блок 810 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов предсказания, и передает управление в функциональный блок 815. Функциональный блок 815 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее закодированных единичных элементов предсказания и передает управление в функциональный блок 820. Функциональный блок 820 задает QP для каждого единичного элемента предсказания равным QP и передает управление в функциональный блок 825. Функциональный блок 825 кодирует delta_QP=QP-QP и передает управление в функциональный блок 830. Функциональный блок 830 кодирует -й единичный элемент предсказания, если -й единичный элемент предсказания не находится в режиме пропуска, и передает управление в блок 835 ограничения цикла. Блок 835 ограничения цикла завершает цикл по единичным элементам предсказания и передает управление в блок 899 "конец". Что касается функционального блока 815, то для формирования предсказателя QP могут использоваться те же самые единичные элементы предсказания, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы предсказания, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент предсказания, используемый при конкуренции векторов движения.
PRED
PU
PRED
PRED
Переходя к рассмотрению Фиг. 9, другой приведенный в качестве примера способ декодирования параметра квантования в видеодекодере обозначен, в целом, номером позиции 900. Следует понимать, что способ 900 включает в себя регулирование QP в единичном элементе предсказания. Способ 900 включает в себя блок 905 "начало", который передает управление в блок 910 ограничения цикла. Блок 910 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов предсказания, и передает управление в функциональный блок 915. Функциональный блок 915 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее декодированных единичных элементов предсказания и передает управление в функциональный блок 920. Функциональный блок 920 декодирует delta_QP и передает управление в функциональный блок 925. Функциональный блок 925 задает QP для каждого единичного элемента предсказания равным QP=delta_QP+QP и передает управление в функциональный блок 930. Функциональный блок 930 декодирует -й единичный элемент предсказания, если -й единичный элемент предсказания не находится в режиме пропуска, и передает управление в блок 935 ограничения цикла. Блок 935 ограничения цикла завершает цикл по единичным элементам предсказания и передает управление в блок 999 "конец". Что касается функционального блока 915, то для формирования предсказателя QP могут использоваться те же самые единичные элементы предсказания, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы предсказания, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент предсказания, используемый при конкуренции векторов движения.
ВТОРОЙ ВИДОИЗМЕНЕННЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ - РЕГУЛИРОВАНИЕ QP В ЕДИНИЧНОМ ЭЛЕМЕНТЕ ПРЕОБРАЗОВАНИЯ
Аналогично первому видоизмененному варианту регулирование QP может быть применено в единичном элементе преобразования. Разность QP необходимо передавать только тогда, когда в единичном элементе преобразования имеются не равные нулю коэффициенты преобразования.
PRED
TU
TU
PRED
PRED
Переходя к рассмотрению Фиг. 10, еще один приведенный в качестве примера способ кодирования параметра квантования в видеокодере обозначен, в целом, номером позиции 1000. Следует понимать, что способ 1000 включает в себя регулирование QP в единичном элементе преобразования. Способ 1000 включает в себя блок 1005 "начало", который передает управление в блок 1010 ограничения цикла. Блок 1010 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов преобразования, и передает управление в функциональный блок 1015. Функциональный блок 1015 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее закодированных единичных элементов преобразования и передает управление в функциональный блок 1020. Функциональный блок 1020 задает QP для каждого единичного элемента преобразования равным QP и передает управление в функциональный блок 1025. Функциональный блок 1025 кодирует delta_QP=QP-QP и передает управление в функциональный блок 1030. Функциональный блок 1030 кодирует -й единичный элемент преобразования, если -й единичный элемент преобразования имеет не равные нулю коэффициенты, и передает управление в блок 1035 ограничения цикла. Блок 1035 ограничения цикла завершает цикл по единичным элементам преобразования и передает управление в блок 1099 "конец". Что касается функционального блока 1015, то для формирования предсказателя QP могут использоваться те же самые единичные элементы преобразования, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы преобразования, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент преобразования, используемый при конкуренции векторов движения.
PRED
TU
PRED
PRED
Переходя к рассмотрению Фиг. 11, еще один приведенный в качестве примера способ декодирования параметра квантования в видеодекодере обозначен, в целом, номером позиции 1100. Следует понимать, что способ 1100 включает в себя регулирование QP в единичном элементе преобразования. Способ 1100 включает в себя блок 1105 "начало", который передает управление в блок 1110 ограничения цикла. Блок 1110 ограничения цикла начинает цикл с использованием переменной , принимающей значения в интервале от 1,..., до количества (#) единичных элементов преобразования, и передает управление в функциональный блок 1115. Функциональный блок 1115 формирует предсказатель QP (QP) с использованием множества параметров квантования (QP) ранее декодированных единичных элементов преобразования и передает управление в функциональный блок 1120. Функциональный блок 1120 декодирует delta_QP и передает управление в функциональный блок 1125. Функциональный блок 1125 задает QP для каждого единичного элемента преобразования равным QP=delta_QP+QP и передает управление в функциональный блок 1130. Функциональный блок 1130 декодирует -й единичный элемент преобразования, если -й единичный элемент преобразования имеет не равные нулю коэффициенты, и передает управление в блок 1135 ограничения цикла. Блок 1135 ограничения цикла завершает цикл по единичным элементам преобразования и передает управление в блок 1199 "конец". Что касается функционального блока 1115, то для формирования предсказателя QP могут использоваться те же самые единичные элементы преобразования, которые используются для предсказания вектора движения. Например, могут использоваться единичные элементы преобразования, используемые для формирования медианного вектора движения в стандарте MPEG-4 AVC, или единичный элемент преобразования, используемый при конкуренции векторов движения.
СИНТАКСИС
Используя регулирование QP в единичном элементе преобразования в качестве примера, описано то, как следует разработать синтаксис, подходящий для принципов настоящего изобретения. Для определения разности QP между QP для текущего единичного элемента преобразования и предсказателем QP используется элемент синтаксиса TU_delta_QP. Разность QP также может быть задана в единичном элементе предсказания или в единичном элементе кодирования. В таблице 1 показан приведенный в качестве примера синтаксис в единичном элементе преобразования согласно варианту осуществления настоящего изобретения.
Таблица 1
transform_unit(x0, y0, currTransformUnitSize ) {
C
Дескриптор
if(currTransformUnitSize > MinTransformUnitSize &&CurrTransformUnitSize <= MaxTransformUnitSize )
split_transform_unit_flag
3|4
u(1)|ae(v)
if(split_transform_unit_flag ) {
splitTransformUnitSize = currTransformUnitSize >> 1
x1=x0 + splitTransformUnitSize
y1=y0 + splitTransformUnitSize
transform_unit( x0, y0, splitTransformUnitSize)
3|4
if(x1<PicWidthInSamples<sub>L</sub>)
transform_unit( x1, y0, splitTransformUnitSize)
3|4
if(y1<PicHeightInSamples<sub>L</sub>)
transform_unit(x0, y1, splitTransformUnitSize)
3|4
if(x1<PicWidthInSamples<sub>L</sub> && y1<PicHeightInSamples<sub>L</sub>)
transform_unit( x1, y1, splitTransformUnitSize)
3|4
} else {
coded_block_flag
3|4
u(1)|ae(v)
if(coded_block_flag) {
TU_delta_QP
3|4
ae(v)
}
...
}
}
Семантика элемента синтаксиса TU_delta_QP, показанного в таблице 1, является следующей.
TU
PRED
TU
TU
PRED
TU_delta_QP задает значение разности QP между QP для текущего единичного элемента преобразования (QP) и предсказателем QP (QP). QP для единичного элемента преобразования (QP) получен как QP=QP+TU_delta_QP. TU_delta_QP необходим только тогда, когда в единичном элементе преобразования имеются не равные нулю коэффициенты (то есть когда флаг code_block_flag не равен нулю).
Теперь будет приведено описание некоторых из многих сопутствующих преимуществ/отличительных признаков настоящего изобретения, некоторые из которых были упомянуты выше. Например, одним преимуществом/отличительным признаком является устройство, имеющее кодер для кодирования данных об изображении, по меньшей мере, для участка изображения с использованием предсказателя параметра квантования для текущего параметра квантования, применяемого для данных об изображении, причем этот предсказатель параметра квантования определен с использованием множества параметров квантования из ранее закодированных соседних участков, при этом кодируют разность между текущим параметром квантования и предсказателем параметра квантования для ее передачи в соответствующий декодер.
Другим преимуществом/отличительным признаком является устройство, имеющее описанный выше кодер, в котором предсказатель параметра квантования получен в неявном виде на основании правила, которое является известным как кодеру, так и декодеру.
Еще одним преимуществом/отличительным признаком является устройство, имеющее описанный выше кодер, в котором предсказатель параметра квантования получен в неявном виде на основании правила, которое является известным как кодеру, так и декодеру, причем это правило предназначено, по меньшей мере, для одной из следующих операций: операции определения и операции выбора предсказателя параметра квантования в ответ, по меньшей мере, на одно из следующих условий: параметр квантования имеет минимальное значение из множества параметров квантования, параметр квантования имеет максимальное значение из множества параметров квантования, параметр квантования вычислен по срединному значению, по меньшей мере, некоторых из множества параметров квантования, и параметр квантования вычислен по среднему значению, по меньшей мере, некоторых из множества параметров квантования.
Еще одним преимуществом/отличительным признаком является устройство, имеющее описанный выше кодер, в котором предсказатель параметра квантования выбран из одного или из большего количества параметров квантования, соответствующих одному и тому же участку изображения, которые являются теми же самыми, что и используемые для предсказания вектора движения, причем ими являются один или большее количество параметров квантования из множества параметров квантования.
Кроме того, другим преимуществом/отличительным признаком является устройство, имеющее кодер в котором предсказатель параметра квантования выбран из одного или из большего количества параметров квантования, соответствующих одному и тому же участку изображения, которые являются теми же самыми, что и используемые для предсказания вектора движения, причем, как описано выше, ими являются один или большее количество параметров квантования из множества параметров квантования, при этом для определения предсказателя вектора движения использована конкуренция векторов движения.
Кроме того, еще одним преимуществом/отличительным признаком является устройство, имеющее описанный выше кодер, в котором данными об изображении является один из следующих единичных элементов: единичный элемент кодирования, единичный элемент предсказания и единичный элемент преобразования.
Еще одним преимуществом/отличительным признаком также является устройство, имеющее кодер, в котором, как описано выше, данными об изображении является один из следующих единичных элементов: единичный элемент кодирования, единичный элемент предсказания и единичный элемент преобразования, в котором данными об изображении является единичный элемент предсказания, и разность между текущим параметром квантования и предсказателем параметра квантования для ее передачи в соответствующий декодер кодируют только тогда, когда единичный элемент предсказания не находится в режиме пропуска.
Кроме того, еще одним преимуществом/отличительным признаком является устройство, имеющее описанный выше кодер, в котором данными об изображении является единичный элемент преобразования, и разность между текущим параметром квантования и предсказателем параметра квантования для ее передачи в соответствующий декодер кодируют только тогда, когда единичный элемент преобразования включает в себя не равные нулю коэффициенты.
Эти и другие признаки и преимущества настоящего изобретения могут быть легко поняты специалистом со средним уровнем компетентности в данной области техники на основании изложенной здесь идеи изобретения. Следует понимать, что идея изобретения, изложенная в принципах из настоящего изобретения, может быть реализована аппаратными средствами различных типов, посредством программного обеспечения, аппаратно-реализованного программного обеспечения, специализированных процессоров или в виде комбинаций этих средств.
Наиболее предпочтительно, чтобы идея изобретения, изложенная в принципах настоящего изобретения, была реализована как сочетание аппаратных средств и программного обеспечения. Кроме того, программное обеспечение может быть реализовано как прикладная программа, материально реализованная в запоминающем устройстве для программ. Эта прикладная программа может быть загружена в компьютер, содержащий любую подходящую архитектуру, и выполнена им. Предпочтительно этот компьютер реализован на компьютерной платформе, имеющей такие аппаратные средства, как, например, один или большее количество центральных процессоров ("ЦП"), оперативное запоминающее устройство ("ОЗУ") и интерфейсы ввода/вывода ("I/O"). Эта компьютерная платформа также может включать в себя операционную систему и микрокомандный код. Различные описанные здесь способы и функции могут являться либо частью микрокомандного кода, либо частью прикладной программы, либо любой их комбинацией, которая может быть выполнена центральным процессором (ЦП). Кроме того, с компьютерной платформой могут быть соединены различные другие периферийные устройства, такие как, например, дополнительное запоминающее устройство для данных и печатающее устройство.
Кроме того, следует подразумевать следующее: поскольку некоторые из компонентов, являющихся составными частями системы, и способов, которые изображены на сопроводительных чертежах, предпочтительно реализованы в виде программного обеспечения, фактические соединения между компонентами системы или функциональными блоками способа могут отличаться в зависимости от того, каким образом запрограммированы принципы из настоящего изобретения. Учитывая изложенную здесь идею изобретения, специалист со средним уровнем компетентности в соответствующей области техники будет способен предполагать возможность этих и аналогичных вариантов реализации или конфигураций принципов из настоящего изобретения.
Несмотря на то что приведенные в качестве иллюстративного примера варианты осуществления изобретения были описаны здесь со ссылкой на сопроводительные чертежи, следует понимать, что принципы из настоящего изобретения не ограничены в точности этими вариантами его осуществления и что специалистом со средним уровнем компетентности в данной области техники могут быть придуманы различные его изменения и модификации, не выходя за пределы объема или сущности принципов из настоящего изобретения. Подразумевают, что все такие изменения и модификации не выходят за пределы объема настоящего изобретения, изложенного в прилагаемой формуле изобретения.