УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ Российский патент 2012 года по МПК H04N7/32 

Описание патента на изобретение RU2471306C2

Область техники, к которой относится изобретение

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

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

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

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

С другой стороны, в качестве способа дополнения размера генерируемого кода до целевого размера кода, заданного для одной картинки, например, общеизвестен этап 2 ТМ5 (тестовой модели 5). Это такой метод, в котором размер кода, выделенного для картинки, распределенной по макроблокам (МБ) (MB), принимается в качестве целевого размера кода для макроблоков, и управление с обратной связью применяется в картинке.

Кроме того, при обработке кодирования способа избыточного сжатия, такого как MPEG или тому подобное, кодирующее изображения устройство выполняет обработку квантования после осуществления ортогонального преобразования, такого как дискретное косинусное преобразование (ДКП) (DCT) или тому подобное, благодаря чему выполняется обработка для снижения объема информации. Затем кодирующее изображения устройство управляет значением этого квантования для выполнения управления размером кода. В то же время поддерживается монотонно снижающееся соотношение между параметрами квантования и размером генерируемого кода. Поэтому кодирующее изображения устройство вычисляет размер кода со значением квантования подходящего интервала и подвергает предсказанное значение размера кода, расположенное в промежуточном положении, линейному интерполированию или тому подобному, за счет чего размер генерируемого кода можно предсказать (бинарный поиск или тому подобное для выполнения в видеомагнитофоне, таком как цифровое видео или тому подобное).

Этот способ можно применять не только к способу кодирования, использующему фиксированную таблицу, такому как MPEG2 или тому подобное, но также к способу контекстного адаптивного кодирования, используемому для AVC или тому подобного.

Патентный документ 1: патент Японии №3358620.

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

Например, при способе на этапе 2 ТМ5 при кодирующем изображения устройстве в случае, когда шаг квантования участке вплоть до появления обратной связи слишком большой, качество изображения этой части будет ухудшаться по сравнению с другими участками, а в случае, когда величина квантования слишком мала, размер кода избыточно используется в этом участке, что может повлиять на другие участки.

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

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

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

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

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

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

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

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

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

Фиг.1 представляет собой структурную схему кодирующего изображения устройства согласно первому варианту осуществления настоящего изобретения.

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

Фиг.3 является блок-схемой алгоритма для дальнейшего описания обработки переключения адаптивной Q матрицы.

Фиг.4 является концептуальной диаграммой для описания того, что выполняется коррекция QP с дискретными значениями, и размеры кодов вычисляются путем интерполирования в отношении QP между ними.

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

Фиг.6 является блок-схемой алгоритма для описания процедуры обработки в отношении обработки определения базового QP с управлением с обратной связью.

Подробное описание изобретения

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

1. Первый вариант осуществления (размышление о размере генерируемого кода с помощью дискретно выбранных параметров квантования)

2. Второй вариант осуществления (управление с обратной связью)

3. Прочие варианты осуществления

1. Первый вариант осуществления

1-1. Признаки настоящего изобретения

Кодирующее изображения устройство 100 и способ кодирования изображений согласно данному варианту осуществления имеют такие признаки, как описанные ниже.

Кодирующее изображения устройство 100 применяет схему сжатия изображения, использующую арифметическое кодирование, представленное стандартом H.264/AVC (усовершенствованное кодирование видеосигнала; стандарт усовершенствованного кодирования движущихся изображений со сжатием). Кодирующее изображения устройство 100 объединяет параллельное предварительное кодирование (предкодирование) и последовательное предкодирование. Таким образом, кодирующее изображения устройство 100 выполняет предсказание с великолепной точностью при сокращении размера схем и возрастания запаздывания (времени задержки).

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

То есть исходно, в случае выполнения параллельного предкодирования, хотя необходимо обеспечить все элементы обработки параллельно, в кодирующем изображения устройстве 100 согласно данному варианту осуществления правильно определяется элемент обработки, который можно использовать совместно без влияния на точность, и схема, относящаяся к этому элементу обработки, используется совместно. Тем самым увеличение в размере первого и второго предкодирующих блоков 1 и 2 и запаздывание (время задержки) подавляются.

В первом предкодирующем блоке 1 параллельное предкодирование, при котором точность понижается, а размер схем и нагрузка обработки подавляются, выполняется по широкому диапазону параметров (QP) квантования, и параметр QP квантования для реализации целевого размера кода оценивается приближенно. Во втором предкодирующем блоке 2 параллельное предкодирование, от которого точность увеличивается, выполняется по узкому диапазону с увеличенной точностью, и определяется базовый параметр QPMB квантования, используемый в основном кодирующем блоке 3. Как описано выше, кодирующее изображения устройство 100 снижает нагрузку при обработке, увеличивая точность кодирования изображений. Далее, ошибка вследствие упрощения предкодирования имеет соотношение с битовой скоростью и параметром QP квантования, и, соответственно, статистическая модель, как будет подробно описано позже, создается заранее, коррекция ошибки выполняется на основе битовой скорости и параметра QP квантования.

Фиг.1 иллюстрирует и описывает конфигурацию кодирующего изображения устройства 100 согласно варианту осуществления настоящего изобретения.

Данное кодирующее изображения устройство 100 включает в себя первый предкодирующий блок 1, второй предкодирующий блок 2, основной кодирующий блок 3, блок 4 управления размером кода и буферы 5 и 6 задержки.

Первый предкодирующий блок 1 представляет собой модуль для выполнения первого предкодирования и включает в себя блок 11 определения режима внутриэкранного предсказания, блок 12 обработки внутриэкранного предсказания, блок 13 дискретного косинусного преобразования (ДКП) (DCT), блок 14 квантования, блок 15 вычисления длины статистического кода и блок 16 вычисления активности.

Второй предкодирующий блок 2 представляет собой модуль для выполнения второго предкодирования и включает в себя блок 21 обработки внутриэкранного предсказания, блок 22 ДКП, блок 23 квантования, блок 24 вычисления длины статистического кода, буфер 25, блок 26 обратного ДКП (ОДКП) (IDCT) и блок 27 обратного квантования.

Основной кодирующий блок 3 представляет собой модуль для выполнения основного кодирования и включает в себя блок 31 обработки внутриэкранного предсказания, блок 32 ДКП, блок 33 квантования, блок 34 статистического кодирования, буфер 35, блок 36 ОДКП и блок 37 обратного квантования.

Блок 4 управления размером кода представляет собой модуль для выполнения управления размером кода.

1-2. Предсказание параметра квантования и матриц квантования

1-2-1. Вычисление размера генерируемого кода низкой точности

Кодирующее изображения устройство 100 адаптивно выбирает и использует, например, три матрицы квантования «Q матрица» в соответствии со сложностью кодирования (подробное описание будет дано позже). Кодирующее изображения устройство 100 устанавливает одну матрицу квантования «Q матрица» посредством простой обработки первым предкодирующим блоком 1 в отношении параметров QP квантования в диапазоне, который может быть принят устанавливаемой матрицей квантования «Q матрица». Здесь и далее этот размер генерируемого кода, оцененный как результаты работы первого предкодирующего блока 1, будут называться размером генерируемого кода низкой точности. Кодирующее изображения устройство 100 выполняет такую же обработку в отношении всех матриц квантования «Q матрица» и вычисляет размер генерируемого кода низкой точности при смене матрицы квантования «Q матрица» и параметра QP квантования. В кодирующем изображения устройстве 100 параметр QP квантования и матрица квантования «Q матрица», при которых размер генерируемого кода низкой точности является наиболее близким к целевому размеру кода, будут устанавливаться в качестве предсказанных параметра QPd квантования, используемого как средний параметр квантования «БазовыйQР» для картинки на следующем этапе (вторым предкодирующим блоком 2), и матрицы квантования «Q матрица» для картинки, используемой на следующем этапе (здесь и далее называемой предсказанной матрицей квантования «Q матрицаD»).

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

На практике, входное изображение 91 сначала вводится в блок 11 определения режима внутриэкранного предсказания в первом предкодирующем блоке 1. Блок 11 определения режима внутриэкранного предсказания генерирует данные разностного изображения во всех режимах внутриэкранного предсказания на основе входного изображения 91, а также определяет режим внутриэкранного предсказания на основе предсказаний размера генерируемого кода в данных разностного изображения. Предсказанный режим (предсказанное направление) определяется из девяти предсказанных режимов в приращениях из минимум 4×4 пикселов.

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

Затем, блок 12 обработки внутриэкранного предсказания вычисляет разностное изображение между предсказанным изображением и входным изображением 91 для генерирования данных разностного изображения. Предсказанное изображение, используемое здесь, создается из входного изображения 91, чтобы сократить обработку. Таким образом, первый предкодирующий блок 1 выполняет обработку внутриэкранного предсказания, за счет чего блок обратного квантования, блок ОДКП и буфер могут быть сокращены и размер схем можно сократить.

При выполнении обработки ДКП с целочисленной точностью на данных разностного изображения для генерирования коэффициентов ДКП блок 13 ДКП передает их в блок 14 квантования. При выполнении квантования на коэффициентах ДКП для генерирования квантованных коэффициентов блок 14 квантования передает их в блок 15 вычисления длины статистического кода. Блок 15 вычисления длины статистического кода применяет способ адаптивного к контексту кодирования переменной длины (CAVLC) в отношении квантованных коэффициентов. Согласно этому кодированию CAVLC можно адаптивно выбрать высокоэффективную схему кодирования в соответствии с окружающими условиями.

Как описано выше, один из признаков первого предкодирования состоит в том, что кодирование CAVLC используется для вычисления размера кодов, даже когда при основном кодировании в качестве схемы статистического кодирования используется адаптивное к контексту двоичное арифметическое кодирование (САВАС). Отметим, что кодирование САВАС является адаптивным к контексту двоичным арифметическим кодированием.

Здесь, блок 14 квантования включает в себя блоки 14-1, …, 14-n (n=1, 2, 3, …) квантования, которые включены параллельно, а блок 15 вычисления длины статистического кода включает в себя блоки 15-1, …, 15-n (n=1, 2, 3,….) вычисления длины статистического кода, которые включены параллельно. Значение n установлено, например, равным 15. Блок 14 квантования устанавливает в каждом блоке 14-1, …, 14-n квантования выбранные параметры QP1 квантования, соответствующие устанавливаемой матрице квантования «Q матрица», из параметров QP квантования между 0 и 51. Эти выбранные параметры QP1 квантования дискретно выбираются на произвольном интервале из диапазона параметров QP квантования, которые могут быть приняты матрицей квантования «Q матрица». Отметим, что выбранные параметры QP1 квантования можно выбрать на некотором интервале, например, или же можно выбрать на интервале, который изменяется со значением параметра QP квантования. При данной конфигурации первый предкодирующий блок 1 выполняет квантование и вычисление длины кода параллельно по отношению ко множеству параметров QP квантования, число которых является таким же, как для описанного выше параллельного числа, и выдает каждый размер генерируемого кода в блок 4 управления размером кода.

