устройство обработки изображений и способ обработки изображений
Классы МПК: | H04N7/26 с использованием уменьшения ширины полосы частот |
Автор(ы): | ФУТИЕ Такааки (JP), КОЯБУ Кёхеи (JP), СИБАТА Содзиро (JP), ТАКАХАСИ Касу (JP), ХОРИУТИ Юя (JP) |
Патентообладатель(и): | СОНИ КОРПОРЕЙШН (JP) |
Приоритеты: |
подача заявки:
2009-06-23 публикация патента:
20.12.2013 |
Изобретение относится к вычислительной технике. Технический результат заключается в улучшении точности размера генерируемых кодов. Устройство обработки изображений, содержащее секцию вычисления выбранного размера генерируемых кодов, которая кодирует входное изображение посредством, по меньшей мере, квантования простых кодированных данных, которые получены простым кодированием входного изображения посредством простой обработки, за счет использования шагов квантования на основе выбранных факторов квантования, дискретно выбранных из факторов квантования, и вычисляет размеры генерируемых кодов входного изображения при кодировании; секцию коррекции ошибки, которая корректирует ошибку в размерах генерируемых кодов входного изображения при кодировании, которое происходит в соответствии с простой обработкой; и секцию вычисления интерполированного размера генерируемых кодов, которая вычисляет размеры генерируемых кодов, когда входное изображение кодируется на основе параметров квантования иных, нежели выбранные параметры квантования, путем интерполяционного процесса в отношении размеров генерируемых кодов, когда входное изображение кодируется на основе выбранных факторов квантования. 3 н. и 17 з.п. ф-лы, 9 ил.
Формула изобретения
1. Устройство обработки изображений, содержащее:
секцию вычисления выбранного размера генерируемых кодов, которая кодирует входное изображение посредством, по меньшей мере, квантования простых кодированных данных, которые получены простым кодированием входного изображения посредством простой обработки, за счет использования шагов квантования на основе выбранных факторов квантования, дискретно выбранных из факторов квантования, и вычисляет размеры генерируемых кодов входного изображения при кодировании;
секцию коррекции ошибки, которая корректирует ошибку в размерах генерируемых кодов входного изображения при кодировании, которое происходит в соответствии с простой обработкой; и
секцию вычисления интерполированного размера генерируемых кодов, которая вычисляет размеры генерируемых кодов, когда входное изображение кодируется на основе параметров квантования иных, нежели выбранные параметры квантования, путем интерполяционного процесса в отношении размеров генерируемых кодов, когда входное изображение кодируется на основе выбранных факторов квантования.
2. Устройство обработки изображений по п.1, дополнительно содержащее:
секцию определения базового фактора квантования, которая определяет в качестве базового фактора квантования фактор квантования, с которым размер генерируемого кода при кодировании входного изображения предсказывается как ближайший к целевому размеру кода на основе размеров генерируемых кодов, вычисленных секцией вычисления выбранных размеров генерируемых кодов и секцией вычисления интерполированного размера генерируемого кода; и
основную кодирующую секцию, которая кодирует входное изображение на основе базового фактора квантования, найденного секцией определения базового фактора квантования.
3. Устройство обработки изображений по п.2, в котором секция вычисления выбранного размера генерируемого кода использует выбранные факторы квантования, выбранные из диапазона факторов квантования, которые могут быть приняты матрицей квантования, используемой при квантовании.
4. Устройство обработки изображений по п.1, дополнительно содержащее:
секцию выбора предсказанного фактора квантования, которая выбирает в качестве предсказанного фактора квантования фактор квантования, соответствующий размеру генерируемого кода, ближайшему к целевому размеру кода, среди размеров генерируемых кодов, вычисленных секцией вычисления выбранного размера генерируемого кода и секцией вычисления интерполированного размера генерируемого кода;
при этом секция определения базового фактора квантования включает в себя:
секцию вычисления соседнего размера генерируемого кода, которая кодирует входное изображение на основе предсказанного фактора квантования, выбранного секцией выбора предсказанного фактора квантования, и факторов квантования по соседству с предсказанным фактором квантования и вычисляет размеры генерируемых кодов входного изображения при кодировании; и
секцию выбора, которая выбирает в качестве базового фактора квантования фактор квантования, соответствующий размеру генерируемого кода, ближайшему к целевому размеру кода, если размер генерируемого кода при кодировании входного изображения на основе одного из предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования является ближайшим к целевому размеру кода.
5. Устройство обработки изображений по п.4, в котором секция вычисления выбранного размера генерируемого кода вычисляет размеры генерируемых кодов входного изображения при кодировании с помощью матриц квантования по порядку от матрицы квантования, градиент которой мал, а если предсказанный фактор квантования попадает в диапазон, который может быть принят матрицей квантования, определяет используемую матрицу квантования в качестве матрицы квантования, подлежащей использованию основной кодирующей секцией.
6. Устройство обработки изображений по п.5, в котором
секция вычисления соседнего размера генерируемого кода задает фактор квантования, непосредственно предшествующий предсказанному фактору квантования и непосредственно следующий за ним, в качестве соседних факторов по соседству с предсказанным фактором квантования; и
секция выбора выбирает фактор квантования, соответствующий размеру генерируемого кода, ближайшему к целевому размеру кода, в качестве базового фактора квантования из числа предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования, если целевой размер кода попадает в диапазон размеров генерируемых кодов входного изображения на основе предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования.
7. Устройство обработки изображений по п.4, в котором
секция определения базового фактора квантования включает в себя:
секцию вычисления скорости изменения, которая вычисляет скорость изменения размера генерируемого кода, сопровождающего изменение фактора квантования, из размеров генерируемых кодов при кодировании входного изображения на основе предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования, если целевой размер кода не попадает в диапазон размеров генерируемых кодов входного изображения на основе предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования; и
секцию вычисления переменного размера генерируемого кода, которая вычисляет из скорости изменения, вычисленной секцией вычисления скорости изменения, размеры генерируемых кодов при кодировании входного изображения на основе факторов квантования иных, нежели предсказанный фактор квантования и факторы квантования по соседству с предсказанным фактором квантования; и
секция выбора выбирает в качестве базового фактора квантования фактор квантования, соответствующий размеру генерируемого кода, ближайшему к целевому размеру кода, из размеров генерируемых кодов, вычисленных секцией вычисления переменного размера генерируемого кода.
8. Устройство обработки изображений по п.1, дополнительно содержащее:
основную кодирующую секцию, которая кодирует входное изображение на основе базового фактора квантования, определенного секцией определения базового фактора квантования;
при этом секция вычисления выбранного размера генерируемого кода выполняет простое кодирование на входном изображении посредством простой обработки по сравнению с основной кодирующей секцией.
9. Устройство обработки изображений по п.8, в котором:
основная кодирующая секция выполняет внутреннее предсказание с помощью локально декодированного изображения в качестве предсказанного изображения до квантования; и
секция вычисления выбранного размера генерируемого кода вычисляет размеры генерируемых кодов входного изображения путем выполнения внутреннего предсказания с помощью входного изображения в качестве предсказанного изображения до квантования и корректирует размеры генерируемых кодов для ошибки, которая возникает вследствие использования входного изображения в качестве предсказанного изображения.
10. Устройство обработки изображений по п.9, в котором секция вычисления выбранного размера генерируемого кода корректирует ошибку, которая возникает вследствие использования входного изображения в качестве предсказанного изображения, за счет использования информации ошибки, которая заранее моделируется статистикой.
11. Устройство обработки изображений по п.10, в котором информация ошибки определяется как функция факторов квантования и размеров генерируемых кодов входного изображения при кодировании.
12. Устройство обработки изображений по п.11, в котором секция вычисления выбранного размера генерируемого кода имеет части информации ошибки, смоделированные каждая факторами квантования и размерами генерируемых кодов входного изображения при кодировании.
13. Устройство обработки изображений по п.8, в котором:
основная кодирующая секция выполняет кодирование переменной длины или арифметическое кодирование с переключением между кодированием переменной длины и арифметическим кодированием в соответствии с входным изображением после квантования входного изображения; и
секция вычисления выбранного размера генерируемого кода выполняет кодирование переменной длины после квантования данных простого кодирования для вычисления размеров генерируемых кодов входного изображения при кодировании переменной длины, а когда основная кодирующая секция выполняет арифметическое кодирование на входном изображении, корректирует размеры генерируемых кодов входного изображения при кодировании переменной длины для вычисления размеров генерируемых кодов входного изображения при арифметическом кодировании.
14. Устройство обработки изображений по п.4, в котором:
основная кодирующая секция выполняет внутреннее предсказание с помощью локально декодированного изображения в качестве предсказанного изображения перед квантованием; и
секция определения базового фактора квантования,
секция вычисления соседних размеров генерируемых кодов использует локально декодированное изображение на основе предсказанного фактора квантования в качестве предсказанного изображения для каждого из факторов квантования по соседству с предсказанным фактором квантования при кодировании входного изображения на основе предсказанного фактора квантования, выбранного секцией выбора предсказанного фактора квантования, и факторов квантования по соседству с предсказанным фактором квантования.
15. Устройство обработки изображений, содержащее:
секцию вычисления размеров простых генерируемых кодов, которая вычисляет размеры генерируемых кодов входного изображения при простом кодировании путем выполнения простого кодирования на входном изображении посредством, по меньшей мере, квантования входного изображения на основе факторов квантования;
секцию определения базового фактора квантования, которая определяет в качестве базового фактора квантования фактор квантования, с которым размер генерируемых кодов при кодировании входного изображения предсказывается как ближайший к целевому размеру кода на основе размеров генерируемых кодов, вычисленных секцией вычисления простых генерируемых кодов;
секцию обратного прослеживания, которая обнаруживает фактор квантования, использованный при предыдущем кодировании входного изображения, в качестве фактора квантования для каждого из блоков кодирования, на основе остатков при делении входного изображения на коэффициенты изменения масштаба, основанные на факторах квантования;
секцию вычисления выявленного размера генерируемых кодов, которая вычисляет размер генерируемых кодов для каждого из блоков кодирования путем кодирования входного изображения на основе выявленного фактора квантования, выявленного секцией обратного прослеживания; и
секцию вычисления размера генерируемых кодов управляющих блоков, которая вычисляет размер генерируемых кодов для каждого из управляющих блоков, включающих в себя каждый множество блоков кодирования, путем суммирования размера генерируемых кодов на основе базового фактора квантования для каждого из блоков кодирования, для которых выявленный фактор квантования не выявлен секцией обратного прослеживания, и размера генерируемых кодов, вычисленного секцией вычисления выявленного размера генерируемых кодов для каждого из блоков кодирования, для которых выявленный фактор квантования выявлен секцией обратного прослеживания.
16. Устройство обработки изображений по п.15, в котором секция вычисления базового размера генерируемого кода и секция вычисления выявленного размера генерируемых кодов вычисляют каждая размер генерируемого кода для каждого из блоков кодирования одновременно параллельно.
17. Устройство обработки изображений по п.16, содержащее далее:
секцию определения, которая определяет, является ли входное изображение исходным изображением или неисходным изображением, на основе скорости выявления фактора квантования секцией обратного прослеживания; и
основную кодирующую секцию, которая кодирует входное изображение на основе фактора квантования основного кодирования;
при этом секция вычисления размера генерируемых кодов блока кодовых размеров использует выявленный фактор квантования, выявленный секцией обратного прослеживания в качестве фактора квантования основного кодирования по отношению к каждому из блоков кодирования, для которых фактор квантования выявлен секцией обратного прослеживания, и использует базовый фактор квантования, определенный секцией определения базового фактора квантования в качестве фактора квантования основного кодирования по отношению к каждому из блоков кодирования, для которых фактор квантования не выявлен секцией обратного прослеживания, если определено секцией определения, что входное изображение является неисходным изображением, и размер генерируемого кода для каждого из управляющих блоков, вычисленный секцией вычисления размера генерируемого кода управляющих блоков, попадает в разрешенное значение на основе целевого размера кода.
18. Устройство обработки изображений по п.17, в котором секция размера генерируемых кодов блока кодового размера использует в качестве фактора квантования основного кодирования базовый фактор квантования, определенный секцией определения базового фактора квантования, если определено секцией определения, что входное изображение является исходным изображением.
19. Устройство обработки изображений по п.16, в котором
секция определения базового фактора квантования включает в себя:
секцию вычисления соседнего размера генерируемого кода, которая вычисляет размеры генерируемых кодов входного изображения при кодировании путем кодирования входного изображения на основе базового фактора квантования или предсказанного фактора квантования, предсказанного находиться в его соседстве, и факторов квантования по соседству с предсказанным фактором квантования; и
секцию вычисления скорости изменения, которая вычисляет скорость изменения в сопровождающем размер генерируемого кода изменении в факторе квантования из размеров генерируемых кодов при кодировании входного изображения на основе предсказанного фактора квантования и факторов квантования по соседству с предсказанным фактором квантования; и
секция вычисления размеров генерируемых кодов управляющих блоков перемножает размер генерируемого кода для каждого из блоков квантования на основе предсказанного фактора квантования на множитель изменения, полученный добавлением 1 к скорости изменения, для числа раз, равного разностному значению базового фактора квантования от предсказанного фактора квантования.
20. Способ обработки изображений, содержащий этапы, на которых:
вычисляют выбранный размер генерируемых кодов при кодировании входного изображения посредством, по меньшей мере, квантования простых кодированных данных, которые получены простым кодированием входного изображения посредством простой обработки, за счет использования шагов квантования на основе выбранных факторов квантования, дискретно выбранных из факторов квантования, и вычисляют размеры генерируемых кодов входного изображения при кодировании;
корректируют ошибку в размерах генерируемых кодов входного изображения при кодировании, которое происходит в соответствии с простой обработкой; и
вычисляют интерполированный размер генерируемых кодов при вычислении размеров генерируемых кодов, когда входное изображение кодируется на основе параметров квантования иных, нежели выбранные параметры квантования, путем интерполяционного процесса в отношении размеров генерируемых кодов, когда входное изображение кодируется на основе выбранных факторов квантования.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение связано, например, с кодирующим изображения устройством или тому подобным и относится, в частности, к технической области согласования размера генерируемого кода с целевым размером кода, заданным для одной картинки, без выполнения внутреннего управления с обратной связью.
Уровень техники
В уровне техники в системах или тому подобном для передачи битовых потоков подвижных изображений или записи этих битовых потоков на носители информации осуществляется высокоэффективное кодирование, чтобы обеспечить эффективное использование тракта передачи или возможности записи. В воплощающих это кодирующих изображения устройствах битовая скорость кодирования битового потока, вырабатываемого в кодере, сделана постоянной в соответствии со скоростью передачи передающей среды и размером генерируемых данных, то есть шагом квантования для квантования в кодере управляют при этом ограничении. То есть, например, если имеется последовательность изображений со сложными узорами, шаг квантования делается больше, чтобы ограничить размер генерируемых данных. Наоборот, если имеется последовательность простых узоров, шаг квантования делается меньше, чтобы увеличить размер генерируемых данных, благодаря чему поддерживается фиксированная скорость и предотвращается появление переполнения или недостаточного заполнения буферной памяти.
Таким образом, в кодирующих изображения устройствах согласно уровню техники, как упомянуто выше, шаг квантования становится больше и качество изображения ухудшается, когда имеется последовательность сложных изображений, и шаг квантования становится меньше, когда имеется последовательность простых изображений, что не дает возможности получить полностью равномерное качество изображений. С учетом этой проблемы, например, в Патентном документе 1 раскрывается кодирующее изображения устройство, в котором в соответствии с соотношением сложности кодирования каждой группы картинок (GOP) к полной сумме сложностей кодирования множества групп картинок размеры выделенных кодов, присвоенных самим отдельным группам картинок, вычисляются таким образом, что большие выделения делаются для групп картинок, содержащих изображения со сложными узорами, и малые выделения делаются для групп картинок с простыми узорами.
С другой стороны, например, этап 2 ТМ5 (тестовой модели 5) общеизвестен как способ согласования размера генерируемого кода с целевым размером кода, заданного для одной картинки. Это такой метод, в котором размер кода, выделенного для картинки, распределяется равномерно по макроблокам (МБ) (MB), чтобы найти целевой размер кода для каждого МБ, и управление с обратной связью применяется в картинке для достижения согласования с целевым размером кода.
Патентный документ 1: патент Японии № 3358620.
Однако при вышеописанном способе этапа 2 ТМ5 имеются случаи, когда при кодировании первой картинки в последовательности или картинки, следующей сразу за сменой сцены, начальное значение шага квантования не согласуется с узором этой картинки, что приводит к ухудшению качества изображения.
Например, если шаг квантования слишком большой на участке управления с обратной связью перед следующим узором, качество изображения этой части ухудшается по сравнению с другими участками. Если шаг квантования чересчур мал, в этом участке используется слишком большой размер кода, что может даже повлиять на другие участки.
Помимо этого, поскольку целевой размер кода для каждого МБ установлен постоянным на все время, распределение размера кода становится неприемлемым в таких случаях, как когда имеется дисбаланс во внутренней сложности изображения. Соответственно, для кодирующего изображения устройства желательно выполнять кодирование параллельно заранее, чтобы предсказывать размер генерируемого кода, и согласовывать этот размер генерируемого кода с целевым размером кода, заданным для одной картинки, без выполнения внутреннего управления с обратной связью. Однако, если кодирующее изображения устройство должно выполнять квантование параллельно для нескольких параметров квантования, размер схем становится неблагоприятно большим.
Сущность изобретения
Для решения вышеупомянутых проблем устройство обработки изображений согласно настоящему изобретению включает в себя секцию вычисления выбранного размера генерируемых кодов, которая кодирует входное изображение посредством, по меньшей мере, квантования простых кодированных данных, которые получены простым кодированием входного изображения посредством простой обработки, за счет использования шагов квантования на основе выбранных факторов квантования, дискретно выбранных из факторов квантования, и вычисляет размеры генерируемых кодов входного изображения при кодировании; секцию коррекции ошибки, которая корректирует ошибку в размерах генерируемых кодов входного изображения при кодировании, которое происходит в соответствии с простой обработкой; и секцию вычисления интерполированного размера генерируемых кодов, которая вычисляет размеры генерируемых кодов, когда входное изображение кодируется на основе параметров квантования иных, нежели выбранные параметры квантования, путем интерполяционного процесса в отношении размеров генерируемых кодов, когда входное изображение кодируется на основе выбранных факторов квантования.
Следовательно, устройство обработки изображений не нуждается в кодировании входного изображения на основе всех параметров квантования, а кроме того, кодирует входное изображение посредством простого кодирования. Таким образом, возможно улучшить точность размера генерируемых кодов путем коррекции ошибки на основе простого кодирования при упрощении схемной конфигурации.
Далее, способ обработки изображений согласно настоящему изобретению включает в себя этапы, на которых вычисляют выбранный размер генерируемых кодов при кодировании входного изображения посредством по меньшей мере квантования простых кодированных данных, которые получены простым кодированием входного изображения посредством простой обработки, за счет использования шагов квантования на основе выбранных факторов квантования, дискретно выбранных из факторов квантования, и вычисляют размеры генерируемых кодов входного изображения при кодировании; корректируют ошибку в размерах генерируемых кодов входного изображения при кодировании, которое происходит в соответствии с простой обработкой; и вычисляют интерполированный размер генерируемых кодов при вычислении размеров генерируемых кодов, когда входное изображение кодируется на основе параметров квантования иных, нежели выбранные параметры квантования, путем интерполяционного процесса в отношении размеров генерируемых кодов, когда входное изображение кодируется на основе выбранных факторов квантования.
Следовательно, способ обработки изображений не нуждается в кодировании входного изображения на основе всех параметров квантования, а кроме того, кодирует входное изображение посредством простого кодирования. Таким образом, возможно улучшить точность размера генерируемых кодов путем коррекции ошибки на основе простого кодирования при упрощении схемной конфигурации.
Далее, устройство обработки изображений в соответствии с настоящим изобретением включает в себя секцию вычисления размеров простых генерируемых кодов, которая вычисляет размеры генерируемых кодов входного изображения при простом кодировании путем выполнения простого кодирования на входном изображении посредством по меньшей мере квантования входного изображения на основе факторов квантования; секцию определения базового фактора квантования, которая определяет в качестве базового фактора квантования фактор квантования, с которым размер генерируемых кодов при кодировании входного изображения предсказывается как ближайший к целевому размеру кода на основе размеров генерируемых кодов, вычисленных секцией вычисления простых генерируемых кодов; секцию обратного прослеживания, которая обнаруживает фактор квантования, использованный при предыдущем кодировании входного изображения, в качестве фактора квантования для каждого из блоков кодирования, на основе остатков при делении входного изображения на коэффициенты изменения масштаба, основанные на факторах квантования; секцию вычисления выявленного размера генерируемых кодов, которая вычисляет размер генерируемых кодов для каждого из блоков кодирования путем кодирования входного изображения на основе выявленного фактора квантования, выявленного секцией обратного прослеживания; и секцию вычисления размера генерируемых кодов управляющих блоков, которая вычисляет размер генерируемых кодов для каждого из управляющих блоков, включающих в себя каждый множество блоков кодирования, путем суммирования размера генерируемых кодов на основе базового фактора квантования для каждого из блоков кодирования, для которых выявленный фактор квантования не выявлен секцией обратного прослеживания, и размера генерируемых кодов, вычисленного секцией вычисления выявленного размера генерируемых кодов для каждого из блоков кодирования, для которых выявленный фактор квантования выявлен секцией обратного прослеживания.
Следовательно, для входного изображения, которое является неисходным изображением, устройство обработки изображений использует размер генерируемых кодов, основанный на базовом факторе квантования в отношении каждого блока кодирования, для которого выявленный фактор квантования не выявлен секцией обратного прослеживания, что делает возможным вычислять размер генерируемых кодов при кодировании входного изображения на основе выявленного фактора квантования, выявленного секцией обратного прослеживания, посредством простой конфигурации.
Согласно настоящему изобретению нет необходимости кодировать входное изображение на основе всех параметров квантования, а кроме того, входное изображение кодируется простым кодированием. Таким образом, возможно улучшить точность размера генерируемых кодов путем коррекции ошибки на основе простого кодирования при упрощении схемной конфигурации. Тем самым настоящее изобретение может реализовать устройство обработки изображений и способ обработки изображений, которые могут сократить размер схем при вычислении размера генерируемых кодов.
Далее, согласно настоящему изобретению для входного изображения, которое является неисходным изображением, используется размер генерируемых кодов, основанный на базовом факторе квантования в отношении каждого из блоков кодирования, для которого выявленный фактор квантования не выявлен секцией обратного прослеживания, что дает возможность вычислять размер генерируемых кодов при кодировании входного изображения на основе выявленного фактора квантования, выявленного секцией обратного прослеживания, посредством простой конфигурации. Таким образом, настоящее изобретение может реализовать устройство обработки изображений и способ обработки изображений, которые могут сократить размер схем при вычислении размера генерируемых кодов.
Краткое описание чертежей
Фиг.1 представляет собой схему конфигурации кодирующего изображения устройства согласно первому варианту осуществления настоящего изобретения.
Фиг.2 является концептуальной диаграммой, иллюстрирующей, что коррекция выполняется на дискретных значениях QP, и размеры кодов вычисляются путем интерполирования в отношении QP между ними.
Фиг.3 является блок-схемой алгоритма, подробно иллюстрирующей процедуру кодирования в кодирующем изображения устройстве согласно первому варианту осуществления настоящего изобретения.
Фиг.4 является блок-схемой алгоритма, иллюстрирующей далее адаптивный процесс переключения Q матриц.
Фиг.5 является блок-схемой алгоритма, иллюстрирующей процесс вычислений для размеров генерируемых кодов низкой точности согласно настоящему изобретению.
Фиг.6 представляет собой структурную схему кодирующего изображения устройства согласно второму варианту осуществления настоящего изобретения.
Фиг.7 является блок-схемой алгоритма, подробно иллюстрирующей процедуру кодирования кодирующим изображения устройством согласно второму варианту осуществления настоящего изобретения.
Фиг.8 является блок-схемой алгоритма, иллюстрирующей процесс оценивания предыдущего параметра.
Фиг.9 является блок-схемой алгоритма, иллюстрирующей определение режима исходного изображения или режима перезаписи.
Подробное описание изобретения
Ниже будут подробно, со ссылками на чертежи, описаны наилучшие варианты осуществления настоящего изобретения (именуемые здесь далее просто вариантами осуществления). Следует отметить, что описание будет дано следующим образом.
1. Первый вариант осуществления (предсказание размеров генерируемых кодов низкой точности путем интерполирования).
2. Второй вариант осуществления (предсказание размеров генерируемых кодов высокой точности путем обратного прослеживания).
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 матрица», а также грубо оценивает размеры генерируемых кодов в отношении диапазона параметров QP квантования, который может быть принят устанавливаемой матрицей квантования «Q матрица» посредством простой обработки первой предкодирующей секцией 1. Здесь и далее размеры генерируемых кодов, оцененные как результат первой предкодирующей секции 1, будут называться размерами генерируемых кодов низкой точности. Кодирующее изображения устройство 100 выполняет такую же обработку в отношении всех матриц квантования «Q матрица» и вычисляет размеры генерируемых кодов низкой точности при смене матрицы квантования «Q матрица» и параметра QP квантования. Далее, кодирующее изображения устройство 100 устанавливает параметр QP квантования и матрицу квантования «Q матрица», при которых размер генерируемых кодов низкой точности становится ближайшим к целевому размеру кодов, в качестве предсказанных параметра QPd квантования, который следует использовать как средний параметр квантования «Базовый QP» для картинки на следующем этапе (второй предкодирующей секцией 2), и матрицы квантования «Q матрица» для картинки, которую следует использовать на следующем этапе (здесь и далее она будет называться предсказанной матрице квантования «Q матрица D»).
В это же время кодирующее изображения устройство 100 вычисляет размеры генерируемых кодов низкой точности для входного изображения 91 с помощью некоторых дискретно выбранных параметров QP квантования (здесь и далее они будут называться выбранными параметрами QP1 квантования). Кодирующее изображения устройство 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 квантования.
Здесь, одновременно в параллель с определением режима внутреннего предсказания секцией 11 определения режима внутреннего предсказания секция 16 вычисления активности вычисляет активность и группирует каждый макроблок (MB) по активности. То есть, например, в предположении группирования по номеру группы активности NumOfActivityGroup секция 16 вычисления активности сравнивает значение активности с порогами Activity Threshold[0] - Activity Threshold[NumOfActivityGroup-2], чтобы определить группу активности.
Следует отметить, что параметр QP квантования, реально используемый в процессе квантования, находят добавлением сдвига (AdaptQpDelta), который зависит от группы активности, к среднему параметру QP квантования (Базовый QP) для картинки.
MB_QP= Базовый QP+AdaptQpDelta[группа_активности]
Например, если номер группы активности NumOfActivityGroup равен 13, каждое значение сдвига AdaptQpDelta можно определить как
AdaptQpDelta[13]={-6,- 5,-4,-3,-2,-1,0,1,2,3,4,5,6}.
Номер группы активности, определенный в отношении каждого MB, вводится в секцию 14 квантования. Секция 14 квантования добавляет сдвиг согласно группе активности к каждому из выбранных параметров QP1 квантования для вычисления адаптивного параметра QPt квантования. Секция 14 квантования выполняет процесс квантования на коэффициентах ДКП на основе адаптивного параметра QPt квантования.
Первая предкодирующая секция 1 устанавливает следующую матрицу квантования «Q матрица» и выбранные параметры QP1 квантования, соответствующие матрице квантования «Q матрица», благодаря чему размеры генерируемых кодов вычисляются просто. В результате первая предкодирующая секция 1 вычисляет размеры генерируемых кодов по отдельности в отношении матриц квантования «Q матрица» и выбранных параметров QP1 квантования, соответствующих матрицам квантования «Q матрица».
1-2-2. Коррекция ошибки в размере генерируемых кодов
Секция 4 управления размером кода выполняет коррекцию в отношении размеров генерируемых кодов, вычисленных в первой предкодирующей секции 1.
Здесь, коррекция выполняется за счет использования того факта, что ошибка имеет некоторую степень тенденции.
Первой причиной ошибки является использование входного изображения 91 для процесса внутреннего предсказания вместо локально декодированного изображения. В этом случае, поскольку изображение, используемое для внутреннего предсказания, свободно от искажения вследствие кодека, эффективность кодирования становится лучше, чем при реальном кодировании, и тем самым полученный размер кода стремится стать до некоторой степени малым. Поскольку величина этой ошибки зависит от величины искажения, соотношение между размером генерируемого кода и ошибкой таково, что ошибка стремится стать больше, когда битовая скорость становится меньше. Помимо того, соотношение между параметром 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 к каждому из размеров генерируемых кодов.
Вторая причина ошибки происходит только когда в качестве схемы статистического кодирования выбирают САВАС. В первой предкодирующей секции 1 кодирование посредством САВАС не выполняется, и размеры кодов низкой точности при кодировании посредством САВАС предсказываются из размеров кода на основе CAVLC. Поскольку САВАС обеспечивает лучшую эффективность кодирования, нежели CAVLC, размер генерируемого кода при предкодировании посредством CAVLC стремится стать несколько больше, чем реальный размер кода. Например, соотношение между размером генерируемого кода и ошибкой таково, что со статистической точки зрения величина данной ошибки стремится стать больше, когда битовая скорость становится меньше, вследствие улучшенной эффективности САВАС. Аналогично, это также корректируется сбором статистических данных о величине ошибки заранее и подготовкой модели средней ошибки.
Выявлено, что по сравнению с ошибкой, которая возникает при кодировании на основе размера кода CAVLC, ошибка, происходящая от САВАС, изменяется в обратную сторону по отношению к параметру QP квантования и битовой скорости, и величина этого изменения мала.
Соответственно, величина коррекции по отношению к САВАС (здесь и далее называемая величиной коррекции САВАС) определяется как функция от битовой скорости «r» и параметра QP квантования «q». В это время величина Cb коррекции вычисляется по следующему уравнению.
Величина коррекции Cb=min(r,q).
Секция 4 управления размером кода перемножает каждый из размеров генерируемых кодов (размеры коды предкодирования), вычисленных первой предкодирующей секцией 1, на величину коррекции Cv в соответствии с приведенным ниже уравнением, благодаря чему вычисляется величина коррекции по отношению к размеру генерируемого кода (здесь и далее называемого размером кода коррекции САВАС).
Размер кода коррекции САВАС= размер кода предкодирования ×Cb.
Секция 4 управления размером кода вычисляет размеры генерируемых кодов низкой точности в отношении САВАС путем добавления размера кода коррекции САВАС к каждому из размеров генерируемых кодов низкой точности. Как показано на фиг.2, секция 4 управления размером кода может вычислять величину коррекции САВАС и размер кода коррекции САВАС (указанный черными кружками) в отношении каждого из размеров генерируемых кодов (указанных квадратами), вычисленных первой предкодирующей секцией 1.
Затем секция 4 управления размером кода выполняет процесс оценивания для параметра квантования (QP). Как описано выше, первая предкодирующая секция 1 получает размеры генерируемых кодов за счет выполнения предкодирования с дискретными значениями выбранного параметра QP 1 квантования на произвольном интервале. Секция 4 управления размером кода вычисляет размеры генерируемых кодов путем интерполирования (указанного белыми кружками) в отношении параметров QP квантования иных, нежели выбранные параметры QP1 квантования, в диапазоне параметров QP1 квантования, которые могут быть приняты матрицей квантования «Q матрица». В качестве процесса интерполирования можно использовать обычный процесс интерполирования, такой как линейная интерполяция.
То есть, как показано на фиг.2, коррекция выполняется в отношении дискретных значений параметра QP квантования (указанных квадратами), полученного в первой предкодирующей секции 1, для получения скорректированных параметров QP квантования (указанных черными кружками), и далее, размеры кодов вычисляются путем интерполирования в отношении к параметрам QP квантования между ними (указаны белыми кружками).
При этом секция 4 управления размером кода корректирует размеры генерируемых кодов, вычисленные первой предкодирующей секцией 1, для ошибки в размере генерируемого кода, которая происходит в соответствии с упрощенным процессом в первой предкодирующей секции 1, благодаря чему вычисляются размеры генерируемых кодов низкой точности в отношении CAVLC. Следовательно, секция 4 управления размером кода может улучшать точность предсказания размеров генерируемых кодов за счет процесса упрощенного кодирования. Путем использования размеров генерируемых кодов в отношении CAVLC секция 4 управления размером кода вычисляет размеры генерируемых кодов низкой точности, представляющих предсказанные размеры для размера генерируемых кодов вследствие САВАС. Таким образом, секция 4 управления размером кода может оценивать размеры генерируемых кодов низкой точности вследствие САВАС без выполнения САВАС, что требует сложной обработки. Из размеров генерируемых кодов, предсказанных выбранными параметрами QP1 квантования, которые выбраны дискретно, секция 4 управления размером кода предсказывает размеры генерируемых кодов в отношении параметров QP квантования иных, нежели выбранные параметры QP1 квантования, посредством процесса интерполирования. Следовательно, для секции 4 управления размером кода нет необходимости кодировать входное изображение 91 за счет использования всех параметров QP квантования, что дает возможность упростить конфигурацию первой предкодирующей секции 1.
1-2-3. Определение предсказанной матрицы квантования
Как описано выше, размеры генерируемых кодов низкой точности вычисляются в отношении всех параметров QP квантования, которые могут быть приняты матрицей квантования «Q матрица». Секция 4 управления размером кода выполнена с возможностью смены матрицы квантования «Q матрица» в соответствии со сложностью кодирования и выбора на основе размеров генерируемых кодов, соответствующих измененной матрице квантования «Q матрица», того параметра QP квантования, который является ближайшим к целевому размеру кода, в качестве базового параметра QPMB квантования.
Секция 4 управления размером кода выбирает для каждой матрицы квантования «Q матрица» параметр QP квантования, используемый, когда получается размер генерируемого кода низкой точности, ближайший к целевому размеру кода, в качестве соседнего параметра QPn квантования. Секция 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 управления размером кода вычисляет по порядку из матрицы квантования «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 квантования для картинки, используемой в основном кодировании, из размеров генерируемых кодов высокой точности, полученных вторым предкодированием. Затем из этого определенного базового параметра QPMB квантования для картинки, предсказанной матрицы квантования «Q матрица D» и группы активности каждого МБ секция 4 управления размером кода передает информацию на квантование (такую как «Q матрица» и QP для каждого МБ) в основную кодирующую секцию 3.
Конкретнее, если целевой размер кода оказывается между размерами генерируемых кодов высокой точности, полученных вторым предкодированием, то есть, если
Генерированные_биты (QP_ предкод1+1) Целевые_биты<,
<Генерированные биты (QP_предкод1-1),
то параметр QP квантования, который является ближайшим к целевому размеру кода, выбирается в качестве базового параметра QPMB квантования.
В противном случае, секция 4 управления размером кода находит скорость изменения размера генерируемого кода высокой точности по отношению к изменению в параметре QP квантования из результатов второго предкодирования. Предсказанный параметр QPd квантования вычисляется на основе размеров генерируемых кодов низкой точности, полученных первой предкодирующей секций 1. Следовательно, параметр QP квантования, ближайший к целевому размеру кода, существует по соседству с предсказанным параметром QPd квантования. Если параметры QP квантования близки по значению, скорость изменения в размере генерируемого кода практически постоянна. Соответственно, секция 4 управления размером кода предсказывает размеры генерируемых кодов высокой точности для отдельных параметров QP квантования из предсказанного параметра QPd квантования и скорости изменения в размере генерируемого кода высокой точности для параметров QP квантования предшествующего предсказанному параметру QPd квантования и следующего за ним и выбирает параметр QP квантования, ближайший к целевому размеру, в качестве базового параметра QPMB квантования.
Сначала величина РазнОтнош_1, показывающая, на сколько процентов изменяется размер генерируемого кода высокой точности, когда из параметра QP квантования вычитается «1», находится, как указано ниже, из результатов второго предкодирования 2. Следует отметить, что величина Генерир_биты показывает размер генерируемого кода во втором предкодировании 2, ОР_предкод1 показывает предсказанный параметр QPd квантования, а величина ОР_предкод1-1 показывает параметр QP квантования, который меньше, чем предсказанный параметр QPd квантования, на «1».
РазнОтнош_1=(Генерир_биты(QP_предкод1-1)-Генерир_биты(QP_предкод1))/(Генерир_биты(QP_предкод1).
Величина РазнОтнош_2, показывающая, на сколько процентов изменяется размер генерируемого кода высокой точности, когда к параметру QP квантования добавляется «1», находится, как указано ниже, из результатов второго предкодирования 2. Величина ОР_предкод1+1 показывает параметр QP квантования, который больше, чем предсказанный параметр QPd квантования, на «1».
РазнОтнош_1=(Генерир_биты(QP_предкод1)-Генерир_биты(QP_предкод1+1))/(Генерир_биты(QP_предкод1+1).
Скорость изменения РазнОтнош в размере генерируемого кода высокой точности по соседству с предсказанным параметром QPd квантования находят следующим образом.
РазнОтнош=(РазнОтнош_1+РазнОтнош_2)/2.
То есть РазнОтнош вычисляется как среднее от изменений в размере генерируемого кода, когда параметр QP квантования изменяется на «1» в каждом из положительного и отрицательного направлений от предсказанного параметра QPв квантования.
Полагая, что Дельта 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) и следующим меньшим параметром QP квантования (QP_предкод1-1). Здесь, для сокращения размера схем, как описано выше, запараллелены только секция 23 квантования и секция 24 вычисления длины статистического кода, а прочие процессы используются совместно.
В это время локальное декодирование изображения, используемое для процесса внутреннего предсказания, представляет собой данные, квантованные с предсказанным параметром QPd квантования (QP_предкод1), оцененным на основе результатов первой предкодирующей секции 1. То есть данные, подлежащие обработке при обратном квантовании и ОДКП, представляют собой квантованный выход предсказанного параметра QPd квантования (QP_предкод1). Это означает, что входы для процесса внутреннего предсказания при предкодировании с помощью параметров QP квантования (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.
При этом, после ДКП посредством секции 32 ДКП и квантования коэффициентов ДКП посредством секции 33 ДКП, как описано выше, секцией 34 статистического кодирования выполняется статистическое кодирование, и выводится выходной поток 92, установленный на целевой размер кода.
1-5. Заключение
Таким путем в кодирующем изображения устройстве 100 согласно данному варианту осуществления при первом предкодировании первой предкодирующей секцией 1 приближенно вычисляются размеры генерируемых кодов низкой точности, когда кодирование выполняется с множеством выбранных параметров QP1 квантования, благодаря чему оценивается предсказанный параметр QPd квантования, который обеспечивает целевой размер кода.
В это же время первая предкодирующая секция 1 выполняет параллельно кодирование, чтобы вычислить размеры генерируемых кодов в случае, когда кодирование выполняется с выбранными параметрами QP1 квантования на произвольном интервале.
Обычно для выполнения кодирования параллельно размер схем становится очень большим. Однако для снижения размера схем данный вариант осуществления разрешает эту проблему за счет выполнения процессов как можно более общо при реализации параллельного кодирования.
То есть, конкретнее, в первой предкодирующей секции 1, как описано ранее, только секция 14 квантования и секция 15 вычисления длины статистического кода предусматриваются работающими параллельно, а прочие процессы реализуются совместно. Помимо того, для исключения секции обратного квантования, секции ОДКП и буфера входное изображение используется в качестве предсказанного изображения для выполнения процесса внутреннего предсказания.
С другой стороны, когда при статистическом кодировании используется САВАС, зачастую невозможно выполнить обработку на высокой битовой скорости. То есть в первой предкодирующей секции 1, если при статистическом кодировании используется САВАС, при попытке выполнить вычисление размера кода с заданным параметром QP квантования для предсказания размера кода, если размер кода с параметром QP квантования больше (т.е. если значение каждого квантованного коэффициента больше), невозможно предсказать размер генерируемого кода.
САВАС представляет собой схему статистического кодирования, которая сжимает данные путем выполнения вычисления вероятности для каждого единичного бита. Обработка единичного бита за один раз означает, что по мере того, как размер кода становится больше, время обработки становится дольше, и обработка не заканчивается в определенный период времени (например, период времени одного кадра). Поэтому, если при статистическом кодировании используется САВАС, когда размер кода большой, первая предкодирующая секция 1 не может вычислить размер генерируемого кода после статистического кодирования, делая невозможным предсказание размера генерируемого кода на высокой битовой скорости.
В этом отношении в первом варианте осуществления первая предкодирующая секция 1 использует CAVLC для вычисления размера кода. При этом в первой предкодирующей секции 1 за счет выполнения упрощенного предкодирования со сниженным размером схем и сокращенной обработкой размеры генерируемых кодов низкой точности вычисляются приблизительно. Затем секция 4 управления размером кода выбирает параметр QP квантования с размером генерируемого кода низкой точности, близким к целевому размеру кода, в качестве предсказанного параметра QPd квантования.
Во второй предкодирующей секции 2 с учетом того факта, что оценка предсказанного параметра QPd квантования первой предкодирующей секцией подвержена ошибке, предкодирование выполняется вновь, благодаря чему улучшается предсказание параметра 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 матрица». То есть для каждой матрицы квантования «Q матрица» предкодирование выполняется с дискретными (прерывистыми) значениями выбранного параметра QP1 квантования для получения одного из картинных достоинств размера генерируемого кода. В это время выбранные параметры 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), которая является той же самой, что и основное кодирование.
Конкретно, процесс внутреннего предсказания секцией 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 управления размером кода находит базовый параметр QP MB квантования из размеров генерируемых кодов высокой точности, полученных на основе работы второй предкодирующей секции 2 (этап S10). Вслед за этим, основная кодирующая секция 3 выполняет основное кодирование (этап S11). При основном кодировании собственно кодирование выполняется с помощью базового параметра QPMB квантования для картинки, найденной в результате работы второй предкодирующей секции 2, и предсказанной матрицы квантования «Q матрица» и группы активности, найденных в результате работы первой предкодирующей секции 1. При этом ряд обработок, связанных с кодированием, заканчивается.
Ниже со ссылками на блок-схему алгоритма по фиг.4 будет дано дальнейшее описание процедуры RT2 определения Q матрицы, выполненное на этапе S7 в процедуре RT1 кодирования устройством 100 кодирования изображения.
Когда начинается этот процесс, после первой инициализации Id на Id=0 (эта S21), секция 4 управления размером кода сравнивает, из матрицы квантования «Q матрица» с наименьшим значением Id, параметр QP квантования, у которого размер генерируемого кода низкой точности является ближайшим к целевому размеру кода, с максимальным параметром 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 управления размером кода определяет текущую матрицу квантования «Q матрица» и дает приращение Id (этап S24). Секция 4 управления размером кода решает, равен ли Id полному числу матриц квантования «Q матрица» плюс «1» (NumOfQMatrixId-1) (этап S25). Далее, если Id=NumOfQMatrixId-1 не имеется, обработка возвращается к этапу S22, и проверяется следующая матрица квантования «Q матрица». С другой стороны, если Id=NumOfQMatrixId-1 имеется, выбирается матрица квантования «Q матрица» с самым крутым градиентом (матрица квантования «Q матрица», у которой Id равен NumOfQMatrixId) (этап S23), и процедура RT2 определения «Q матрица» заканчивается.
Посредством этой процедуры RT2 определения «Q матрица» по фиг.4 для каждой матрицы квантования «Q матрица» секция 4 управления размером кода устанавливает максимальный параметр QP квантования, который можно принять, и решает по порядку из матрицы квантования «Q матрица» с плавным градиентом, действительно ли размер генерируемого кода низкой точности, соответствующий параметру QP квантования, у которого размер генерируемого кода низкой точности оценен как ближайший к целевому размеру кода, указывает значение, ближайшее к целевому размеру кода. Затем, если это значение является ближайшим, то соответствующая матрица квантования «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 квантования, благодаря чему возможно упростить вычисление размеров генерируемых кодов низкой точности, а также сократить вычислительную схему.
На основе размеров генерируемых кодов низкой точности, вычисленных путем кодирования на основе выбранных параметров QP1 квантования и процесса интерполирования, кодирующее изображения устройство 100 определяет в качестве базового параметра QP MB квантования тот параметр QP квантования, с которым размер генерируемого кода основного кодирования при кодировании входного изображения 91 предсказывается как ближайший к целевому размеру кода. Кодирующее изображения устройство 100 выполняет кодирование (основное кодирование) на входном изображении 91 посредством секции 3 основного кодирования на основе базового параметра QP MB квантования.
Следовательно, кодирующее изображения устройство 100 может определять базовый параметр QPMB квантования на основе размеров генерируемых кодов низкой точности, порожденных простой обработкой, благодаря чему становится возможным упростить процесс определения базового параметра QPMB квантования.
Кодирующее изображения устройство 100 кодирует входное изображение 91 на основе адаптивного параметра QPt квантования, полученного добавлением сдвига согласно активности к базовому параметру QPMB квантования.
Следовательно, кодирующее изображения устройство 100 может кодировать входное изображение 91 с помощью подходящего адаптивного параметра QPt квантования согласно качеству изображения, благодаря чему становится возможным минимизировать уменьшение в качестве изображения в выходном потоке 92.
Кодирующее изображения устройство 100 использует выбранные параметры QP1 квантования, выбранные из диапазона параметров QP квантования, которые могут быть приняты матрицей квантования «Q матрица», используемой при квантовании.
Следовательно, поскольку кодирующее изображения устройство 100 может ограничивать диапазон параметров QP квантования, число выбранных параметров QP1 квантования можно снизить для упрощения схемной конфигурации. Помимо этого, поскольку интервалы выбранных параметров QP1 квантования можно задать малыми, точность размеров генерируемых кодов низкой точности можно улучшить.
Кодирующее изображения устройство 100 определяет в качестве базового параметра QPMB квантования тот параметр QP квантования, с которым размер генерируемого кода при кодировании входного изображения 91 предсказывается как ближайший к целевому размеру кода, следующим образом на основе размеров генерируемых кодов низкой точности, вычисленных путем кодирования на основе выбранных параметров QP1 квантования и процесса интерполирования. То есть кодирующее изображения устройство 100 выбирает параметр QP квантования, соответствующий размеру генерируемого кода, который является ближайшим к целевому размеру кода, среди размеров генерируемых кодов низкой точности в качестве предсказанного параметра QPв квантования. Кодирующее изображения устройство 100 кодирует входное изображение 91 на основе выбранного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования, благодаря чему вычисляются размеры генерируемых кодов высокой точности входного изображения 91 при кодировании. Если размер генерируемого кода высокой точности при кодировании входного изображения 91 на основе одного из предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования является ближайшим к целевому размеру кода, кодирующее изображения устройство 100 выбирает из предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования тот параметр QP квантования, который соответствует размеру генерируемого кода высокой точности, ближайшему к целевому размеру кода, в качестве базового параметра QPMB квантования.
Следовательно, кодирующее изображения устройство 100 может вычислять размеры генерируемых кодов на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с ним. Этот предсказанный параметр QPd квантования предсказывается как находящийся по соседству с базовым параметром QPMB квантования, который может произвести размер генерируемого кода, ближайший к целевому размеру кода. Таким образом, кодирующее изображения устройство 100 может кодировать входное изображение 91 на основе предсказанного параметра QPd квантования, имеющего высокую возможность быть тем параметром QP квантования, который может произвести размер генерируемого кода, ближайший к целевому размеру кода, и вычислять получающийся размер генерируемого кода.
Кодирующее изображения устройство 100 вычисляет размеры генерируемых кодов при кодировании входного изображения 91 с помощью матриц квантования «Q матрица» по порядку от матрицы с малым градиентом, и если предсказанный параметр QPd квантования попадает в диапазон, который может быть принят используемой матрицей квантования «Q матрица», определяет используемую матрицу квантования «Q матрица» в качестве предсказанной матрицы квантования «Q матрица D», подлежащей использованию секцией 3 основного кодирования. Кодирующее изображения устройство 100 задает параметры QP квантования, непосредственно предшествующие предсказанному параметру QPd квантования и следующие за ним, в качестве параметров QP квантования по соседству с предсказанным параметром QPd квантования. Если целевой размер кода попадает в диапазон размеров генерируемых кодов высокой точности при кодировании входного изображения 91 на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования, кодирующее изображения устройство 100 выбирает параметр QP квантования, соответствующий размеру генерируемого кода высокой точности, ближайшему к целевому размеру кода, в качестве базового параметра QPMB квантования из предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования.
Следовательно, кодирующее изображения устройство 100 может определять базовый параметр QPMB квантования на основе размера генерируемого кода высокой точности при реальном кодировании входного изображения 91 базовым параметром QPMB квантования, благодаря чему становится возможным улучшить точность выявления базового параметра QPMB квантования.
Если целевой размер кода не попадает в диапазон размеров генерируемых кодов при кодировании входного изображения 91 на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования, кодирующее изображения устройство 100 вычисляет скорость изменения РазнОтнош в размере генерируемого кода высокой точности, сопровождающего изменение в параметре QP квантования из размеров генерируемых кодов высокой точности при кодировании входного изображения 91 на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования. Из скорости измерения РазнОтнош, вычисленной секцией вычисления скорости изменения, устройство 100 кодирования изображения вычисляет размеры генерируемых кодов высокой точности при кодировании входного изображения 91 на основе параметров QP квантования иных, нежели предсказанный параметр QPd квантования и параметры QP квантования по соседству с предсказанным параметром QPd квантования. Кодирующее изображения устройство 100 выбирает в качестве базового параметра QPMB квантования тот параметр QP квантования, который соответствует размеру генерируемого кода, ближайшему к целевому размеру кода, среди размеров генерируемых кодов высокой точности.
Следовательно, за счет использования того свойства, что скорость изменения РазнОтнош в размере генерируемого кода высокой точности практически постоянная в тесном диапазоне параметров QP квантования, кодирующее изображения устройство 100 может вычислять размеры генерируемых кодов высокой точности для параметров QP квантования по соседству с предсказанным параметром QPd квантования с высокой точностью.
Кодирующее изображения устройство 100 вычисляет размеры генерируемых кодов низкой точности входного изображения 91 при простом кодировании посредством простой обработки. Следовательно, в кодирующем изображения устройстве 100 можно упростить конфигурацию первой предкодирующей секции 1.
Кодирующее изображения устройство 100 вычисляет размеры генерируемых кодов высокой точности входного изображения 91 при кодировании, которое выполняется второй предкодирующей секцией 2 посредством такой же обработки, что и основная кодирующая секция 3. Следовательно, кодирующее изображения устройство 100 может определять базовый параметр QPMB квантования на основе размера генерируемого кода высокой точности, указывающего практически тот же самый размер кода, что и размер генерируемого кода основного кодирования. Следовательно, кодирующее изображения устройство 100 может получить размер генерируемого кода основного кодирования при выполнении основного кодирования с помощью базового параметра QPMB квантования, близкого к целевому размеру кода.
Кодирующее изображения устройство 100 выполняет основное кодирование на входном изображении 91 на основе базового параметра QPMB квантования секцией 3 основного кодирования и кодирует входное изображение 91 первой предкодирующей секцией 1 посредством простой обработки по сравнению с основным кодированием.
Следовательно, на основе размеров генерируемых кодов низкой точности, приближенно оцененных за счет простой обработки, кодирующее изображения устройство 100 сначала определяет предсказанный параметр QPd квантования, который предсказывается находящимся по соседству с базовым параметром QPMB квантования. Затем, кодирующее изображения устройство 100 определяет базовый параметр QP MB квантования на основе предсказанного параметра QPd квантования второй предкодирующей секцией 2. Следовательно, кодирующее изображения устройство 100 может определять базовый параметр QPMB квантования с высокой точностью посредством простой конфигурации.
Кодирующее изображения устройство 100 выполняет внутреннее пресказание с помощью локально декодированного изображения в качестве предсказанного изображения основной кодирующей секцией 3 перед квантованием. Путем выполнения внутреннего предсказания с помощью входного изображения 91 в качестве предсказанного изображения первой предкодирующей секцией 1 перед квантованием кодирующее изображения устройство 100 вычисляет размеры генерируемых кодов низкой точности для входного изображения 91 при простом кодировании. Кодирующее изображения устройство 100 корректирует размеры генерируемых кодов низкой точности для ошибки, которая возникает вследствие использования входного изображения 91 в качестве предсказанного изображения.
Кодирующее изображения устройство 100 корректирует ошибку, которая возникает вследствие использования входного изображения 91 в качестве предсказанного изображения, с помощью информации ошибки, которая заранее моделируется статистикой, благодаря чему вычисляются размеры генерируемых кодов низкой точности.
Эта информация ошибки определяется как функция от параметров QP квантования и размеров генерируемых кодов входного изображения 91 при кодировании.
Следовательно, в кодирующем изображения устройстве 100, поскольку ошибку можно определить подходящим образом, величину коррекции CAVLC можно вычислить соответственно для улучшения точности размеров генерируемых кодов низкой точности.
Кодирующее изображения устройство 100 имеет части информации ошибки, смоделированные каждая параметрами QP квантования и размерами генерируемых кодов низкой точности входного изображения 91 при кодировании в качестве показателей, и определяет величину коррекции CAVLC из части информации ошибки, указывающей наименьшую величину ошибки.
Следовательно, кодирующее изображения устройство 100 может воспрепятствовать величине коррекции CAVLC стать чрезмерно большой и повысить точность размеров генерируемых кодов низкой точности после коррекции.
Кодирующее изображения устройство 100 выполняет кодирование с переменной длиной или арифметическое кодирование с переключением между ними в соответствии с входным изображением 91 после квантования входного изображения 91 основной кодирующей секцией 3. Кодирующее изображения устройство 100 выполняет кодирование с переменной длиной второй предкодирующей секцией 2 для вычисления размеров генерируемых кодов входного изображения 91 при кодировании с переменной длиной и, когда основная кодирующая секция 3 выполняет арифметическое кодирование на входном изображении 91, корректирует размеры генерируемых кодов входного изображения 91 при кодировании с переменной длиной для вычисления размеров генерируемых кодов низкой точности входного изображения 91 при арифметическом кодировании.
Следовательно, поскольку кодирующее изображения устройство 100 может предсказывать размеры генерируемых кодов низкой точности входного изображения при арифметическом кодировании без выполнения арифметического кодирования, нет необходимости предусматривать сложную схему для арифметического кодирования.
Кодирующее изображения устройство 100 корректирует размеры генерируемых кодов входного изображения 91 при кодировании с переменной длиной с помощью информации ошибки, заранее смоделированной статистикой, благодаря чему предсказываются размеры генерируемых кодов низкой точности входного изображения 91 при арифметическом кодировании.
Следовательно, кодирующее изображения устройство 100 может подходящим образом определять ошибку вследствие арифметического кодирования, которая имеет тенденцию быть относительно сложной, благодаря чему становится возможным соответственно вычислять величину коррекции САВАС для улучшения точности размеров генерируемых кодов низкой точности.
Кодирующее изображения устройство 100 вычисляет внутреннее предсказание с помощью локально декодированного изображения в качестве предсказанного изображения основной кодирующей секцией 3 до квантования. Когда кодируется входное изображение 91 на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования, кодирующее изображения устройство 100 использует локально декодированное изображение на основе предсказанного параметра QPd квантования в качестве предсказанного изображения для каждого из параметров QP квантования по соседству с предсказанным параметром QPd предсказания.
Следовательно, в кодирующем изображения устройстве 100 локальное изображение на основе предсказанного параметра QPd квантования может использоваться совместно с параметрами QP квантования по соседству с предсказанным параметром QPd квантования, благодаря чему становится возможным упростить схемную конфигурацию.
Согласно вышеуказанной конфигурации, как показано на блок-схеме алгоритма по фиг.5, кодирующее изображения устройство 100 кодирует входное изображение 91 простым кодированием с помощью выбранных параметров QP1 квантования, которые выбраны дискретно, благодаря чему вычисляются размеры генерируемых кодов (этап S31), и корректирует ошибку в размерах генерируемых кодов, которая возникает вследствие простого кодирования (этап S32), чтобы за счет этого вычислить размеры генерируемых кодов низкой точности. Кодирующее изображения устройство 100 выполняет интерполирование на скорректированных размерах генерируемых кодов, благодаря чему вычисляются размеры генерируемых кодов низкой точности в отношении параметров QP квантования иных, нежели выбранные параметры QP1 квантования (этап S33).
Следовательно, кодирующее изображения устройство 100 может вычислять размеры генерируемых кодов низкой точности с относительно высокой точностью посредством простой конфигурации с помощью простого кодирования и выбранных параметров QP 1 квантования.
2. Второй вариант осуществления
Во втором варианте осуществления, показанном на фиг.6-9, части, соответствующие первому варианту осуществления, показанному на фиг.1-5, обозначены теми же самыми символами, и описание тех же самых частей опущено. Второй вариант осуществления отличается от первого варианта осуществления в том, что предусмотрена секция 40 предкодирования оценки предыдущего режима, которая выполняет обратное прослеживание.
2-1. Обратное прослеживание
Настоящее изобретение касается, например, устройства кодирования изображений или тому подобного и относится, в частности, к технической области предотвращения ухудшения качества изображения во время перезаписи и осуществления управления желаемым размером генерируемого кода основного кодирования.
В уровне техники для выполнения передачи видеоданных между телевизионными вещательными станциями или выполнения перезаписи видеоданных с помощью множества видеомагнитофонов (устройств VTR) видеоданные, сжатые/кодированные в схеме MPEG2 (Группа экспертов по кинематографии), разуплотняются/декодируются, а потом сжимаются/кодируются вновь. Таким образом, необходимо включить кодер и декодер последовательно в тандеме.
Далее, в качестве метода для снижения ухудшения видеокачества вследствие повторения сжатия/кодирования и разуплотнения/декодирования во время такого тандемного включения принимается так называемый метод «обратного прослеживания».
Здесь, «обратное прослеживание» представляет собой метод, с которым, при использовании того свойства, что полная сумма остатков коэффициентов дискретного косинусного преобразования (ДКП) становится минимальной при использовании шага квантования, использованного при предыдущем сжатии/кодировании, или шага квантования, который находится с ним во множественном отношении, при этом шаг квантования, относящийся к минимальному значению, находится как оптимальный шаг квантования.
Что касается метода, использующего данное «обратное прослеживание», например, Патентный документ 1 раскрывает устройство сжатия видеоданных, в котором шаг квантования при предыдущем сжатии/кодировании воспроизводится схемой обратного прослеживания, и входные видеоданные сжимаются/кодируются вновь с тем же самым шагом квантования и фазой группы картинок (GOP), как и предыдущие, благодаря чему предотвращается ухудшение видеокачества, возникающее, когда кодер и декодер включаются в тендеме и сжатие/кодирование и разуплотнение/декодирование повторяются.
В качестве способа предотвращения ухудшения при перезаписи для схем кодирования, использующих ортогональное преобразование, такое как это MPEG2, имеется способ восстановления или повторного использования шага квантования или изображения с внутренним предсказанием (вектор движения) (см., к примеру, Патентный документ 2).
Патентный документ 2: выложенная заявка на патент Японии № 10-174098.
С другой стороны, для внутренних изображений по стандарту H264/AVC (усовершенствованное видеокодирование; усовершенствованный стандарт сжатия/кодирования движущихся изображений) имеются внутрикадровые предсказания (внутренние предсказания), и ухудшение при перезаписи можно предотвратить восстановлением матрицы квантования «Q матрица» для каждой картинки, режима внутреннего предсказания для каждого блока ДКП и шага квантования для каждого макроблока.
2-2. Конфигурация устройства кодирования изображений
Фиг.6 показывает и поясняет конфигурацию кодирующего изображения устройства 200 согласно варианту осуществления настоящего изобретения.
То есть, чтобы реализовать выгодное распределение размеров кода в картинке и в то же самое время улучшить характеристики перезаписи при выполнении управления размером кода в схемах сжатия изображения с помощью арифметического кодирования, представленного стандартом H/264/AVC (усовершенствованное видеокодирование; усовершенствованный стандарт сжатия/кодирования движущихся изображений), предкодирования второй предкодирующей секцией 2 и секцией 40 предкодирования оценки предыдущего режима выполняются параллельно с помощью параметров, найденных в первой предкодирующей секции 1, и определяется, кодировать ли режим перезаписи или кодировать режим исходного изображения.
Затем, в секции 40 предкодирования оценки предыдущего режима за счет использования предсказанной матрицы квантования «Q матрица D», найденной в первой предкодирующей секции 1, и выполнения процесса оценивания в отношении некоторого диапазона параметров QP квантования выше и ниже предсказанного параметра QPd квантования, найденного в первой предкодирующей секции 1 в качестве начальной точки, находят параметр QP квантования, использованный в предыдущем кодировании, благодаря чему ограничивают диапазон прослеживания в процессе обратного прослеживания для сокращения размера схем.
Далее, кодирующее изображения устройство 200 выполняет обработку второй предкодирующей секцией 2 и секцией 40 предкодирования оценки предыдущего режима параллельно, благодаря чему становится возможным иметь дело со случаями, когда размер кода на основе результатов обратного прослеживания не отвечает условию. Следовательно, кодирующее изображения устройство 200 гарантирует, что диапазон оценки для параметра QP квантования можно взять также в направлении, в котором размер кода возрастает.
Далее, в основной кодирующей секции 3 основное кодирование выполняется путем переключения параметров, используемых для кодирования, в зависимости от того, является ли режим кодирования режимом исходного изображения или режимом перезаписи.
Секция 40 предкодирования оценки предыдущего режима представляет собой модуль, который выполняет предкодирование для оценивания предыдущего режима и включает в себя секцию 41 обработки внутреннего предсказания, секцию 42 ДКП, секцию 43 обратного прослеживания, буфер 44, секцию 45 квантования и секцию 46 вычисления длины статистического кода.
Секция 4 управления размером кода представляет собой модуль, который выполняет управление размером кода.
Следует отметить, что AVC Интра имеет такое свойство, что когда во время декодирования декодируют изображение, которое однажды подверглось кодированию и декодированию, если использованы параметр QP квантования и режим внутреннего предсказания, использованный в предыдущем кодировании, поскольку ухудшение уже снижено при предыдущем кодировании, дальнейшее ухудшение вряд ли произойдет. При этом выявление параметра QP квантования и режима внутреннего предсказания, использованных при предыдущем кодировании, будет именоваться «обратное прослеживание».
Секция 43 обратного прослеживания включает в себя функцию выявления параметра QP квантования и функцию выявления внутреннего предсказания. Посредством функции выявления параметра QP квантования секция 43 обратного прослеживания выявляет параметр QP квантования, использованный при предыдущем кодировании, на основе коэффициентов ДКП, полученных в процессе предыдущего кодирования. Здесь и далее выявленный параметр QP квантования будет именоваться выявленный параметр QPe квантования. Конкретно, секция 43 обратного прослеживания выявляет выявленный параметр QPe квантования с помощью остатков, полученных при делении коэффициентов ДКП на факторы RF масштабирования на основе множества параметров QP квантования для каждого МБ. Далее, посредством функции выявления внутреннего предсказания секция 43 обратного прослеживания выявляет режим внутреннего предсказания, использованный при предыдущем кодировании, на основе выявленного параметра QPe квантования, который выявлен. Подробности данной конфигурации описаны в Патентном документе 3. Следует отметить, что в данном варианте осуществления для сокращения обработки только выявление выявленного параметра QPe квантования и режима внутреннего предсказания выполняется как обратное прослеживание, а выявление матрицы квантования «Q матрица Е» не выполняется.
Патентный документ 3: международная заявка PCT/JP 2008/066917.
Секция 46 вычисления длины статистического кода выбирает схему, которая является такой же, как статистическое кодирование при основном кодировании основной кодирующей секцией 3 из CABAC/CAVLC. Секция 40 предкодирования оценки предыдущего режима вычисляет размер генерированного обратным прослеживанием кода на основе выявленного параметра QPe квантования и выявленного режима внутреннего предсказания. Секция 4 управления размером кода решает, есть ли соответствие целевому размеру кода, из полученного таким образом размера генерированного обратным прослеживанием кода.
Секция 4 управления размером кода определяет, кодировать ли в режиме исходного изображения или кодировать в режиме перезаписи, по результатам работы второй предкодирующей секции 2 и секции 40 предкодирования оценки предыдущего режима, благодаря чему определяют конечные параметры для кодирования (подробное описание будет дано позже). Секция 4 управления размером кода пропускает результаты определения режима исходного изображения/перезаписи и базового параметра QPMB квантования, предсказанной матрицы квантования «Q матрица D» и режима внутреннего предсказания, а также группу активности каждого МБ (здесь и далее, они будут коллективно называться информацией основного кодирования) в основную кодирующую секцию 3. В результате основная кодирующая секция 3 переходит либо в режим исходного изображения, либо в режим перезаписи и выполняет кодирование с помощью информации основного кодирования согласно режиму исходного изображения или режиму перезаписи.
При приеме входного изображения 91, которое подверглось обработке задержки посредством буфера 6 задержки, основная кодирующая секция 3 генерирует данные разностного изображения между предсказанным изображением и входным изображением секцией 31 обработки внутреннего предсказания за счет использования режима внутреннего предсказания, выявленного первой предкодирующей секцией 1. Секция 32 ДКП выполняет процесс ДКП, а секция 33 квантования выполняет квантование коэффициентов ДКП. Выход секции 33 квантования передается также в секцию 37 обратного квантования. Секция 37 обратного квантования выполняет обратное квантование для воспроизведения коэффициентов ДКП. Затем секция 36 ОДКП преобразует коэффициенты ДКП в ОДКП, воспроизводит входное изображение и сохраняет это входное изображение в буфер 35. При этом, после выполнения ДКП секцией 32 ДКП и квантования коэффициентов ДКП секцией 33 ДКП, как описано выше, секцией 34 статистического кодирования выполняется статистическое кодирование, и выводится выходной поток 92, установленный на целевой размер кода.
2-3. Выбор режима для неисходного изображения
Далее будет описан процесс определения режима исходного изображения/перезаписи. Как описано выше, секцией 43 обратного прослеживания выявленный параметр ОРе квантования выявляется из подлежащего обработке МБ. В это время имеются случаи, когда, если входное изображение 91 является исходным изображением, обратное прослеживание происходит случайно, и выявляется выявленный параметр ОРе квантования. Наоборот, имеются случаи, когда даже если входное изображение 91 является неисходным изображением, обратное прослеживание случайно прекращается, и выявленный параметр ОРе квантования не выявляется.
Соответственно, секция 4 управления размером кода определяет, является ли картинка во входном изображении 91, обрабатываемом в данный момент, исходным изображением или неисходным изображением, на основе того, равна ли скорость успеха обратного слежения порогу или выше его.
Здесь, в режиме перезаписи, который используется как правило, когда картинка является неисходным изображением, выявлен параметр ОРе квантования, который используется для каждого МБ, для которого обратное прослеживание оказалось успешным, тогда как базовый параметр QPMB квантования и сдвиг на основе активности используются для каждого МБ, для которого обратное прослеживание не оказалось успешным. В это время имеется случай, когда в зависимости от комбинации указанного размер генерируемого обратным прослеживанием кода картинки превосходит целевой размер кода. По этой причине, если найдено, что картинка является неисходным изображением, секция 4 управления размером кода выполнена с возможностью вычислять размер генерируемого обратным прослеживанием кода в режиме перезаписи и выбирать режим перезаписи, если размер генерируемого обратным прослеживанием кода попадает в целевой размер кода, и выбирать режим исходного изображения, если размер генерируемого обратным прослеживанием кода не попадает в целевой размер кода.
Конкретно, секция 4 управления размером кода вычисляет сумму размеров генерируемых кодов (ГенБиты_успешн) для МБ, для которого обратное прослеживание оказалось успешным (здесь и далее они будут именоваться успешными макроблоками). Для каждого успешного МБ выявленный параметр QPe квантования используется сам по себе без учета активности. Таким образом, для успешных МБ секция 4 управления размером кода вычисляет сумму размеров генерируемых кодов (ГенБиты_успешн) с помощью размеров генерируемых кодов, вычисленных секцией 40 предкодирования оценки предыдущего режима.
Секция 4 управления размером кода вычисляет, в отношении МБ, для которого обратное прослеживание не оказалось успешным (здесь и далее они будут называться неудачными макроблоками), сумму размеров генерируемых кодов (ГенБиты_неудачн), когда используется базовый параметр QPMB кодирования. Как описано выше, во второй предкодирующей секции 2 вычисляются скорость изменения (РазнОтнош), когда параметр QP квантования изменяется на «1», и базовый параметр QPMB квантования. Секция 4 управления размером кода перемножает сумму размеров генерируемых кодов (ГенБиты_успешн) на число, равное разностному значению (Разн_QP) между предсказанным параметром QPe квантования и базовым параметром QPMB квантования, благодаря чему вычисляется размер генерируемого кода (ГенБиты_неудачн_обр), когда базовый параметр QPMB квантования используется для неудачных МБ. То есть, когда базовый параметр QPMB квантования больше, чем предсказанный параметр QPd квантования, размер генерируемого кода находится как
ГенБиты_неудачн_обр=ГенБиты_неудачн×(1,0+РазнОтнош)^Разн_QP,
а когда базовый параметр QPMB квантования меньше, чем предсказанный параметр QPd квантования, размер генерируемого кода находится как
Ген_Биты_неудачн_обр=ГенБиты_неудачн×(1,0-РазнОтнош)^Разн_QP.
Путем суммирования размера генерируемого кода для успешных МБ (ГенБиты_успешн) и размера генерируемого кода для неудачных МБ (ГенБиты_неудачн_обр) секция 4 управления размером кода вычисляет размер генерируемого обратным прослеживанием кода (ГенБиты_обр) картинки в случае, когда используется режим перезаписи, как в следующем уравнении.
ГенБиты_обр=ГенБиты_успешн+ГенБиты_неудачн_обр.
Затем секция 4 управления размером кода определяет, попадает ли размер генерируемого обратным прослеживанием кода (ГенБиты_обр) картинки в целевой размер кода.
Секция 4 управления размером кода сравнивает размер генерируемого обратным прослеживанием (ГенБиты_обр) картинки с целевым размером кода (ЦелевБиты) в соответствии с нижеследующим уравнением. Следует отметить, что есть добавленный размер кода, который определяется тем, до какой степени разрешена флюктуация размера кода.
ГенБиты_обр (ЦелевБиты+ ).
Секция 4 управления размером кода выбирает режим перезаписи, когда размер генерируемого обратным прослеживанием кода (ГенБиты_обр) картинки попадает в целевой размер кода.
С другой стороны, когда размер генерируемого обратным прослеживанием кода (ГенБиты_обр) картинки не попадает в целевой размер кода, поскольку имеется возможность того, что размер генерируемого обратным прослеживанием кода не попадает в целевой размер кода вследствие ошибки, проистекающей из вычисления размера генерируемого кода для неудачных МБ (ГенБиты_неудачн_обр) при расчетах, секция 4 управления размером кода проверяет эту возможность. Секция 4 управления размером кода сравнивает размер генерируемого обратным прослеживанием кода (ГенБиты_обр) картинки, который получен суммированием размера генерируемого кода для успешных МБ (ГенБиты_успешн) с размера генерируемого кода для неудачных МБ (ГенБиты_неудачн), когда используется предсказанный параметр QPd квантования, с целевым размером кода (ЦелевБит) в соответствии со следующим уравнением.
ГенБиты (ЦелевБиты+ ).
Если размер генерируемого предкоррекцией кода (ГенБиты) картинки превышает целевой размер кода (ЦелевБит), поскольку размер генерируемого кода превышает целевой размер кода (ЦелевБит) даже когда нет ошибки вследствие вычислений при расчетах, секция 4 управления размером кода выбирает режим исходного изображения.
Следует отметить, что если секция 40 предкодирования оценки предыдущего режима использует входное изображение 91 в качестве предсказанного изображения в секции 41 обработки внутреннего предсказания, когда изображение, которое уже один раз закодировано теми же самыми параметрами, не вносится никакого искажения. Поэтому входное изображение 91 и локально декодированное изображение становятся одинаковыми, и никакой ошибки не вносится в размер кода. Поэтому, когда скорость обнаружения высока, ошибка, происходящая от использования входного изображения 91 в качестве предсказанного изображения, настолько мала, что ее можно считать пренебрежимой.
При этом, если картинка является неисходным изображением, секция 4 управления размером кода предсказывает размер генерируемого обратным прослеживанием кода картинки, когда используется режим перезаписи, и выбирает режим перезаписи, если размер генерируемого кода картинки попадает в целевой размер кода. С другой стороны, секция 4 управления размером кода выбирает режим исходного изображения, если размер генерируемого кода картинки не попадает в целевой размер кода.
2-4. Основное кодирование
В это время в режиме исходного изображения секция 31 обработки внутреннего предсказания основной кодирующей секции 3 использует режим внутреннего предсказания, определенный секцией 11 выявления режима внутреннего предсказания, в отношении подлежащего обработке макроблока (МБ). В режиме перезаписи секция 31 обработки внутреннего предсказания изменяет используемый режим внутреннего предсказания для каждого подлежащего обработке МБ. То есть, если в подлежащем обработке МБ обратное прослеживание успешно, секция 31 обработки внутреннего предсказания использует режим внутреннего предсказания, выявленный секцией 43 обратного прослеживания. Если же в подлежащем обработке МБ обратное прослеживание неудачно, секция 31 обработки внутреннего предсказания использует первый режим ранжированного внутреннего предсказания первой предкодирующей секцией 1.
В это время секция 33 квантования изменяет используемый параметр QP квантования для каждого подлежащего обработке МБ. То есть, если в подлежащем обработке МБ обратное прослеживание успешно, секция 31 обработки внутреннего предсказания использует сам выявленный параметр QPe квантования, выявленный секцией 43 обратного прослеживания. Если же в подлежащем обработке МБ обратное прослеживание неудачно, секция 31 обработки внутреннего предсказания использует базовый параметр QPMB квантования, найденный в соответствии с результатами работы второй предкодирующей секции 2. Следует отметить, что базовый параметр QPMB квантования используется как средний параметр квантования (Базовый QP), к которому добавляется сдвиг согласно группе активности, определенной первой предкодирующей секцией 1. Секция 33 квантования использует в качестве матрицы квантования «Q матрица» предсказанную матрицу квантования «Q матрица D», найденную первой предкодирующей секцией 1, безотносительно к тому было ли обратное прослеживание успешным или нет.
При этом на основе результата определения режима исходного изображения/перезаписи кодирующее изображения устройство 200 переходит в режим исходного изображения и использует базовый параметр QPMB квантования, найденный в соответствии с результатами работы второй предкодирующей секции 2 в качестве среднего параметра квантования (Базовый QP) для картинки. С другой стороны, при переходе в режим перезаписи кодирующее изображения устройство 200 использует сам выявленный параметр QPe квантования, выявленный секцией 40 предкодирования оценки предыдущего режима.
2-5. Процедура
Здесь и далее со ссылкой на блок-схему алгоритма по фиг.7 будет подробно описана процедура RT10 кодирования устройством кодирования изображений согласно варианту осуществления настоящего изобретения. Часть или вся эта процедура также соответствует способу кодирования изображений согласно варианту осуществления.
Следует отметить, что поскольку этапы S1-S10 такие же, как на фиг.3, их описание опущено.
Устройство 200 обработки изображений выполняет предкодирование оценки предыдущего режима секцией 40 предкодирования оценки предыдущего режима (этапы S41-S43). При этом предкодировании оценки предыдущего режима секция 40 предкодирования оценки предыдущего режима оценивает предыдущие параметры кодирования (параметр QP квантования и режим внутреннего предсказания) и получает размер генерируемого обратным прослеживанием кода при кодировании оцененными параметрами кодирования.
Кодирующее изображения устройство 200 генерирует данные разностного изображения между предсказанным изображением и входным изображением 91 секцией 41 обработки внутреннего предсказания. В этом время секция 41 обработки внутреннего предсказания вычисляет данные разностного изображения с каждым из первого-М-го кандидата, найденных секцией 11 определения режима внутреннего предсказания. Хотя обработка обычно выполняется путем использования локально декодированного изображения в процессе внутреннего предсказания, здесь обработка выполняется с помощью входного изображения 91.
Затем, кодирующее изображения устройство 200 выполняет преобразование ДКП секцией 42 ДКП и подает результирующий выход в секцию 43 обратного прослеживания и буфер 44 (этап S41). Вслед за этим секция 40 предкодирования оценки предыдущего режима переходит в подпрограмму SRT20 и выполняет процесс оценки предыдущего режима (этап S42).
После этого кодирующее изображения устройство 200 выполняет квантование секцией 45 квантования и выполняет процесс вычисления размера кода секцией 46 вычисления длины статистического кода (этап S43).
То есть, в соответствии с режимом внутреннего предсказания, выдаваемым из секции 43 обратного прослеживания, секция 45 квантования выбирает данные, соответствующие конкретному режиму внутреннего предсказания, из данных, сохраненных в буфере 44, и выполняет квантование на основе выявленного параметра QPe квантования, выданного из секции 43 обратного прослеживания. Поэтому кодирующее изображения устройство 200 вычисляет размер генерируемого кода для каждого МБ секцией 46 вычисления длины статистического кода. Вычисление длины статистического кода выполняется в той же схеме (CABAC/CAVLC), что и статистическое кодирование при основном кодировании. Далее секция 4 управления размером кода оценивает размер генерируемого обратным прослеживанием кода картинки, когда используется режим перезаписи, в соответствии с успехом/неудачей обратного прослеживания.
Затем, кодирующее изображения устройство 200 выполняет определение режима кодирования (режим исходного изображения/режим перезаписи) (этап S44).
Кодирующее изображения устройство 200 выполняет основное кодирование основной кодирующей секцией 3 (этап S45). При этом основном кодировании само кодирование выполняется при переключении параметров, используемых для кодирования, в зависимости от того, является ли режим кодирования режимом исходного изображения или режимом перезаписи.
На этом кодирующее изображения устройство 200 заканчивает ряд обработок процедуры RT10 кодирования.
Здесь и далее со ссылкой на блок-схему алгоритма по фиг.8 будет дано описание процесса оценки предыдущего режима, выполняемого на этапе S42 процедуры RT10 кодирования.
Сначала из предсказанного параметра QPd квантования и группы активности каждого МБ, вычисленных как результат первого предкодирования, устанавливается начальный параметр QP квантования, который служит в качестве начальной точки для оценки (этап S101).
После этого выполняется процесс оценки для выявленного параметра QPe квантования (этап S102). Процесс оценки для выявленного параметра QPe квантования выполняется в отношении некоторого диапазона параметров QP квантования с учетом значения, установленного на этапе S101. То есть процесс оценки выполняется в отношении диапазона параметров QP квантования от верхнего предельного значения (QP Ниже QP Диапазона) до нижнего предельного значения (QP Выше QP Диапазона) среди параметров QP квантования между 0 и 51. Следует отметить, что данный диапазон задан, например, примерно «10».
Иными словами, за счет использования предсказанной матрицы квантования «Q матрица D», найденной первой предкодирующей секцией 1, секция 40 предкодирования оценки предыдущего режима выполняет процесс оценки в отношении заранее заданного диапазона параметров QP квантования с предсказанным параметром QPd квантования, вычисленным на основе результатов работы первой предкодирующей секции 1, служащим в качестве начальной точки.
Далее, секция 43 обратного прослеживания решает, успешна ли оценка выявленного параметра QPe квантования (этап S103), и если эта оценка неудачна, выводит предсказанный параметр QPd квантования и первый режим-кандидат внутреннего предсказания, найденный секцией 11 определения режима внутреннего предсказания (этап S104). С другой стороны, если эта оценка успешна, секция 43 обратного прослеживания выдает выявленный параметр QPe квантования (этап S105) и выполняет процесс оценки режима внутреннего предсказания (этап S106).
Данный процесс оценки режима внутреннего предсказания выполняется применительно к первому кандидату - М-му кандидату. Секция 43 обратного прослеживания решает, успешна ли оценка режима внутреннего предсказания (этап S107). Секция 43 обратного прослеживания выводит оцененный режим внутреннего предсказания, если оценка успешна (этап S108), и выводит первый режим-кандидат внутреннего предсказания секцией 11 определения режима внутреннего предсказания, если оценка неудачна (этап S109).
Секция 43 обратного прослеживания решает, выполнена ли обработка на нескольких блоках, на которых должно быть выполнено внутреннее предсказание (этап S110), и если обработка не завершена, возвращается к этапу S106 и повторяет вышеупомянутую обработку. С другой стороны, при решении о том, что обработка завершена, секция 43 обратного прослеживания возвращается к этапу S42 (фиг.7) процедуры RT10 кодирования.
Здесь и далее со ссылкой на блок-схему алгоритма по фиг.9 будет дано описание процесса выявления режима исходного изображения/режима перезаписи, выполняемого на этапе S44 процедуры RT10 кодирования.
При вхождении в эту обработку сначала секция 4 управления размером кода выполняет определение исходного изображения/неисходного изображения (кодированного изображения) (этап S111). То есть секция 4 управления размером кода находит скорость обнаружения из нескольких МБ, для которых выявленный параметр QPe квантования выявлен в процессе оценки для параметра QP квантования, используемого при предыдущем кодировании, и общее число МБ и определяет изображение как являющееся неисходным изображением, если скорость обнаружения равна или выше, чем некоторое значение.
Здесь, при определении того, что подлежащая обработке картинка является исходным изображением (этап S112 ответвляется по стрелке «Да»), секция 4 управления размером кода определяет, что режим кодирования является режимом исходного изображения (этап S117), и возвращается к этапу S44 процедуры RT10 кодирования (фиг.7).
С другой стороны, при определении того, что подлежащая обработке картинка является неисходным изображением (этап S112 ответвляется к стрелке «Нет»), секция 4 управления размером кода предсказывает размер генерируемого обратным прослеживанием кода, когда подлежащая обработке картинка кодируется в режиме перезаписи (этап S113). Здесь, в отношении неудачных МБ секция 4 управления размером кода предсказывает размер кода, когда используется базовый параметр QPMB квантования, найденный в результате работы второй предкодирующей секции 2. Если соблюдается условие битовой скорости (размера генерируемого кода) (этап S115 ответвляется к стрелке «Да»), секция 4 управления размером кода определяет, что режимом кодирования в основной кодирующей секции 3 является режим перезаписи (этап S116). С другой стороны, если условие битовой скорости не соблюдается, секция 4 управления размером кода определяет, что режимом кодирования в основной кодирующей секции 3 является режим исходного изображения (этап S117), и возвращается к этапу S44 процедуры RT10 кодирования (фиг.7).
2-6. Заключение
Как описано выше, в кодирующем изображения устройстве 200 обработка секцией 40 предкодирования оценки внутреннего предсказания выполняется параллельно с обработкой предкодирования второй предкодирующей секцией 2. При этом кодирующее изображения устройство 200 выполняет обработку второй предкодирующей секцией 2 и секцией 40 предкодирования оценки предыдущего режима параллельно. Для кодирующего изображения устройства 200 возможно выполнять оценку выявленного параметра QPe квантования в направлении уменьшения (направление увеличения размера кода) от предсказанного параметра QPd квантования, найденного в первой предкодирующей секции 1, благодаря чему становится возможным увеличить скорость обнаружения посредством оценки. То есть возможно иметь удовлетворительным образом дело с изменением параметра QP квантования для МБ вследствие изменения группы активности от предыдущего кодирования.
Помимо этого за счет выполнения обработки второй предкодирующей секцией 2 и обработки секцией 40 предкодирования оценки предыдущего режима параллельно кодирующее изображения устройство 200 может иметь дело со случаями, где размер генерируемого обратным прослеживанием кода, полученный в результате обратного прослеживания, не удовлетворяет условию. В результате в кодирующем изображения устройстве 200 диапазон оценки для выявленного параметра QPe квантования может быть принят также в направлении, в котором размер кода увеличивается, благодаря чему становится возможным улучшить скорость обнаружения обратного прослеживания.
Далее, кодирующее изображения устройство 200 использует входное изображение 91 в качестве предсказанного изображения в процессе внутреннего предсказания в секции 40 предкодирования оценки предыдущего режима, благодаря чему упрощается конфигурация, а также улучшается скорость обнаружения обратного прослеживания. Кроме того, кодирующее изображения устройство 200 реализует вычисление размера генерируемого кода добавлением лишь вычисления квантования и длины статистического кода к процессу оценки параметра, благодаря чему становится возможным сократить размер схем.
2-7. Работа и эффекты
Согласно вышеуказанной конфигурации, кодирующее изображения устройство 200 выполняет простое кодирование на входном изображении 91 первой предкодирующей секцией 1 путем, по меньшей мере, квантования входного изображения 91 на основе параметров QP квантования, благодаря чему вычисляют размеры генерируемых кодов низкой точности для входного изображения 91 при простом кодировании. На основе этих размеров генерируемых кодов низкой точности, вычисленных путем простого кодирования, кодирующее изображения устройство 200 определяет параметр QP квантования, с которым размер генерируемого кода основного кодирования при кодировании входного изображения 91 основной кодирующей секцией 3 предсказывается как ближайший к целевому размеру кода, в качестве базового параметра QPMB квантования. На основе остатков при делении входного изображения 91 на коэффициенты изменения масштаба, основанные на параметрах QP квантования, кодирующее изображения устройство 200 выявляет параметр QP квантования, использованный при предыдущем кодировании входного изображения 91, который выявляется для каждого МБ как блок кодирования. Кодирующее изображения устройство 200 кодирует входное изображение 91 на основе выявленного параметра QPe квантования, благодаря чему вычисляется размер генерируемого кода для каждого МБ. Кодирующее изображения устройство 200 вычисляет размер генерируемого кода для каждой картинки в качестве блока кодирования, собранного из множества МБ, путем суммирования размера генерируемого кода ГенБиты_неудачн_рбр на основе базового параметра QPMB квантования в отношении каждого из макроблоков, для которых выявленный параметр QPMB квантования не выявлен, и размера генерируемого кода ГенБиты_успешн в отношении каждого из макроблоков, для которых выявленный параметр QPe квантования выявлен.
Следовательно, кодирующее изображения устройство 200 может предсказывать размер генерируемого кода ГенБиты_обр для каждой картинки, когда основное кодирование выполняется в соответствии с результатами процесса обратного прослеживания.
Кодирующее изображения устройство 200 вычисляет размер генерируемого кода для каждого МБ, заставляя вторую предкодирующую секцию 2 и секцию 40 кодирования оценки предыдущего режима выполнять обработку параллельно.
Следовательно, кодирующее изображения устройство 200 может вычислять размер генерируемого кода на основе базового параметра QPMB квантования даже когда входное изображение 91 является неисходным изображением. Таким образом, для каждого из МБ, для которых обратное прослеживание неудачно, кодирующее изображения устройство 200 может использовать размер генерируемого кода на основе базового параметра QPMB квантования, благодаря чему становится возможным предсказывать размер генерируемого кода ГенБиты_обр для каждой картинки в режиме перезаписи.
На основе скорости выявления выявленного параметра QPe квантования кодирующее изображения устройство 200 определяет, является ли входное изображение исходным изображением или неисходным изображением. Если определено, что входное изображение 91 является неисходным изображением, и размер генерируемого кода ГенБиты_обр для каждой картинки попадает в разрешенное значение на основе целевого размера кода (ЦелевБиты+ ), кодирующее изображения устройство 200 использует выявленный параметр QPe квантования в качестве параметра QP квантования, подлежащего использованию при основном кодировании (фактор квантования основного кодирования) в отношении каждого из МБ, для которых выявленный параметр QPe квантования не выявлен, и использует базовый параметр QPMB квантования в качестве параметра QP квантования, подлежащего использованию при основном кодировании в отношении каждого из МБ, для которых выявленный параметр QPe квантования выявлен.
Следовательно, при выполнении основного кодирования с помощью выявленного параметра QPe квантования кодирующее изображения устройство 200 может надежно поддерживать размер генерируемого кода основного кодирования в целевом размере кода. Следует отметить, что для минимизации ухудшения качества изображения кодирующее изображения устройство 200 использует режим перезаписи даже когда размер генерируемого кода слегка превышает целевой размер кода, пока он попадает в разрешенное значение (ЦелевБиты+ ). Кодирующее изображения устройство 200 использует базовый параметр QPMB квантования, подлежащий использованию при основном кодировании, если определено, что входное изображение 91 является исходным изображением. Это разрешенное значение (ЦелевБиты+ ) является значением, полученным добавлением величины разрешенной флюктуации к целевому размеру кода ЦелевБиты.
Следовательно, кодирующее изображения устройство 200 может выполнять основное кодирование на исходном изображении за счет использования базового параметра QPMB квантования, благодаря чему становится возможным поддерживать размер генерируемого кода основного кодирования в целевом размере кода.
Кодирующее изображения устройство 200 кодирует входное изображение 91 на основе базового параметра QPMB или предсказанного параметра QPd квантования, предсказанного находиться по соседству с ним, и параметров QP квантования по соседству с предсказанным параметром QPd квантования, благодаря чему вычисляют размеры генерируемых кодов высокой точности для входного изображения 91 при кодировании. Кодирующее изображения устройство 200 вычисляет скорость изменения РазнОтнош в сопровождающем размер генерируемого кода изменении в параметре QP квантования из размеров генерируемых кодов высокой точности при кодировании входного изображения 91 на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования. Кодирующее изображения устройство 200 перемножает размер генерируемого кода высокой точности для каждого МБ на основе предсказанного параметра QPd квантования на множитель изменения (1,0+РазнОтнош), полученный добавлением 1 к скорости изменения РазнОтнош, для нескольких раз (Разн_QP), равных разностному значению базового параметра QPMB квантования от предсказанного параметра QPd квантования.
Следовательно, кодирующее изображения устройство 200 может вычислять размеры генерируемых кодов высокой точности, основанных на базовом параметре QPMB, на основе предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования, благодаря чему становится возможным упростить конфигурацию.
Согласно вышеприведенной конфигурации, кодирующее изображения устройство 200 использует размер генерируемого кода, когда используется выявленный параметр QPe квантования, по отношению к каждому из МБ, для которых выявленный параметр QPe квантования выявлен, и использует размер генерируемого кода, когда используется базовый параметр QPMB квантования, в отношении каждого из МБ, для которых выявленный параметр QPe квантования не выявлен, благодаря чему вычисляют размер генерируемого обратным прослеживанием кода для каждой картинки в режиме перезаписи.
Следовательно, кодирующее изображения устройство 200 может заранее предсказывать размер генерируемого обратным прослеживанием кода в режиме перезаписи.
3. Прочие варианты осуществления
Следует отметить, что описанные выше первый и второй варианты осуществления направлены на случай, в котором выбраны 15 выбранных параметров QP1 квантования. Настоящее изобретение не ограничено этим, и на это число нет ограничений. Помимо того, число выбранных параметров QP1 квантования может изменяться или может изменяться интервал их выбора в соответствии с матрицей квантования «Q матрица». Кроме того, интервал выбранных параметров QP1 квантования может изменяться произвольно.
В дополнение к этому, описанные выше первый и второй варианты осуществления направлены на случай, в котором входное изображение 91 используется в качестве предсказанного изображения в первой предкодирующей секции 1. Настоящее изобретение не ограничено этим. Точно так же можно использовать локально декодированное изображение.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором только CAVLC выполняется как статистическое кодирование в первой предкодирующей секции. Настоящее изобретение не ограничено этим. Можно использовать как CAVLC, так и САВАС.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором предсказанный параметр QPd квантования выбран на основе размеров генерируемых кодов низкой точности, и далее, базовый параметр QPMB квантования выбран на основе предсказанного параметра QPd квантования. Настоящее изобретение не ограничивается этим. Например, базовый параметр QPMB квантования можно выбрать непосредственно на основе размеров генерируемых кодов низкой точности.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором размер генерируемого кода для каждой картинки поддерживается в пределах целевого размера кода. Настоящее изобретение не ограничено этим. Например, размер генерируемого кода для каждого среза может поддерживаться в целевом размере кода.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором в качестве управления размером кода размер генерируемого кода для каждой картинки поддерживается в пределах целевого размера кода. Настоящее изобретение не ограничено этим. Например, средний размер генерируемого кода для каждого множества картинок может поддерживаться в целевом размере кода.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором выбранные параметры QP1 квантования выбраны из диапазона, который может быть принят матрицей квантования «Q матрица». Настоящее изобретение не ограничивается этим. Выбранные параметры QP1 квантования могут выбираться без разбора независимо от матрицы квантования «Q матрица».
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором предсказанная матрица «Q матрица D» определяется путем выполнения кодирования с помощью матриц квантования «Q матрица» по порядку от имеющей меньший градиент. Настоящее изобретение не ограничивается этим. Например, кодирование может выполняться за счет использования матриц квантования «Q матрица» по порядку от имеющей больший градиент, а предсказанная матрица квантования «Q матрица D» может быть выбрана по окончании всего кодирования.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором в качестве параметров QP квантования по соседству с предсказанным параметром QPd квантования во второй предкодирующей секции 40 используются значения предыдущего и последующего к предсказанному параметру QPd квантования. Настоящее изобретение не ограничивается этим. Например, значения, отделенные двумя шагами, могут использоваться в качестве соседних параметров QP квантования. Соседние параметры QP квантования могут быть выбраны при необходимости в соответствии со сменой скорости изменения согласно значению параметра QP квантования.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором во второй предкодирующей секции 2 на основе скорости изменения в размере генерируемого кода высокой точности для предсказанного параметра QPd квантования и параметров QP квантования по соседству с предсказанным параметром QPd квантования вычисляются размеры генерируемых кодов высокой точности на основе других параметров QP квантования. Настоящее изобретение не ограничивается этим. Например, размеры генерируемых кодов высокой точности могут вычисляться при увеличении числа соседних параметров QP квантования и последующего выполнения кодирования.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором во второй предкодирующей секции локально декодированное изображение предсказанного параметра QPd квантования совместно используется в качестве параметров QP квантования по соседству с предсказанным параметром QPd квантования. Настоящее изобретение не ограничивается этим. Например, локально декодированное изображение можно генерировать для каждого из них.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором предусматриваются части информации ошибки на каждой из битовых скоростей и параметров QP квантования, и величина ошибки выбирается из части информации ошибки, имеющей наименьшее значение. Настоящее изобретение не ограничивается этим. Например, величина ошибки может выбираться из информации ошибки, соответствующей либо битовой скорости, либо параметру QP квантования, или же величина ошибки может выбираться из единственной части информации ошибки, соответствующей как битовой скорости, так и параметру QP квантования.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором размеры генерируемых кодов низкой точности, скорректированные в отношении САВАС, корректируются, чтобы благодаря этому вычислить размеры генерируемых кодов низкой точности в отношении CAVLC. Настоящее изобретение не ограничивается этим. Размеры генерируемых кодов низкой точности в отношении САВАС могут быть вычислены из размеров заранее скорректированных генерируемых кодов в отношении CAVLC.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором параметр QP квантования выявляется обратным прослеживанием для каждого МБ в качестве блока кодирования. Настоящее изобретение не ограничивается этим. Блок кодирования может быть любым блоком на основе того, какой параметр QP квантования задан, и нет ограничения на его размер.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором в режиме перезаписи размер генерируемого кода, основанный на базовом параметре QPMB квантования, используется для каждого из неудачных МБ. Настоящее изобретение не ограничивается этим. С помощью дополнительного добавления активности можно использовать размер генерируемого кода согласно адаптивному параметру QPt квантования.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором приоритет отдан предотвращению ухудшения качества изображения, так что переход в режим перезаписи делается только когда размер генерируемого обратным прослеживанием кода равен или меньше, чем разрешенное значение, к которому добавляется величина разрешенной флюктуации. Настоящее изобретение не ограничивается этим. Приоритет может быть отдан управлению размером генерируемого кода, так что переход в режим перезаписи делается, когда размер генерируемого обратным прослеживанием кода равен или меньше, чем целевой размер кода.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором настоящее изобретение применимо к AVC. Настоящее изобретение не ограничивается этим. Настоящее изобретение может применяться к множеству кодирующих схем, которые адаптивно выбирают таблицу VLC.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором первая предкодирующая секция 1, служащая в качестве секции вычисления выбранного размера генерируемого кода, и секция 4 управления размером кода, служащая в качестве секции коррекции ошибки, и секция вычисления интерполированного размера генерируемого кода формируют устройство 100 кодирования изображения, служащее в качестве устройства обработки изображений. Настоящее изобретение не ограничивается этим. Секция вычисления выбранного размера генерируемого кода, секция коррекции ошибки и секция вычисления интерполированного размера генерируемого кода, которые выполнены различными иными путями, могут формировать устройство обработки изображений согласно настоящему изобретению.
Далее, описанные выше первый и второй варианты осуществления направлены на случай, в котором первая предкодирующая секция 1, служащая в качестве секции вычисления размера простого генерируемого кода, вторая предкодирующая секция 2 и секция 4 управления размером кода, служащие каждая в качестве секции определения базового фактора квантования, секция 43 обратного прослеживания, служащая в качестве секции обратного прослеживания, секция 45 квантования, служащая в качестве секции вычисления выявленного размера генерируемого кода, и секция 4 управления размером кода, служащая в качестве секции вычисления размера генерируемого кода блока управления, формируют устройство 200 кодирования изображения, служащее в качестве устройства обработки изображения. Настоящее изобретение не ограничивается этим. Секция вычисления размера генерируемого простого кода, секция выявления базового параметра квантования, секция обратного прослеживания, секция вычисления выявленного размера генерируемого кода и секция вычисления размера генерируемого кода блока управления, которые выполнены различными иными путями, могут формировать устройство обработки изображения согласно настоящему изобретению.
Класс H04N7/26 с использованием уменьшения ширины полосы частот