То есть первый предкодирующий блок 1 выполняет первое предкодирование по широкому диапазону параметров QP квантования посредством параллельного предкодирования, вследствие чего сокращается размер схем, связанный с блоком 14 квантования и блоком 15 вычисления длины статистического кода, благодаря чему вычисляются размер генерируемого кода в отношении широкого диапазона параметров QP квантования.

Здесь, блок 16 вычисления активности вычисляет активность параллельно с определением режима внутриэкранного предсказания блоком 11 определения режима внутриэкранного предсказания и группирует каждый макроблок (MB) с помощью этой активности. То есть, например, в предположении случая, когда группируются NumOfActivityGroup, блок 16 вычисления активности сравнивает значение активности с порогами ActivityThreshold[0] - ActivityThreshold[NumOfActivityGroup-2], благодаря чему определяется группа активности.

Отметим, что параметр QP квантования, реально используемый в процессе квантования, получают добавлением сдвига (AdaptQPDelta), который зависит от группы активности, к среднему параметру QP квантования (БазовыйQР) для картинки.

MB_QP=БазовыйQР+AdaptQpDelta[группа_активности]

Например, если номер группы активности NumOfActivityGroup равен 13, каждое значение сдвига AdaptQpDelta можно определить как:

AdaptQpDelta[13]={-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6}.

Номер группы активности (ActivityGroup), определенный в отношении каждого MB, вводится в блок 14 квантования. Блок 14 квантования вычисляет адаптивный параметр QPt квантования добавлением сдвига согласно группе активности к каждому из выбранных параметров QP1 квантования. Блок 14 квантования выполняет обработку квантования на коэффициентах ДКП на основе адаптивного параметра QPt квантования.

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

1-2-2. Коррекция ошибки в размере генерируемых кодов

Блок 4 управления размером кода выполняет коррекцию в отношении размера генерируемого кода, вычисленного в первом предкодирующем блоке 1.

Упомянутая здесь коррекция выполняется с учетом преимущества в том, что ошибка имеет некоторую степень тенденции.

Первая причина ошибки обусловлена тем, что входное изображение 91 используется для обработки внутриэкранного предсказания вместо локально декодированного (Local Decode) экрана. В этом случае не происходит искажения вследствие кодека на экране, используемом для внутриэкранного предсказания, и, соответственно, имеется тенденция, при которой эффективность кодирования превосходит эффективность кодирования при реальном кодировании, и генерируется малый размер кода. Размер этой ошибки зависит от размера искажения, и, соответственно, имеется тенденция, при которой при соотношении между размером генерируемого кода и ошибкой, чем меньше битовая скорость (Bit rate), тем больше ошибка. Помимо того, при соотношении между параметром QP квантования и ошибкой имеется тенденция, при которой чем больше параметр QP квантования, тем больше ошибка. Соответственно, статистические данные по размеру ошибки готовятся заранее и определяются как функция от битовой скорости «r» и параметра QP квантования «q».

Конкретно, блок 4 управления размером кода создает каждую из средней модели ошибки согласно битовой скорости и средней модели ошибки согласно параметру QP квантования заранее в отношении размера генерируемого кода, когда кодирование осуществляется посредством CAVLC. Эта модель ошибки сохраняется заранее в качестве, например, численного выражения или таблицы, соответствующих каждому из параметра QP квантования и битовой скорости. Исходя из параметра QP квантования и битовой скорости блок 4 управления размером кода вычисляет величины коррекции C_rate и C_qp соответственно, представляющие подлежащую коррекции ошибку на основе соответствующих моделей ошибки. Из этих величин коррекции C_rate и C_qp, соответствующих параметру QP квантования и битовой скорости, блок 4 управления размером кода выбирает меньшее по значению в качестве величины коррекции Cv в соответствии с нижеследующим уравнением.

Величина коррекции Cv=min(C_rate, C_qp)

Таким образом, величина коррекции ошибки увеличивается чрезмерно, и, соответственно, скорректированный размер генерируемого кода предотвращается от увеличения по сравнению с размером генерируемого кода высокой точности, вычисленного во втором предкодирующем блоке 2. Отметим, что величины коррекции C_rate и C_qp каждая указывают отношение (%) величины коррекции для каждого из размера генерируемого кода (размер кода предкодирования), вычисленного первым предкодирующим блоком 1.

Блок 4 управления размером кода перемножает каждый из размера генерируемого кода, вычисленных первым предкодирующим блоком 1, на величину коррекции Cv в соответствии с нижеследующим уравнением, благодаря чему вычисляется величина коррекции в отношении размера генерируемого кода (здесь и далее она называется размером кода коррекции CAVLC).

Размер кода коррекции CAVLC = Размер кода предкодирования × Cv.

Блок 4 управления размером кода добавляет размер кода коррекции CAVLC к размеру генерируемого кода, благодаря чему вычисляется размер генерируемого кода низкой точности в отношении CAVLC.

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

Выявлено, что ошибка вследствие САВАС изменяется в обратную сторону по отношению к параметру QP квантования и битовой скорости, и величина этого изменения мала по сравнению с ошибкой, вызванной кодированием согласно размеру кода CAVLC.

Поэтому величина коррекции по отношению к САВАС (здесь и далее называемая величиной коррекции САВАС) определяется как функция от битовой скорости «r» и параметра QP квантования «q». В то же время величина Cb коррекции вычисляется по следующему уравнению.

Величина коррекции Cb=min (r, q).

Блок 4 управления размером кода перемножает каждый из размера генерируемого кода (размеры коды предкодирования), вычисленного первым предкодирующим блоком 1, на величину коррекции Cv в соответствии с приведенным ниже уравнением, благодаря чему вычисляется величина коррекции по отношению к размеру генерируемого кода (здесь и далее называемого размером кода коррекции САВАС).

Размер кода коррекции САВАС = Размер кода предкодирования × Cb.

Блок 4 управления размером кода добавляет размер кода коррекции САВАС к размеру генерируемого кода низкой точности, благодаря чему вычисляется размер генерируемого кода низкой точности в отношении САВАС. Как показано на фиг.2, блок 4 управления размером кода может вычислять каждое из величины коррекции САВАС и размера кода коррекции САВАС (указанный черными кружками) в отношении каждого из размера генерируемого кода (указанных квадратами), вычисленных первым предкодирующим блоком 1.

Затем блок 4 управления размером кода выполняет процесс оценивания для параметра квантования (QP). Как описано выше, первый предкодирующий блок 1 получает размер генерируемого кода за счет выполнения предкодирования с использованием выбранного параметра QP1 квантования с дискретным значением на произвольном интервале. Блок 4 управления размером кода вычисляет размер генерируемого кода путем интерполирования (указанного белыми кружками) в отношении параметров QP квантования иных, нежели выбранные параметры QP1 квантования, в диапазоне параметров QP квантования, которые могут быть приняты матрицей квантования «Q матрица». В качестве процесса интерполирования можно использовать обычный процесс интерполирования, такой как линейная интерполяция или тому подобное.

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

Таким образом, блок 4 управления размером кода вычисляет размер генерируемого кода низкой точности в отношении CAVLC путем коррекции размера генерируемого кода, вычисленного первым предкодирующим блоком 1, для ошибки в размере генерируемого кода, генерируемого в соответствии с упрощенной обработкой в первом предкодирующем блоке 1, касающейся размера генерируемого кода первым предкодирующим блоком 1. Тем самым блок 4 управления размером кода может улучшать точность предсказания размера генерируемого кода за счет обработки упрощенного кодирования. Путем использования размера генерируемого кода в отношении CAVLC блок 4 управления размером кода использует размер генерируемого кода низкой точности в отношении САВАС для вычисления размера генерируемого кода низкой точности, который является предсказанным размером для размера генерируемого кода вследствие САВАС. Таким образом, блок 4 управления размером кода может оценивать размер генерируемого кода низкой точности вследствие САВАС без выполнения САВАС, из-за которого обработка усложняется. Блок 4 управления размером кода предсказывает размер генерируемого кода в отношении параметров QP квантования иных, нежели выбранные параметры QP1 квантования, посредством процесса интерполирования из размера генерируемого кода, предсказанного выбранными параметрами QP1 квантования, которые выбраны дискретно. Тем самым блоку 4 управления размером кода не нужно брать на себя труд по кодированию входного изображения 91 за счет использования всех параметров QP квантования, что дает возможность упростить конфигурацию первого предкодирующего блока 1.

1-2-3. Определение предсказанной матрицы квантования

Как описано выше, размер генерируемого кода низкой точности вычисляется в отношении всех параметров QP квантования, которые могут быть приняты матрицей квантования «Q матрица». Блок 4 управления размером кода сменяет матрицу квантования «Q матрица» в соответствии со сложностью кодирования и выбирает на основе размера генерируемого кода, соответствующего измененной матрице квантования «Q матрица», тот параметр QP квантования, который является ближайшим к целевому размеру кода, в качестве базового параметра QPMB квантования.

Блок 4 управления размером кода выбирает параметр QP квантования, используемый в то время, когда получается размер генерируемого кода низкой точности, ближайший к целевому размеру кода, в качестве ближайшего параметра QPn квантования для каждой матрицы квантования «Q матрица». Блок 4 управления размером кода использует ближайший параметр QPn квантования, выбранный для каждой из матриц квантования «Q матрица», например, в качестве сложности кодирования. Понятно, что можно также использовать и иной показатель, такой как активность или тому подобное. Здесь, номер матриц квантования «Q матрица», подлежащих переключению для использования, принимается как NumOfMatrixId, где Id (идентификаторы) назначается в нисходящем порядке из матрицы квантования «Q матрица» с легким градиентом, а максимальный параметр QP в диапазоне, который может быть принят каждой из матриц квантования «Q матрица», принимается как QMatrixThreshold[Id].

Блок 4 управления размером кода сравнивает ближайший параметр QPn квантования и QMatrixThreshold, начиная от матрицы квантования «Q матрица» с малым значением Id. Блок 4 управления размером кода определяет матрицу квантования «Q матрица» с наименьшим Id в качестве предсказанной матрицы квантования «Q матрицаD» среди матриц квантования «Q матрица» с соседними параметрами QPn квантования, меньшими, чем QMatrixThreshold[Id]. Блок 4 управления размером кода определяет ближайший параметр QPn квантования в предсказанной матрице квантования «Q матрица» в качестве предсказанного параметра QPd.

То есть блок 4 управления размером кода определяет матрицу квантования «Q матрица», имеющую наименьший градиент, в качестве предсказанной матрицы квантования «Q матрицаD» среди матриц квантования «Q матрица», которые могут принимать параметры QP квантования, у которых размер генерируемого кода низкой точности близок к целевому размеру кода. Эта предсказанная матрица квантования «Q матрицаD» используется также для основного кодирования основным кодирующим блоком 3. Блок 4 управления размером кода может использовать матрицу квантования «Q матрица», имеющую наименьший градиент среди тех, которые отвечают условию на размер генерируемого кода низкой точности, посредством чего ухудшение в качестве изображения можно предотвратить насколько возможно.

Отметим, что блок 4 управления размером кода управляет первым предкодирующим блоком 1 для вычисления по порядку от матрицы квантования «Q матрица» с малым значением Id размера генерируемого кода низкой точности в отношении выбранных параметров QP1 квантования в диапазоне, который может быть принят матрицей квантования «Q матрица». Затем, в случае выявления матрицы квантования «Q матрица» с ближайшим параметром QPn квантования, меньшим, нежели QMatrixThreshold[Id], блок 4 управления размером кода определяет эти матрицу квантования «Q матрица» и ближайший параметр QPn квантования в качестве предсказанной матрицы квантования «Q матрицаD» и предсказанного параметра QPd квантования. В то же время блок 4 управления размером кода управляет первым предкодирующим блоком 1 для запуска обработки следующей картинки. То есть блок 4 управления размером кода управляет первым предкодирующим блоком 1, чтобы не вычислять размер генерируемого кода низкой точности для матрицы квантования «Q матрица» со следующим Id в отношении обрабатываемой картинки. Таким образом, блок 4 управления размером кода может сократить время обработки, необходимое для определения предсказанного параметра QPd квантования и предсказанной матрицы квантования «Q матрицаD».

Таким образом, блок 4 управления размером кода выбирает среди матриц квантования «Q матрица», которые могут принимать параметры QP квантования, у которых размер генерируемого кода низкой точности приближается к целевому размеру кода, матрицу квантования «Q матрица» с наименьшим градиентом в качестве предсказанной матрицы квантования «Q матрицаD», чтобы предотвратить ухудшение качества изображения. Блок 4 управления размером кода выбирает параметр QP квантования в предсказанной матрице квантования «Q матрицаD», с которым размер генерируемого кода низкой точности становится ближайшим к целевому размеру кода, в качестве предсказанного параметра QPd квантования. Тем самым блок 4 управления размером кода может выбирать в качестве предсказанного параметра QPd квантования тот параметр QP квантования, с которым размер генерируемого кода низкой точности становится ближайшим к целевому размеру кода, при адаптивной смене матриц квантования «Q матрица» таким образом, чтобы минимизировать ухудшение в качестве изображения.

1-3. Определение базового параметра квантования

Второй предкодирующий блок 2 фактически выполняет кодирование аналогично кодеру 3 путем использования предсказанного параметра QPd квантования и предсказанной матрицы квантования «Q матрицаD», благодаря чему вычисляются размер генерируемого кода высокой точности с высокой точностью. Здесь и далее размер генерируемого кода, вычисленный вторым предкодирующим блоком 2, будет называться размером генерируемого кода высокой точности. В это же время второй предкодирующий блок 2 вычисляет размер генерируемого кода высокой точности за счет использования не только предсказанного параметра QPd квантования, но также параметров QP квантования, предшествующего предсказанному параметру QPd квантования и следующего за ним, и предсказывает размер генерируемого кода высокой точности в соседнем от предсказанного параметра QPd квантования за счет использования скорости их флюктуации.

Блок 4 управления размером кода подает предсказанный параметр QPd квантования, предсказанную матрицу квантования «Q матрицаD» и группу активности каждого макроблока (MB) во второй предкодирующий блок 2. Второй предкодирующий блок 2 выполняет второе предкодирование на основе этих значений.

Во втором предкодирующем блоке 2 входное изображение 91 вводится в блок 21 обработки внутриэкранного предсказания после прохождения обработки задержки через буфер 5 задержки. Блок 21 обработки внутриэкранного предсказания вычисляет разность между предсказанным изображением и входным изображением 91 для генерирования данных разностного изображения. Затем, блок 22 ДКП выполняет обработку ДКП на данных разностного изображения для генерирования коэффициентов ДКП. Блок 23 квантования выполняет обработку квантования на коэффициентах ДКП для генерирования квантованных коэффициентов. Блок 24 вычисления длины статистического кода подвергает квантованные коэффициенты статистическому кодированию с помощью CAVLC или САВАС, благодаря чему вычисляется размер генерируемого кода высокой точности.

Отметим, что в процессе обработки во втором предкодирующем блоке 2 блок 23 квантования передает квантованные коэффициенты в блок 27 обратного квантования. Блок 27 обратного квантования применяет обратное квантование к квантованным коэффициентам для воспроизведения коэффициентов ДКП. Затем, блок 26 ОДКП подвергает коэффициенты ДКП преобразованию ОДКП, генерируя локально декодированное изображение, и сохраняет это локально декодированное изображение в буфере 25.

Здесь, блок 23 квантования включает в себя три ступени блоков 23-1, 23-2 и 23-3 квантования в данном примере. Блок 24 вычисления длины статистического кода включает в себя три ступени блоков 24-1, 24-2 и 24-3 вычисления длины статистического кода в данном примере. Причина, по которой число ступеней равно лишь трем, состоит в том, что параметр QP квантования уже грубо оценен первым предкодированием по широкому диапазону.

При этой конфигурации блок 23 квантования и блок 24 вычисления длины статистического кода выполняют обработку параллельно, чтобы получить размер генерируемого кода высокой точности с предсказанным параметром QPd квантования и параметрами квантования, предшествующим предсказанному параметру QPd квантования и следующим за ним. В это же время блок 24 вычисления длины статистического кода выбирает тот же самый способ, что и способ статистического кодирования для основного кодирования основным кодирующим блоком 3, из любого из CAVLC или САВАС.

Вслед за этим, блок 4 управления размером кода определяет базовый параметр QPMB квантования для картинки, используемой в основном кодировании, из размера генерируемого кода высокой точности, полученного при втором предкодировании. Затем блок 4 управления размером кода передает информацию на квантование (такую как «Q матрица» и QP для каждого МБ) из этого определенного базового параметра QPMB квантования для картинки, предсказанной матрицы квантования «Q матрицаD» и группы активности каждого МБ в основной кодирующий блок 3.

Конкретнее, в случае когда целевой размер кода оказывается между размером генерируемого кода высокой точности, полученным вторым предкодированием, то есть, если Генерированные_биты (QP_предкод1+1)≤Целевые_биты ≤

≤Генерированные биты (QP_предкод1-1),

то параметр QP квантования, который является ближайшим к целевому размеру кода, выбирается в качестве базового параметра QPMB квантования.

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

Сначала, когда из параметра QP квантования вычитается «1», величина РазнОтнош_1, показывающая, на сколько процентов изменяется размер генерируемого кода высокой точности, находится, как указано ниже, из результатов второго предкодирования 2. Отметим, что величина Генерир_биты показывает размер генерируемого кода во втором предкодировании 2, QP_предкод1 показывает предсказанный параметр QPd квантования, а величина QP_предкод1-1 показывает параметр QP квантования, который меньше, чем предсказанный параметр QPd квантования, на «1».

РазнОтнош_1=(Генерир_биты(QP_предкод1-1)-Генерир_биты(QP_предкод1))/(Генерир_биты(QP_предкод1)).

Когда к параметру QP квантования добавляется «1», величина РазнОтнош_2, показывающая, на сколько процентов изменяется размер генерируемого кода высокой точности, находится, как указано ниже, из результатов второго предкодирования 2. Величина QP_предкод1+1 показывает параметр QP квантования, который больше, чем предсказанный параметр QPd квантования, на «1».

РазнОтнош_1=(Генерир_биты(QP_предкод1)-Генерир_биты(QP_предкод1+1))/(Генерир_биты(QP_предкод1+1)).

Скорость изменения РазнОтнош в размере генерируемого кода высокой точности, близкую к предсказанному параметру QPd квантования, находят следующим образом.

РазнОтнош=(РазнОтнош_1+РазнОтнош_2)/2.

То есть РазнОтнош вычисляется как среднее от изменений в размере генерируемого кода, когда параметр QP квантования изменяется на «1» в каждом из положительного и отрицательного направлений от предсказанного параметра QРв квантования.

Полагая, что ДельтаQP принимается как абсолютное значение разности между параметром QP квантования, при котором размер генерируемого кода высокой точности становится ближайшим к целевому размеру кода, а предсказанный параметр QPd (QP_предкод1) квантования, когда параметр QP квантования, соответствующий размеру генерируемого кода высокой точности, ближайшему к целевому размеру кода, меньше, чем параметр QP (QP_предкод1-1) квантования, который меньше чем, предсказанный параметр QPd квантования на 1, размер генерируемого кода высокой точности (Генерир_биты(QP)) для параметра QP квантования, при котором размер генерируемого кода высокой точности становится ближайшим к целевому размеру кода, вычисляется следующим образом.

Генерир_биты(QP)=Генерир_биты(QP_предкод1-1)×(1,0+РазнОтнош)^(ДельтаQP-1)

Когда параметр QP квантования, соответствующий размеру генерируемого кода высокой точности, ближайшему к целевому размеру кода, больше, чем параметр QP квантования (QP_предкод1+1), который больше, чем предсказанный параметр QPd квантования на 1, размер генерируемого кода высокой точности (Генерир_биты(QP)) для параметра QP квантования, при котором размер генерируемого кода высокой точности становится ближайшим к целевому размеру кода, вычисляется следующим образом.

Генерир_биты(QP)=Генерир_биты(QP_предкод1+1)×(1,0-РазнОтнош)^(ДельтаQP-1)

То есть блок 4 управления размером кода увеличивает или уменьшает размер генерируемого кода высокой точности во время использования параметров QP квантования, предшествующего к предсказанному параметру QPd квантования и следующего за ним, на размер кода согласно скорости изменения, когда значение параметра QP квантования изменяется на «1» относительно предсказанного параметра QPd квантования в качестве середины. Блок 4 управления размером кода может вычислять с высокой точностью размер генерируемого кода высокой точности, когда используются параметры QP квантования, ближайшие к предсказанному параметру QPd квантования.

Как описано выше, блок 4 управления размером кода выбирает параметр QP квантования, ближайший к целевому размеру кода, в качестве базового параметра QPMB квантования для использования в качестве среднего параметра квантования (БазовыйQP) при основном кодировании.

Как описано выше, второй предкодирующий блок 2 выполняет предкодирование с предсказанным параметром QPd квантования (QP_предкод1), оцененным первым предкодирующим блоком 1, параметром QP квантования (QP_предкод1+1), большим на 1, и параметром QP квантования (QP_предкод1-1), меньшим на 1. Здесь, для сокращения размера схем, как описано выше, запараллелены только блок 23 квантования и блок 24 вычисления длины статистического кода, а прочая обработка используется совместно.

В то же время, локальное декодирование изображения, используемое при обработке внутриэкранного предсказания, представляет собой данные, квантованные с предсказанным параметром QPd квантования (QP_предкод1), оцененным на основе результатов первом в предкодирующем блоке 1. То есть данные, подлежащие обработке при обратном квантовании и ОДКП, представляют собой квантованный выход предсказанного параметра QPd квантования (QP_предкод1). Это означает, что входы для обработки внутриэкранного предсказания при предкодировании с помощью параметров QP квантования (ОР_предкод1+1) и (QP_предкод1-1), предшествующего предсказанному параметру QPd квантования и следующего за ним, не являются локально кодированными изображениями самих этих параметров квантования, но заменяются локально декодированным изображением предсказанного параметра QPd квантования (QP_предкод1).

Таким образом, за счет предсказания размера генерируемого кода низкой точности на основе результатов в первом предкодирующем блоке 1, блок 4 управления размером кода вычисляет размер генерируемого кода высокой точности посредством такого же кодирования, что и основное кодирование согласно предсказанному параметру QPd квантования, для которого имеется чрезвычайно высокая возможность того, что размер генерируемого кода высокой точности станет ближайшим к целевому размеру кода, и с предшествующим и последующим параметрами QP квантования. Тем самым блок 4 управления размером кода может практически точно вычислять размер генерируемого кода высокой точности, когда используются предсказанный параметр QPd квантования и его предшествующий и последующий параметры QP квантования. Далее, с настоящим изобретением отмечено, что скорость изменения размера генерируемого кода высокой точности, сопровождающая смену параметра QP квантования, практически постоянна в узких пределах. Блок 4 управления размером кода вычисляет размер генерируемого кода высокой точности, когда используются параметры QP квантования, ближайшие к предсказанному параметру QPd квантования, на основе предсказанного параметра QPd квантования и скорости изменения размера генерируемого кода высокой точности с его предшествующим и последующим параметрами QP квантования. Таким образом, блок 4 управления размером кода может практически точно вычислять размер генерируемого кода высокой точности также для параметров QP квантования по соседству с предсказанным параметром QPd квантования.

1-4. Основное кодирование

Основной кодирующий блок 3 выполняет основное предкодирование за счет использования базового параметра QPMB квантования, полученного на основе результатов работы второго предкодирующего блока 2, а также предсказанной матрицы квантования «Q матрица», полученной на основе результатов работы первого предкодирующего блока 1, группы активности, режима внутриэкранного предсказания и тому подобного. Конкретно, в основном кодирующем блоке 3 при приеме входного изображения 91, которое подверглось обработке задержки посредством буфера 6 задержки, в блоке 31 обработки внутриэкранного предсказания данные разностного изображения между предсказанным изображением и входным изображением 91 вычисляются в режиме внутриэкранного предсказания, найденного во время первого предкодирования. Блок 32 ДКП выполняет процесс ДКП, а блок 33 квантования выполняет квантование коэффициентов ДКП. Выход (квантованные коэффициенты) блока 33 квантования передается также в блок 37 обратного квантования. Блок 37 обратного квантования применяет обратное квантование к квантованным коэффициентам для воспроизведения коэффициентов ДКП. Затем блок 36 ОДКП подвергает коэффициенты ДКП преобразованию ОДКП для генерирования предсказанного изображения и сохраняет это предсказанное изображение в буфер 35.

Таким образом, статистическое кодирование выполняется блоком 34 статистического кодирования после прохождения ДКП посредством блока 32 ДКП и квантования коэффициентов ДКП посредством блока 33 ДКП, как описано выше, и выводится выходной поток 92, установленный на целевой размер кода.

1-5. Заключение

Таким образом, кодирующее изображения устройство 100 согласно настоящему варианту осуществления при первом предкодировании первым предкодирующим блоком 1 приближенно вычисляет размер генерируемого кода низкой точности, когда кодирование выполняется со множеством выбранных параметров QP1 квантования, благодаря чему оценивается предсказанный параметр QPd квантования, служащий в качестве целевого размера кода.

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

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

То есть, конкретнее, в первом предкодирующем блоке 1, как описано ранее, только блок 14 квантования и блок 15 вычисления длины статистического кода предусматриваются работающими параллельно, а прочие обработки реализуются совместно. Помимо того, для исключения блока обратного квантования, блока ОДКП и буфера обработка внутриэкранного предсказания выполняется с использованием входного изображения в качестве предсказанного изображения.

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

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

С этой точки зрения в первом варианте осуществления первый предкодирующий блок 1 использует CAVLC для вычисления размера кода. Таким образом, в первом предкодирующем блоке 1 размер схем сокращается, обработка сокращается и используется упрощенное предкодирование, благодаря чему приближенно оценивается размер генерируемого кода низкой точности. Затем блок 4 управления размером кода выбирает параметр QP квантования с размером генерируемого кода низкой точности, близким к целевому размеру кода, в качестве предсказанного параметра QPd квантования.

Во втором предкодирующем блоке 2 с учетом того факта, что оценка предсказанного параметра QPd квантования первым предкодирующим блоком 1 включает в себя ошибку, предкодирование выполняется вновь, благодаря чему улучшается предсказание параметра QP квантования. Конкретно, предкодирование выполняется вновь с параметрами QP квантования в окрестности предсказанного параметра QPd квантования, приближенно оцененного первым предкодирующим блоком 1, благодаря чему получаются размер генерируемого кода высокой точности и параметр QP квантования, ближайший к целевому размеру генерируемого кода высокой точности, вновь служащий в качестве целевого. При вычислении длины статистического кода используется тот же самый способ (САВАС или CAVLC), что и основное кодирование.

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

1-6. Процедура обработки

Ниже со ссылкой на блок-схему алгоритма по фиг.3 будет подробно описана процедура RT1 кодирования кодирующим изображения устройством 100 согласно варианту осуществления настоящего изобретения. Часть или вся эта процедура также эквивалентны способу кодирования изображения согласно варианту осуществления.

Сначала блок 16 вычисления активности вычисляет активности отдельных МБ и разделяет эти МБ на группы активности в соответствии с их значениями (этап S1).

Вслед за этим, блок 11 определения режима внутриэкранного предсказания определяет режим внутриэкранного предсказания на основе входного изображения 91 (этап S2). Этот режим внутриэкранного предсказания используется также для второго предкодирования вторым предкодирующим блоком 2 и для основного кодирования основным кодирующим блоком 3.

Затем, блок 12 обработки внутриэкранного предсказания вычисляет данные разностного изображения между предсказанным изображением и входным изображением. Здесь в качестве предсказанного изображения для сокращения обработки используется входное изображение. Далее, блок 13 ДКП выполняет ДКП с целочисленной точностью и передает коэффициенты ДКП в блок 14 квантования (этап S3).

Блок 14 квантования квантует значения коэффициентов ДКП множеством выбранных параметров QP1 квантования на произвольном интервале в качестве среднего параметра квантования (БазовыйQP) для картинки. Блок 15 вычисления длины статистического кода кодирует квантованные коэффициенты в коды переменной длины и выполняет вычисление длины кода, благодаря чему получается размер генерируемого кода для отдельных выбранных параметров QP1 квантования (этап S4). В то же время, как описано выше, параметр QP квантования для каждого МБ получает значение, которое учитывает активность, и кодируется. То есть, как описано выше, параметр QP квантования для каждого МБ получается добавлением сдвига, зависящего от группы активности, к среднему параметру квантования (БазовыйQP) для картинки.

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

Затем блок 4 управления размером кода выполняет обработку коррекции на размере генерируемого кода, вычисленном первым предкодирующим блоком 1, благодаря чему вычисляется размер генерируемого кода низкой точности. Блок 4 управления размером кода выполняет коррекцию ошибки вследствие упрощения предкодирования, а также вычисляет посредством процесса интерполирования размер генерируемого кода низкой точности, соответствующий параметрам QP квантования иным, нежели выбранные параметры QP1 квантования (этап S5).

Блок 4 управления размером кода выполняет обработку на этапе S5 в отношении каждой матрицы квантования «Q матрица» для вычисления размера генерируемого кода низкой точности для каждой матрицы квантования «Q матрица» (этап S6). При вышеуказанной обработке получают размер генерируемого кода низкой точности, соответствующий всем необходимым параметрам QP квантования, и, соответственно, из параметров QP квантования, которые могут породить размер генерируемого кода низкой точности, ближайший к целевому размеру кода, выбирают матрицу квантования «Q матрица» с наименьшим градиентом в качестве предсказанной матрицы квантования «Q матрицаD». Далее, блок 4 управления размером кода выбирает параметр QP квантования, который может породить размер генерируемого кода низкой точности, ближайший к целевому размеру кода, соответствующий предсказанной матрице квантования «Q матрицаD», в качестве предсказанного параметра QPd квантования (этап S7). Кроме того, выбор матрицы квантования «Q матрица», как упомянуто выше, ограничивает диапазон параметров QP квантования, которые могут быть приняты, и, соответственно, можно сократить диапазон выбранных параметров QP1 квантования при вычислении размера генерируемого кода низкой точности в первом предкодирующем блоке 1. Они служат в качестве предсказанной матрицы квантования «Q матрицаD» и предсказанного параметра QPd квантования, которые определяются в первом предкодирующем блоке 1.

После этого второй предкодирующий блок 2 выполняет обработку получения размера генерируемого кода (этапы S8-S10). Назначение второго предкодирующего блока 2 состоит в улучшении точности оценки базового параметра QPMB квантования за счет выполнения предкодирования вновь, ввиду того факта, что оценка предсказанного параметра QPd квантования первым предкодирующим блоком 1 включает в себя ошибку.

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

Конкретно, блок 4 управления размером кода выполняет обработку внутриэкранного предсказания блоком 21 обработки внутриэкранного предсказания и ДКП блоком 22 ДКП с помощью режима внутриэкранного предсказания, найденного в результате работы первого предкодирующего блока 1 (этап S8). Второй предкодирующий блок 2 совместно использует локально декодированное изображение с предсказанным параметром QPd квантования (QP_предкод1), оцененное в результате работы первого предкодирующего блока 1, в качестве локально декодированного изображения (предсказанного изображения), подлежащего использованию при внутреннем предсказании.

При квантовании используются предсказанный параметр QPd квантования (QP_предкод1), матрица квантования «Q матрица» и группа активности, найденная в результате работы первого предкодирующего блока 1. Предсказанный параметр QPd квантования (QP_предкод1) устанавливается в блоке 23-1 квантования, предсказанный параметр QPd квантования (QP_предкод1-1), который на «1» меньше, чем предсказанный параметр QPd квантования, устанавливается в блоке 23-2 квантования, а предсказанный параметр QPd квантования (QP_предкод1+1), который на «1», больше чем предсказанный параметр QPd квантования, устанавливается в блоке 23-3 квантования.

Далее, параметр QP квантования для каждого МБ получает значение, в котором учитывается активность, и кодируется. Согласно нижеследующему второму предкодированию можно получить одно из картинных достоинств размера генерируемого кода (этап S9).

После этого блок 4 управления размером кода находит базовый параметр QPMB квантования из размера генерируемого кода высокой точности, полученного на основе работы второго предкодирующего блока 2 (этап S10).

Вслед за этим основной кодирующий блок 3 выполняет основное кодирование (этап S11). При основном кодировании собственно кодирование выполняется с помощью базового параметра QPMB квантования для картинки, найденной в результате работы второго предкодирующего блока 2, и предсказанной матрицы квантования «Q матрица» и группы активности, найденных в результате работы первого предкодирующего блока 1. Тем самым ряд обработок, связанных с кодированием, заканчивается.

Ниже со ссылками на блок-схему алгоритма по фиг.4 будет дано дальнейшее описание процедуры RT2 определения Q матрицы, выполненное на этапе S7 в процедуре RT1 кодирования устройством 100 кодирования изображения.

Когда начинается эта обработка, блок 4 управления размером кода сначала инициализирует Id на Id=0 (эта S21), а затем сравнивает параметр QP квантования, у которого размер генерируемого кода низкой точности является ближайшим к целевому размеру кода, из матрицы квантования «Q матрица» с наименьшим значением Id, с максимальным параметром QP квантования (QMatrixThreshold[Id]), который можно принять в матрице квантования «Q матрица» (этап S22). Далее, в случае когда параметр QP квантования, у которого размер генерируемого кода низкой точности является ближайшим к целевому размеру кода в Id-й матрице квантования «Q матрица», меньше, чем QMatrixThreshold[Id], блок 4 управления размером кода определяет текущую матрицу квантования «Q матрица» в качестве предсказанной матрицы квантования «Q матрицаD». Далее, после определения параметра QP квантования, у которого размер генерируемого кода низкой точности является ближайшим к целевому размеру кода в предсказанной матрице квантования «Q матрицаD», в качестве предсказанного параметра QPd матрицы квантования, блок 4 управления размером кода заканчивает процедуру RT2 определения «Q матрица».

С другой стороны, на этапе S22 в случае когда параметр QP квантования, у которого размер генерируемого кода низкой точности является ближайшим к целевому размеру кода в Id-й матрице квантования «Q матрица», равен или больше, чем QMatrixThreshold[Id], блок 4 управления размером кода дает приращение Id (этап S24). Блок 4 управления размером кода определяет, меньше ли Id, чем полное число матриц квантования «Q матрица», на «1» (NumOfQMatrixId-1) (этап S25). Далее, если Id=NumOfQMatrixId-1 не имеется, блок 4 управления размером кода возвращается к этапу S22 и проверяет следующую матрицу квантования «Q матрица». С другой стороны, в случае когда Id=NumOfQMatrixId-1 имеется, блок 4 управления размером кода выбирает матрицу квантования «Q матрица» с самым крутым градиентом (матрица квантования «Q матрица», у которой Id равен NumOfQMatrixId) (этап S23), и процедура RT2 определения «Q матрица» заканчивается.

Согласно процедуре RT2 определения «Q матрица» по фиг.4 блок 4 управления размером кода устанавливает доступный максимальный параметр QP квантования для каждой матрицы квантования «Q матрица» и определяет по порядку от матрицы квантования «Q матрица» с плавным градиентом, действительно ли размер генерируемого кода низкой точности, соответствующий параметру QP квантования, у которого размер генерируемого кода низкой точности оценен как ближайший к целевому размеру кода, указывает значение, ближайшее к целевому размеру кода. Затем, в случае указания значения, ближайшего к целевому размеру кода, блок 4 управления размером кода определяет соответствующую матрицу квантования «Q матрица» как предсказанную матрицу квантования «Q матрицаD», подлежащую использованию при основном кодировании.

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

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

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

Например, вышеупомянутые кодирующее изображения устройство 100 и способ кодирования изображений могут быть также реализованы как компьютерная программа, установленная в устройстве, носитель информации, на котором записана эта программа, как компьютерная программа, реализующая способ, или носитель информации, на котором записана эта программа.

1-7. Работа и преимущество

Согласно вышеприведенной конфигурации кодирующее изображения устройство 100, служащее в качестве устройства обработки изображений, кодирует входное изображение 91 квантованием по меньшей мере входного изображения 91 как входного изображения на основе коэффициентов ДКП, представляющих собой просто кодированные данные, полученные кодированием входного изображения 91 путем простой обработки, и на основе выбранных параметров QP1 квантования, дискретно выбранных из параметров QP квантования, которые являются факторами квантования, и вычисляет размер генерируемого кода кодированного входного изображения 91.

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

Кодирующее изображения устройство 100 вычисляет размер генерируемого кода низкой точности в то время, как входное изображение 91 кодируется на основе параметров QP квантования иных, нежели выбранные параметры QP1 квантования, посредством процесса интерполирования в отношении размера генерируемого кода низкой точности, когда входное изображение 91 кодируется на основе выбранных параметров QP1 квантования.

Таким образом, кодирующее изображения устройство 100 может вычислять размер генерируемого кода низкой точности на основе всех параметров QP квантования без кодирования всех параметров QP квантования, благодаря чему возможно упростить вычисление размера генерируемого кода низкой точности, а также сократить вычислительную схему.

Кодирующее изображения устройство 100 определяет в качестве базового параметра QPMB квантования тот параметр QP квантования, с которым размер генерируемого кода основного кодирования при кодировании входного изображения 91 предсказывается как ближайший к целевому размеру кода, на основе размера генерируемого кода низкой точности, вычисленного кодированием и обработкой интерполирования на основе выбранных параметров QP1 квантования. Кодирующее изображения устройство 100 кодирует (основное кодирование) входное изображение 91 на основе базового параметра QPMB квантования посредством блока 3 основного кодирования.

Таким образом, кодирующее изображения устройство 100 может определять базовый параметр QPMB квантования на основе размера генерируемого кода низкой точности, порожденного простой обработкой, благодаря чему можно упростить обработку определения базового параметра QPMB квантования.

2. Второй вариант осуществления

Второй вариант осуществления, показанный на фиг.5-6, таков, что части, соответствующие первому варианту осуществления, показанному на фиг.1-4, обозначены теми же самыми символами, отличается от первого варианта осуществления в том, что основной кодирующий блок 3 согласно кодирующему изображения устройству 200 выполняет управление с обратной связью согласно реально генерируемому размеру генерируемого кода основного кодирования.

2-1. Управление с обратной связью при основном кодировании

Кодирующее изображения устройство 200 таким же образом как и в первом варианте осуществления выполняет основное кодирование посредством управления с обратной связью с помощью базового параметра QPMB квантования, с которым размер генерируемого кода основного квантования предсказывается как наиболее близкий к целевому размеру кода. Поэтому кодирующее изображения устройство 200 может сжимать размер генерируемого кода основного кодирования до целевого размера кода. Однако изредка кодирующее изображения устройство 200 не в состоянии вычислить размер генерируемого кода высокой точности и вследствие этого выбирает неподходящий базовый параметр QPMB квантования. Поэтому, чтобы работать и в этом случае, кодирующее изображения устройство 200 сжимает размер генерируемого при кодировании кода до целевого размера кода надежным образом посредством управления с обратной связью размером генерируемого кода основного кодирования. Отметим, что во втором варианте осуществления блок 4 управления размером кода определяет, например, в качестве базового параметра QPMB квантования тот параметр QP квантования, с которым размер генерируемого кода высокой точности не превышает целевого размера кода, а также является ближайшим к целевому размеру кода. Таким образом, блок 4 управления размером кода определяет базовый параметр QPMB квантования так, чтобы размер генерируемого кода основного кодирования мог стать несколько меньше, чем целевой размер кода.

Как показано на фиг.5, кодирующее изображения устройство 200 осуществляет следующую обработку для реализации высококачественного распределения размеров кода в картинке во время выполнения управления размером кода в соответствии со способом сжатия изображения, представленным стандартом H264/AVC (усовершенствованное видеокодирование; усовершенствованный стандарт сжатия / кодирования движущихся изображений) или тому подобным, а также для реализации кодирования картинки с фиксированной длиной кода.

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

- Чтобы подавить ненужные флюктуации параметра QP квантования вследствие управления с обратной связью, в случае когда размер генерируемого кода для каждой картинки предсказывается как не превышающий целевой размер кода, кодирующее изображения устройство 200 изменяет подлежащий использованию параметр QP квантования (используемый параметр квантования) с базового параметра QPMB квантования с помощью одних лишь визуальных признаков (активность). То есть кодирующее изображения устройство 200 принимает в качестве подлежащего использованию параметра QP квантования адаптивный параметр QPt квантования с базовым параметром QPMB квантования в качестве среднего по картинке БазовогоQP.

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

Конкретно, основной кодирующий блок 3 кодирующего изображения устройства 200 выполняет кодирование с помощью матрицы квантования «Q матрица» и группы активности, найденной первым предкодирующим блоком 1, с базовым параметром QPMB квантования, найденным на основе результатов работы второго предкодирующего блока 2, в качестве среднего параметра БазовыйQP квантования. В то же время кодирующее изображения устройство 200 подвергает средний параметр БазовыйQP квантования управлению с обратной связью, чтобы он не превышал целевой размер кода.

Блок 4 управления размером кода кодирующего изображения устройства 200 выполняет управление с обратной связью для каждого приращения ЕдиницОбратСвязи управления с обратной связью, составленного из множества макроблоков (МБ). Размер генерируемого кода выходного потока 92 подается из блока 34 статистического кодирования в блок 4 управления размером кода. Блок 4 управления размером кода использует размер генерируемого кода для каждого МБ (т.е. выход блока 23-1 квантования и блока 24-1 вычисления длины статистического кода с предсказанным параметром QPd квантования второго предкодирования (QP_предкод1) для вычисления целевого размера кода для каждого приращения ЕдиницОбратСвязи управления с обратной связью (здесь и далее это будет называться «целевой размер кода картинки») из целевого размера кода для каждой картинки (здесь и далее это будет называться «целевой размер кода обратной связи»).

Теперь, если мы скажем, что размер генерируемого кода высокой точности в приращении при управлении с обратной связью (ЕдиницОбратСвязи) по результатам работы второго предкодирующего блока 2 равен ПредкодГенерирБиты_ЕдиницОбратСвязи[no], а размер генерируемого кода высокой точности для каждой картинки по результатам работы второго предкодирующего блока 4 равен ПредкодГенерирБиты, целевой размер кода обратной связи в приращении ЕдиницОбратСвязи управления с обратной связью (ЦелевБиты_ЕдиницОбратСвязь[no]) получается по нижеследующему выражению. Отметим, что no - это номер ЕдиницОбратСвязь (от 0 до Счет ЕдиницОбратСвязи - 1), а ЦелевБиты - это размер целевого кода картинки.

ЦелевБиты_ЕдиницОбратСвязь[no]=

ЦелевБиты×ПредкодГенерирБиты_ЕдиницОбратСвязь[no]/ПредкодГенерирБиты

То есть блок 4 управления размером кода перемножает процентное отношение размера генерируемого кода высокой точности в приращении при управлении с обратной связью (ПредкодГенерирБиты_ЕдиницОбратСвязь[no]) в части размера генерируемого кода высокой точности для картинки на целевой размер кода картинки ЦелевБиты, благодаря чему вычисляется размер генерируемого кода обратной связи (ЦелевБиты_ЕдиницОбратСвязь[no]).

Конкретно, блок 4 управления размером кода кодирующего изображения устройства 200 выполняет обработку следующим образом.

(1) Блок 4 управления размером кода разделяет кодирование на первую половину обработки и вторую половину обработки и не выполняет управления с обратной связью с первой половиной обработки. Блок 4 управления размером кода определяет целевой размер кода в приращении при управлении с обратной связью (ЕдиницОбратСвязь) согласно отношению размеров кода в приращении при управлении с обратной связью (ЕдиницОбратСвязь) предкодирования. Это отношение размеров кода изменяется согласно изменению параметра QP квантования. Тем самым имеется возможность, что при выполнении управления с обратной связью, когда размер генерируемого кода мал в первой половине кодирования, кодирующее изображения устройство 200 может изменить ненужный средний параметр БазовыйQP квантования. Иными словами, кодирующее изображения устройство 200 выбирает базовый параметр QPMB квантования так, что размер генерируемого кода основного кодирования приближается к целевому размеру кода картинки. Соответственно, имеется возможность, что когда средний параметр БазовыйQP квантования отклоняется на ранней стадии картинки, может быть расхождение между размером генерируемого кода основного кодирования и целевым размером кода картинки.

(2) Блок 4 управления размером кода определяет тактирование переключения между первой половиной обработки и второй половиной обработки как из аспектов стабилизации параметра QP квантования, так и сокращения размера генерируемого кода основного кодирования до целевого размера кода или менее. То есть блок 4 управления размером кода переходит ко второй половине обработки в случае, когда удовлетворяется одно из нижеследующих условий в подпунктах (а) и (б).

(а) Блок 4 управления размером кода сравнивает доступный размер оставшегося кода в части МБ, которая еще не закодирована (значение, полученное вычитанием размера генерируемого кода основного кодирования до этого момента из целевого размера кода картинки), и целевой размер кода в части МБ, которая еще не закодирована (значение, полученное вычитанием целевого размера кода обратной связи до этого момента из целевого размера кода картинки). При достижении размером оставшегося кода некоторой процентной величины или менее блок 4 управления размером кода переходит ко второй половине обработки. Это для сокращения размера генерируемого кода основного кодирования до целевого размера кода или менее.

Условие (2)(б) представлено нижеследующим выражением.

(ЦелевБит)-ГенерирБиты_Накопл<

(ЦелевБит-ЦелевБит_Накопл)×ПороговОтнош

Здесь ЦелевБит_Накопл и ГенерирБиты_Накопл представляют собой соответственно целочисленное значение целевого размера кода обратной связи до этого момента (ЦелевБит_ЕдиницОбратСвязь[no]) и целочисленное значение размера генерируемого кода основного кодирования в приращении при управлении с обратной связью до этого момента. Кроме того, ПороговОтнош представляет собой допустимое процентное отклонение. В том случае, когда размер генерируемого кода основного кодирования равен целевому размеру кода, размер оставшегося кода равен целевому размеру кода в части, которая еще не закодирована. С другой стороны, в том случае, когда размер генерируемого кода основного кодирования не превышает целевого размера кода, размер оставшегося кода меньше, чем целевой размер кода в части, которая еще не закодирована. Например, когда размер оставшегося кода достигает менее чем ПороговОтнош раз от целевого размера кода в части, которая еще не закодирована, блок 4 управления размером кода переходит ко второй половине обработки. В случае выполнения управления таким образом, что размер генерируемого кода должен быть меньше, чем целевой размер кода, блок 4 управления размером кода задает ПороговОтнош на значение меньше 1. Таким образом, когда размер генерируемого кода в части, которая закодирована, меньше чем целевой размер кода, а также достигает этого целевого размера кода, блок 4 управления размером кода переходит ко второй половине обработки. Кроме того, в случае выполнения управления таким образом, что размер генерируемого кода приближается к целевому размеру кода, блок 4 управления размером кода задает ПороговОтнош на значение больше 1. Таким образом, когда размер генерируемого кода в части, которая закодирована, превышает целевой размер кода с некоторым отношением или более, блок 4 управления размером кода может перейти ко второй половине обработки. Это происходит без того, что ПороговОтнош может быть установлено на «1».

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

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

(3) Блок 4 управления размером кода изменяет средний параметр БазовыйQP квантования в направлении для его увеличения, чтобы он стал больше, чем базовый параметр QPMB квантования, только в случае предсказания, что размер генерируемого кода основного кодирования для каждой картинки превысит целевой размер кода картинки во второй половине обработки. В случае увеличения среднего параметра БазовыйQP квантования блок 4 управления размером кода изменяет средний параметр БазовыйQP квантования на 1 с разовой обработкой с обратной связью (т.е. для каждого приращения при управлении с обратной связью). Таким образом, блок 4 управления размером кода подавляет чрезмерное изменение в среднем параметре БазовыйQP квантования.

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

(а) Блок 4 управления размером кода подтверждает размер генерируемого кода обратной связи до того (непосредственно после окончаний обработки), как заканчивается кодирование в приращении при управлении с обратной связью, и сравнивает размер генерируемого кода с обратной связью (ГенерирБиты_ЕдиницОбратСвязь[текущ]) и размер кода с обратной связью (ЦелевоБит_ЕдиницОбратСвязь[текущ]) в соответствии с нижеследующим выражением.

ГенерирБиты_ЕдиницОбратСвязь[текущ]>ЦелевБит_ЕдиницОбратСвязь[текущ]

Когда размер генерируемого кода обратной связи (ГенерирБиты_ЕдиницОбратСвязь[текущ]) больше, чем целевой размер кода обратной связи (ЦелевБит_ЕдиницОбратСвязь[текущ]), имеется тенденция, в которой размер генерируемого кода возрастает, и, соответственно, это дает указание того, что имеется возможность размеру генерируемого кода основного кодирования, генерируемого в последующем кодировании, превысить целевой размер кода. В то же время блок 4 управления размером кода определяет, увеличивать ли средний параметр БазовыйQP квантования. Условие в то же время будет показано в последующем.

Блок 4 управления размером кода вычитает размер генерируемого кода из целевого размера кода в части, которая закодирована в то же время, благодаря чему вычисляется остаток размера генерируемого кода ИзбытБиты следующим образом.

ИзбытБиты=ЦелевБит_Накопл-ГенерирБиты_Накопл

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

ЦелевБит_ЕдиницОбратСвязь[следующ]×МаксОтношОшибки

Блок 4 управления размером кода выполняет на основе этого нижеследующее определение.

ИзбытБиты<ЦелевБит_ЕдиницОбратСвязь[следующ]×МаксОтношОшибки

Блок 4 управления размером кода сравнивает остаток от размера генерируемого кода ИзбытБиты и чрезмерный максимальный размер кода в следующем приращении при управлении с обратной связью. В том случае когда чрезмерный максимальный размер кода больше, чем остаток размера генерируемого кода ИзбытБиты, блок 4 управления размером кода определяет, что имеется возможность того, что размер генерируемого кода основного кодирования в части, которая закодирована, может превысить целевой размер кода в следующем приращении при управлении с обратной связью, и дает приращение среднему параметру БазовыйQP квантования на 1.

То есть, когда «размер генерируемого кода в последнем приращении при управлении с обратной связью больше, чем целевой размер кода последнего приращения при управлении с обратной связью», а также «остаток размера кода до этого момента ИзбытБиты меньше, чем излишний максимальный размер кода, в отношении которого имеется возможность превысить в следующем приращении при управлении с обратной связью», блок 4 управления размером кода дает приращение среднему параметру БазовыйQP квантования на 1. Это потому, что имеется тенденция для размера генерируемого кода увеличиться, а также недостаточный припуск для остатка размера кода, и, соответственно, делается предсказание, что конечный размер генерируемого кода картинки превысит целевой размер кода картинки.

Иными словами, при определения того, что размер генерируемого кода основного кодирования в части, которая закодирована, превысит целевой размер кода в следующем приращении при управлении с обратной связью даже при поддерживаемом текущем состоянии, блок 4 управления размером кода не дает приращения среднему параметру БазовыйQP квантования на 1. Таким образом, даже когда имеются признаки того, что размер генерируемого кода основного кодирования в части, которая закодирована, может превысить целевой размер кода, блок 4 управления размером кода может избежать чрезмерной реакции, предотвратить излишнее ненужное увеличение среднего параметра БазовыйQP квантования и стабилизировать средний параметр БазовыйQP квантования.

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

Блок 4 управления размером кода вычисляет соотношение между целевым размером кода и размером генерируемого кода в последнем приращении при управлении с обратной связью Разн_Отнош следующим образом.

Разн_Отнош=(ГенерирБиты_ЕдиницОбратСвязь[текущ]-ЦелевБит_ЕдиницОбратСвязь[текущ])/ЦелевБит_ЕдиницОбратСвязь[текущ]

Блок 4 управления размером кода вычисляет целевой размер кода оставшейся кодированной части ЦелевБит_Остат следующим образом.

ЦелевБит_Остат=ЦелевБит-ЦелевБит_Накопл

Блок 4 управления размером кода предполагает, что целевой размер кода оставшейся кодированной части отклоняется с тем же соотношением, что и соотношение между целевым размером кода и размером генерируемого кода в последнем приращении при управлении с обратной связью Разн_Отнош, и вычисляет отклонение от целевого размера следующим образом.

ЦелевБит_Остат*Разн_Отнош

Блок 4 управления размером кода дает приращение среднему параметру БазовыйQP квантования на 1 в случае, когда результат, полученный добавлением кодированной части и части, которая еще не закодирована, является положительным, и удовлетворяется следующее условие.

(ЦелевБит_Остат*Разн_Отнош)-ИзбытБиты>0

Когда «размер генерируемого кода кодированной части превышает целевой размер кода», а также «предсказанный размер генерируемого кода картинки, полученный из соотношения между целевым размером кода и размером генерируемого кода в последнем приращении при управлении с обратной связью, превышает целевой размер кода картинки» блок 4 управления размером кода дает приращение среднему параметру БазовыйQP квантования на 1.

То есть даже когда размер генерируемого кода в некоторый момент превышает целевой размер кода, в том случае, если определено, что размер генерируемого кода имеет тенденцию снижения по отношению к целевому размеру кода, и, следовательно, размер генерируемого кода картинки не превышает целевой размер кода картинки, блок 4 управления размером кода не даст превышения среднему параметру БазовыйQP квантования на 1.

Таким образом, когда входное изображение 91 подвергается основному кодированию, кодирующее изображения устройство 200 не выполняет управления с обратной связью во время начала основного кодирования для картинки и выполняет управление с обратной связью для второй половины обработки, только когда удовлетворяется некоторое условие.

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

Кодирующее изображения устройство 200 подавляет флюктуации среднего параметра БазовыйQP квантования до минимума при управлении с обратной связью, и, соответственно, только когда предсказывается, что размер генерируемого кода основного кодирования для каждой картинки не подавляется сразу до целевого размера кода или менее, дает приращение среднему параметру БазовыйQP квантования на 1.

То есть в случае когда размер генерируемого кода обратной связи больше, чем целевой размер кода обратной связи, имеется тенденция, при которой размер генерируемого кода увеличивается по сравнению с целевым размером кода, а также если размер генерируемого кода кодированной части может превысить целевой размер кода в следующем приращении при управлении с обратной связью, делается предсказание, что конечный размер генерируемого кода картинки превысит размер генерируемого кода картинки, и, соответственно, кодирующее изображения устройство 200 дает приращение среднему параметру БазовыйQP квантования на 1.

Таким образом, даже в случае когда имеется тенденция, при которой размер генерируемого кода увеличивается по сравнению с целевым размером кода, в случае когда имеется припуск на размер оставшегося кода, кодирующее изображения устройство 200 может предотвратить наращивание на 1 среднего параметра БазовыйQP квантования и, соответственно, предотвращает ненужное увеличение среднего параметра БазовыйQP квантования.

Далее, в случае когда средний параметр БазовыйQP квантования не получил приращения на 1, и в случае, когда размер генерируемого кода кодированной части превышает целевой размер кода и делается предсказание, что размер генерируемого кода конечной картинки превысит целевой размер кода картинки, кодирующее изображения устройство 200 дает приращение среднему параметру БазовыйQP квантования на 1.

Таким образом, даже в случае когда размер генерируемого кода кодированной части превышает целевой размер кода, и в случае когда размер генерируемого кода имеет тенденцию к снижению и делается предсказание, что размер генерируемого кода картинки превысит целевой размер кода картинки, кодирующее изображения устройство 200 может предотвратить приращение среднего параметра БазовыйQP квантования на 1 и, соответственно, предотвращает ненужное увеличение среднего параметра БазовыйQP квантования.

2-2. Процедура обработки

Процедура RT4 обработки управления с обратной связью будет описана со ссылкой на блок-схему алгоритма по фиг.6. При начале этой обработки блок 4 управления размером кода задает базовый параметр QPMB квантования, определенный предкодированием, на средний параметр БазовыйQP квантования (этап S31). После этого блок 4 управления размером кода кодирует входное изображение 91 для каждого приращения при управлении с обратной связью ЕдиницОбратСвязь (этап S32).

Затем блок 4 управления размером кода определяет, закодированы ли все МБ картинки (этап S33). Здесь, в случае когда все МБ закодированы, блок 4 управления размером кода переходит к конечному этапу в конце обработки. С другой стороны, в случае, когда все МБ не закодированы, блок 4 управления размером кода переходит к следующему этапу S34. Блок 4 управления размером кода определяет, закодировано ли определенное число МБ или более (этап S34). То есть, как описано выше, имеется возможность того, что при управлении с обратной связью, выполняемом когда размер кода мал в первой половине обработки, средний параметр БазовыйQP квантования может быть изменен без необходимости.

Здесь, в случае когда определено, что закодировано некоторое число МБ или более, блок 4 управления размером кода переходит к этапу S36. С другой стороны, в случае, когда определено, что определенное число МБ или более не закодированы, блок 4 управления размером кода переходит к этапу S35, сравнивает доступный размер оставшегося кода в части МБ, которая еще не закодирована (размер кода, полученный вычитанием размера генерируемого кода до этого момента из целевого размера кода), и целевой размер кода в части МБ, которая еще не закодирована, и определяет, составляет ли определенный процент или менее соотношение между размером оставшегося кода и целевым размером кода в части, которая еще не закодирована (этап S35). Здесь, в случае когда определено, что соотношение между размером оставшегося кода и целевым размером кода в части, которая еще не закодирована, не составляет определенного процента или менее, макроблок, который находится сейчас в обработке кодирования, не является второй частью обработки, а также имеется расхождение между размером генерируемого кода кодированной части и целевым размером кода, и, соответственно, блок 4 управления размером кода возвращается к этапу S32 для повторения вышеприведенной обработки. С другой стороны, в случае когда определено, что доступный размер кода составляет некоторый процент или менее, блок 4 управления размером кода переходит к этапу S36 для выполнения управления с обратной связью.

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

В случае когда определено, что остаток размера кода до этого момента может быть превышен в следующем приращении при управлении с обратной связью, блок 4 управления размером кода дает приращение среднему параметру БазовыйQP квантования на 1 (этап S38) и возвращается к этапу S32. С другой стороны, в случае когда определено, что остаток размера кода до этого момента может быть не превышен в следующем приращении при управлении с обратной связью, блок 4 управления размером кода переходит к этапу S39.

После этого на этапе S39 блок 4 управления размером кода определяет, превышает ли размер генерируемого кода кодированной части целевой размер кода (этап S39). Здесь, в случае когда определено, что размер генерируемого кода кодированной части не превышает целевой размер кода, блок 4 управления размером кода возвращается к этапу S32 для повторения вышеупомянутой обработки.

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

В случае когда определено, что предсказанный размер генерируемого кода картинки превышает целевой размер кода картинки, блок 4 управления размером кода дает приращение среднему параметру БазовыйQP квантования на 1 (этап S38) и возвращается к этапу S32 для повторения вышеуказанной обработки. Таким образом, блок 4 управления размером кода продолжает эту обработку до тех пор, пока на этапе S33 не определяется, что все МБ закодированы.

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

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

Например, вышеупомянутые кодирующее изображения устройство 100 и способ кодирования изображений могут быть также реализованы как компьютерная программа, установленная в устройстве, носитель информации, на котором записана эта программа, как компьютерная программа, реализующая способ, или носитель информации, на котором записана эта программа.

Вышеупомянутая последовательность обработки кодирования может выполняться аппаратно и может также выполняться программно. В случае выполнения последовательности обработки кодирования программно кодирующее изображения устройство 200 образовано виртуально в ЦП и ОЗУ. После этого кодирующая программа, хранящаяся в ПЗУ, перезаписывается в ОЗУ, за счет чего и выполняется обработка кодирования.

2-3. Работа и преимущества

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

Кодирующее изображения устройство 200 кодирует входное изображение 91 для каждого приращения при управлении с обратной связью путем выполнения квантования с помощью адаптивного параметра QPt квантования на основе среднего параметра БазовыйQP квантования, служащего в качестве используемого параметра квантования, найденного на основе по меньшей мере базового параметра QPMB квантования.

Кодирующее изображения устройство 200 подтверждает размер генерируемого кода кодированного входного изображения 91 для каждого приращения при управлении с обратной связью и в случае предсказания того, что размер генерируемого кода для каждого приращения при управлении с обратной связью превысит целевой размер кода для каждого приращения изображения, увеличивает средний параметр БазовыйQP квантования, благодаря чему увеличивается значение адаптивного параметра QPt квантования.

Таким образом, кодирующее изображения устройство 200 ограниченно увеличивает средний параметр БазовыйQP квантования в состоянии, в котором размер генерируемого кода основного кодирования регулируется заранее, чтобы приближаться к целевому размеру кода картинки, тем самым можно предохранить значение подлежащего использованию адаптивного параметра QPt квантования от ненужного отклонения.

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

Патентный документ 2: Международная заявка PCT/JP 2008/066917

При таком обратном прослеживании диапазон обнаружения обратного прослеживания устанавливается на основе предсказанного параметра QPt квантования, за счет чего можно упростить обработку ограничением диапазона прослеживания в обратном прослеживании.

Кодирующее изображения устройство 200 способно по возможности подавлять флюктуации подлежащего использованию параметра QP квантования, и, соответственно, подлежащий использованию параметр QP квантования можно предохранить от отклонения от диапазона прослеживания в обратном прослеживании, а скорость обнаружения в обратном прослеживании можно предохранить от ухудшения.

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

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

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

Таким образом, кодирующее изображения устройство 200 увеличивает средний параметр БазовыйQP квантования только в ограниченном случае, когда имеется тенденция, при которой увеличивается размер генерируемого кода обратной связи и имеется недостаточный припуск для остатка размера кода, посредством чего можно предотвратить ненужные флюктуации среднего параметра БазовыйQP квантования.

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

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

Таким образом, кодирующее изображения устройство 200 увеличивает средний параметр БазовыйQP квантования только в ограниченно случае, когда размер генерируемого кода картинки превышает целевой размер кода картинки в случае, когда поддерживается соотношение между размером генерируемого кода обратной связи и текущим состоянием целевого размера кода обратной связи, посредством чего можно предотвратить ненужные флюктуации среднего параметра БазовыйQP квантования.

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

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

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

Таким образом, например, в случае неудачи в оценивании базового параметра QPMB квантования кодирующее изображения устройство 200 может выполнять управление с обратной связью даже на ранней стадии картинки, посредством чего можно также обрабатывать неожиданные ситуации.

В случае предсказания того, что размер генерируемого кода картинки превысит целевой размер кода картинки, кодирующее изображения устройство 200 дает приращение среднему параметру БазовыйQP квантования на 1.

Таким образом, кодирующее изображения устройство 200 может подавлять флюктуации среднего параметра БазовыйQP квантования до минимума и стабилизировать качество изображения в картинке.

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

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

Кодирующее изображения устройство 200 задает значение меньше 1 в качестве размера допустимого отклонения ПороговОтнош. Таким образом, в случае когда размер генерируемого кода кодированной части меньше, чем целевой размер кода этой кодированной части, но близок к нему, кодирующее изображения устройство 200 может выполнять управление с обратной связью, посредством чего управление может выполняться правильным образом, так что размер генерируемого кода картинки не превышает целевого размера кода картинки.

Кодирующее изображения устройство 200 определяет предсказанный параметр QPd квантования, предсказанный для приближения к базовому параметру QPMB квантования на основе размера генерируемого кода, вычисленного кодированием упомянутого входного изображения 91 с помощью параметра QP квантования (выбранного параметра QP1 квантования), охватывающего широкий диапазон, и определяет базовый параметр QPMB квантования на основе размера генерируемого кода высокой точности, вычисленного кодированием входного изображения 91 с помощью этого предсказанного параметра QP1 квантования и параметра QP квантования по соседству с этим предсказанным параметром QPd квантования.

Таким образом, кодирующее изображения устройство 200 определяет базовый параметр QPMB квантования с высокой точностью, посредством чего размер генерируемого кода основного квантования можно аппроксимировать к целевому размеру кода картинки в помощью этого базового параметра QPMB квантования. Соответственно, кодирующее изображения устройство 200 лишь изредка будет иметь средний параметр БазовыйQP квантования флюктуирующим за счет управления с обратной связью, посредством чего флюктуации среднего параметра БазовыйQP квантования можно подавить в максимальной степени.

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

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

3. Прочие варианты осуществления

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

Кроме того, в первом и втором вышеприведенных вариантах осуществления описан случай, в котором входное изображение 91 кодируется с внутриэкранным предсказанием, ортогональным преобразованием согласно ДКП, квантованием и кодированием согласно CAVLC или САВАС. Настоящее изобретение не ограничивается этим, и любое из них можно опустить, если входное изображение 91 подвержено по меньшей мере квантованию. Кроме того, входное изображение 91 можно кодировать с помощью способа кодирования, иного, чем эти.

Далее, в вышеописанном втором варианте осуществления описан случай, в котором размер генерируемого кода обратной связи подтверждается для каждого приращения при управлении с обратной связью, составленного из множества МБ. Настоящее изобретение не ограничивается этим, и размер приращения при управлении с обратной связью не ограничивается, и, например, это приращение при управлении с обратной связью можно задать для МБ или части.

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

Далее, в вышеописанном втором варианте осуществления описан случай, в котором средний параметр БазовыйQP квантования получает приращение на 1 в отношении управления с обратной связью как единичное приращение при управлении с обратной связью. Настоящее изобретение не ограничивается этим, и средний параметр БазовыйQP квантования может получать приращение на два или более, смотря по условиям.

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

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

Далее, в вышеописанном втором варианте осуществления описан случай, в котором делается предсказание о том, превысит ли размер генерируемого кода картинки целевой размер кода картинки, из соотношения между последним размером генерируемого кода обратной связи и целевым размером кода обратной связи. Настоящее изобретение не ограничивается этим, и, например, можно делать предсказание о том, превысит ли размер генерируемого кода картинки целевой размер кода, из соотношения между целевым размером кода и размером генерируемого кода для каждого множества приращений при управлении с обратной связью или для каждого МБ.

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

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

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

Далее, в вышеописанном втором варианте осуществления описан случай, в котором настоящее изобретение применено к AVC. Настоящее изобретение не ограничивается этим, настоящее изобретение может быть применено к различным типам способа кодирования для адаптивного выбора таблицы VLC. Например, в случае, когда настоящее изобретение применено для MPEG-2, в качестве фактора квантования применяется масштаб квантования.

Далее, в вышеописанном втором варианте осуществления описан случай, в котором кодирующее изображения устройство 200, служащее в качестве устройства обработки изображений, составлено из первого предкодирующего блока 1, второго предкодирующего блока 2 и блока 4 управления размером кода, служащих в качестве блоков определения базовых факторов квантования, основного кодирующего блока 3, служащего в качестве кодирующего блока, и блока 4 управления размером кода, служащего в качестве блока управления с обратной связью. Настоящее изобретение не ограничивается этим, и устройство обработки изображений по настоящему изобретению может быть составлено из блоков определения базовых факторов квантования согласно другим типам конфигураций, кодирующего блока и блока управления с обратной связью.

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

название год авторы номер документа
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ 2009
  • Футие Такааки
  • Коябу Кёхеи
  • Сибата Содзиро
  • Такахаси Касу
  • Хориути Юя
RU2502213C2
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ 2009
  • Футие Такааки
  • Сибата Содзиро
  • Такахаси Касу
RU2479942C2
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЯ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ 2009
  • Сибата Содзиро
  • Футие Такааки
  • Такахаси Касу
  • Хориути Юя
RU2479935C2
СПОСОБ КОДИРОВАНИЯ, КОДИРУЮЩЕЕ УСТРОЙСТВО, ПРОГРАММА ОБРАБОТКИ КОДИРОВАНИЯ И РЕГИСТРИРУЮЩИЙ НОСИТЕЛЬ, НА КОТОРОМ ЗАПИСАНА ПРОГРАММА ОБРАБОТКИ КОДИРОВАНИЯ 2006
  • Огава Канаме
RU2344566C1
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ 2011
  • Сато Казуси
RU2575387C2
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ 2013
  • Сато Кадзуси
  • Моригами
  • Лу Суо
RU2740164C2
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ 2017
  • Сато Казуси
RU2656718C1
УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2019
  • Минезава, Акира
  • Сугимото, Казуо
  • Хиваса, Норимити
  • Секигути, Сунити
RU2719449C1
УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2019
  • Окава, Кодзи
  • Сима, Масато
RU2763292C1
УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ 2013
  • Минезава Акира
  • Сугимото Казуо
  • Хиваса Норимити
  • Секигути Сунити
RU2586029C1

Иллюстрации к изобретению RU 2 471 306 C2

Реферат патента 2012 года УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ

Изобретение относится к устройству кодирования изображения и, в частности, к дополнению размера генерируемого кода до целевого размера кода, заданного для одной картинки, без выполнения внутреннего управления с обратной связью. Техническим результатом является обеспечение сжатия размера генерируемого кода для каждого приращения изображения ниже целевого размера кода правильным образом без использования фактора квантования, служащего в качестве основы шага квантования, с большом отклонением. Указанный технический результат достигается тем, что устройство кодирования изображения определяет базовый фактор квантования (QPMB), служащий в качестве подлежащего предсказанию фактора квантования в случае, когда генерируемый код основного кодирования приближается к целевому размеру кода во время кодирования входного изображения. Кодирующее изображения устройство кодирует входное изображение для каждого приращения при управлении с обратной связью путем выполнения квантования с помощью адаптированного параметра квантования (QPt) на основе среднего параметра. 2 н. и 12 з.п. ф-лы, 6 ил.

Формула изобретения RU 2 471 306 C2

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

2. Устройство обработки изображений по п.1, в котором упомянутый блок управления с обратной связью определяет, что размер генерируемого кода для упомянутого каждого приращения при управлении с обратной связью стремится увеличиться, когда размер генерируемого кода последнего приращения при управлении с обратной связью больше, чем целевой размер кода последнего приращения при управлении с обратной связью.

3. Устройство обработки изображений по п.2, в котором упомянутый блок управления с обратной связью определяет, что имеется недостаточный припуск для упомянутого размера оставшегося кода, когда упомянутый размер оставшегося кода меньше, чем излишний максимальный размер кода, в отношении которого имеется возможность в том, что размер генерируемого кода со следующим приращением при управлении с обратной связью может превысить целевой размер кода.

4. Устройство обработки изображений по п.1, в котором упомянутый блок управления с обратной связью предсказывает, что размер генерируемого кода для каждого приращения изображения превысит целевой размер кода для упомянутого каждого приращения изображения в случае, когда размер генерируемого кода части, кодированной с упомянутым приращением изображения, превышает целевой размер кода этой кодированной части, а также размер генерируемого кода для каждого приращения изображения превышает целевой размер кода для упомянутого каждого приращения изображения в предположении, что соотношение между целевым размером кода и размером генерируемого кода не изменяется.

5. Устройство обработки изображений по п.4, в котором упомянутый блок управления с обратной связью определяет, что размер генерируемого кода для каждого приращения изображения превышает целевой размер кода для упомянутого каждого приращения изображения в предположении, что соотношение между упомянутым целевым размером кода и генерируемым размером кода не изменяется, в случае, когда предсказанное значение размера генерируемого кода для каждого упомянутого приращения изображения, полученного из соотношения между целевым размером кода и размером генерируемого кода последнего приращения при управлении с обратной связью, превышает целевой размер кода.

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

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

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

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

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

11. Устройство обработки изображений по п.10, в котором упомянутое значение допустимого отклонения получается из значения, меньшего 1.

12. Устройство обработки изображений по п.1, в котором упомянутый блок кодирования принимает упомянутый базовый фактор квантования, определенный для упомянутого каждого приращения изображения, в качестве среднего фактора квантования и использует значение, к которому добавляется в качестве используемого фактора квантования сдвиг согласно активности для этого среднего фактора квантования; и при этом упомянутый блок управления с обратной связью увеличивает упомянутый используемый фактор квантования путем увеличения упомянутого среднего фактора квантования.

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

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

Документы, цитированные в отчете о поиске Патент 2012 года RU2471306C2

US 2007263720 A1, 2007.11.15
JP 2000270323 A, 2000.09.29
JP 2007158430 A, 2007.06.21
JP 2006067302 A, 2006.03.09
JP 2004007475 A, 2004.01.08
WO 2006095501 A1, 2006.09.14
WO 03017497 A1, 2003.02.27
СПОСОБ И УСТРОЙСТВО ДЛЯ УКАЗАНИЯ ПАРАМЕТРОВ КВАНТОВАТЕЛЯ В СИСТЕМЕ ВИДЕОКОДИРОВАНИЯ 2003
  • Лайнема Яни
RU2322770C2
СПОСОБЫ И УСТРОЙСТВА ОБРАБОТКИ НАБОРА КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ, СПОСОБЫ И УСТРОЙСТВА ОБРАТНОГО ОРТОГОНАЛЬНОГО ПРЕОБРАЗОВАНИЯ НАБОРА КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ, СПОСОБЫ И УСТРОЙСТВА ДЛЯ УПЛОТНЕНИЯ И РАСШИРЕНИЯ СИГНАЛА ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, НОСИТЕЛЬ ЗАПИСИ УПЛОТНЕННОГО СИГНАЛА, ПРЕДСТАВЛЯЮЩЕГО ДВИЖУЩЕЕСЯ ИЗОБРАЖЕНИЕ 1994
  • Терухико Сузуки
  • Еити Ягасаки
  • Татсуя Судо
  • Тору Оказаки
RU2119727C1
РИЧАРДСОН ЯН
Железнодорожный снегоочиститель 1920
  • Воскресенский М.
SU264A1
- М.:

RU 2 471 306 C2

Авторы

Футие Такааки

Даты

2012-12-27Публикация

2009-06-23Подача