УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
DEVICE AND METHOD FOR IMAGE PROCESSING

Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится к устройству и способу обработки изображений, а более конкретно, к устройству и способу обработки изображений, которые способны повысить эффективность кодирования параметра квантования.
Уровень техники
В последние годы, видеоинформация рассматривается как цифровая информация, и по этой причине, в целях передачи и накопления информации с высокой степенью эффективности, устройства, основанные на способе, таком как MPEG (способ, разработанный Экспертной группой по вопросам движущегося изображения), для сжатия информации, основанном на ортогональном преобразовании, таком как дискретное косинусное преобразование, и компенсации движения с использованием избыточности, уникальной для информации изображения, становятся широко доступными не только при распространении информации, таком как через вещательные станции, но также и при приеме информации в обычных домашних хозяйствах.
В частности, способ MPEG 2 (стандарт 13818-2 ISO (Международной организации по стандартизации)/IEC (Международной электротехнической комиссии)) определен как универсальный способ кодирования изображений, и притом, что стандарт охватывает как изображение с чересстрочной разверткой, так и изображение с прогрессивной разверткой, и изображения со стандартной разрешающей способностью, и изображение с высокой разрешающей способностью, он теперь широко используется для широкого диапазона приложений для профессионалов и потребителей. Когда используется способ сжатия MPEG 2, высокий коэффициент сжатия и высокое качество изображения могут быть достигнуты, например, при выделении в качестве количества кодов (скорости передачи битов) 4-8 мегабитов в секунду - для изображения с чересстрочной разверткой и со стандартной разрешающей способностью, имеющего 720×480 пикселей, и 18-22 мегабитов в секунду - для изображения с чересстрочной разверткой и с высокой разрешающей способностью, имеющего 1920×1088 пикселей.
MPEG 2 предназначается, главным образом, для кодирования с высоким качеством изображения для вещания, но не поддерживает способ кодирования с меньшим количеством кодов (скоростью передачи битов) чем у MPEG 1. Другими словами, MPEG 2 не поддерживает более высокий коэффициент сжатия. Поскольку широкое распространение получают портативные оконечные устройства, то потребность в таких способах кодирования, как полагают, в будущем вырастет, и для того, чтобы откликнуться на такие потребности, был стандартизирован способ сжатия MPEG 4. Что касается способа кодирования изображений, то в международном стандарте в декабре 1998 г. принята спецификация ISO/IEC 14496-2 (спецификация Международной организации по стандартизации/Международной электротехнической комиссия).
Кроме того, в последние годы в целях, в первую очередь, кодирования изображения для телеконференции был разработан стандарт, именуемый как H.26L (стандарт ITU-T (Сектора телекоммуникаций Международного союза электросвязи)) Q6/16 VCEG (Группы экспертов по кодированию видеоизображений)). По сравнению с традиционными методами кодирования, такими как MPEG 2 и MPEG 4, H.26L, как известно, требует большего количества вычисления при кодировании и декодировании с его использованием, но достигает еще более высокой степени эффективности кодирования. Кроме того, в настоящее время, в качестве одного из направлений деятельности по MPEG 4, в рамках Объединенной модели кодирования видеоданных с усовершенствованным сжатием (Joint Model of Enhanced-Compression Video Coding) проводится стандартизация достижения еще более высокой степени эффективности на основе стандарта H.26L путем включения функций, не поддерживаемых стандартом H.26L.
Что касается плана стандартизации, то он превратился в международный стандарт под наименованием H.264 и Часть 10 MPEG - 4 (Усовершенствованное кодирование видеоданных, в дальнейшем именуемое как AVC - кодирование) в марте 2003 г.
Кроме того, в качестве расширения этого стандарта, в феврале 2005 г. была завершена стандартизация FRExt (стандарта "Расширение диапазона точности воспроизведения"), включающего в себя дискретное косинусное преобразование 8×8 и матрицу квантования, определенную стандартом MPEG 2 и инструмент кодирования, требующийся для коммерческого применения, такого как RGB (система цветопередачи "красный - зеленый - синий"), 4:2:2, и 4:4:4, и, следовательно, при использовании AVC - кодирования, он превращается в способ кодирования, способный выразить предпочтительным образом шум кинопленки, содержащийся в кинофильмах, и начинает использоваться в широком диапазоне вариантов применения, таких как диск Blu - Ray.
Однако в последнее время возрастают потребности в том, чтобы кодировать с еще более высокой степенью коэффициента сжатия. Например, желательно, сжимать изображение, состоящее приблизительно из 4096×2048 пикселей, что в четыре раза больше, чем изображение с высоким разрешением или распространять изображение с высоким разрешением в среде с ограниченной пропускной способностью, такой как сеть "Интернет". Поэтому, в группе "VCEG" (Группе экспертов по кодированию видеоизображений) под эгидой ITU-T (Сектора телекоммуникаций Международного союза электросвязи), как описано выше, постоянно рассматривается повышение эффективности кодирования.
Между прочим, задание размера макроблоков, составляющего 16 пикселей на 16 пикселей, не подходит для большого кадра изображения, такого как UHD (Сверхвысокая четкость; 4000 пикселей на 2000 пиксели), который является объектом способа кодирования следующего поколения. Соответственно, как проиллюстрировано на Фиг.4, предполагается превратить размер макроблока в такой размер, как 64×64 пикселя и 32 пикселя на 32 пикселя (например, смотри непатентный документ 1).
В частности, в непатентном документе 1 используется иерархическая структура, и для пиксельного блока, имеющего 16×16 пикселей или меньше, определяют более крупный блок, в качестве надмножества к нему, сохраняя при этом совместимость с макроблоком действующего в настоящий момент стандарта AVC - кодирования (Усовершенствованного кодирования видеоданных).
Непатентный документ 1 представляет собой предложение для применения расширенного макроблока к межкадровому слою, но помимо этого имеется предложение применять расширенный макроблок к внутрикадровому слою (например, смотри непатентный документ 2).
Кроме того, существует предложение определять расширенный макроблок, используя концепцию, именуемую как Элемент кодирования (например, смотри непатентный документ 3).
Размеры самого большого элемента кодирования и самого маленького элемента кодирования указываются в наборе параметров последовательности в информации о сжатии изображения.
Список упоминаемых документов Непатентный документ
Непатентный документ 1: Peisong Chenn, Yan Ye, Marta Karczewicz, "Video Coding Using Extended Block Sizes", COM16-C123-E, Qualcomm Inc (Пейсонг Ченн, Ян Йе, Марта Карцевич "Кодирование видеоданных с использованием расширенных размеров блока", COM16-C123-E, Квелкомм Инк)
Непатентный документ 2: Sung-Chang Lim, Hahyun Lee, Jinho Lee, Jongho Kim, Haechul Choi, Seyoon Jeong, Jin Soo Choi, "Intra coding using extended block size", VCEG-AL28, July, 2009 (Сунг - Чанг Лим, Хахюн Ли, Джинхо Ли, Джонгхо Ким, Хаэчул Чой, Сейоон Джеонг, Джин Соо Чой "Внутрикадровое кодирование с использованием расширенного размера блока" (VCEG-AL28, июль 2009 года)
Непатентный документ 3: Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010 (Томас Виганд, Byy - Джин Хэн, Бенджамин Бросс, Дженс-Райнер Ом, Гэри Дж. Салливан, "Рабочий Проект 1 высокоэффективного кодирования видеоданных", JCTVC-C403, Третье заседание Объединенной группы по сотрудничеству в области кодирования видеоданных (JCT-VC) ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11: Гуанчжоу, Китай, 7-15 октября 2010 г.
Раскрытие изобретения
Проблемы, решаемые изобретением
Между прочим, для кодирования разности параметра квантования, используемого для кодирования и декодирования предыдущего блока, используется параметр (QP) квантования, но, в частности, когда параметр квантования динамически изменяется в пределах экрана, в точности как в случае адаптивного квантования, количество информации в информации о сжатии изображения, может увеличиться.
Настоящее раскрываемое изобретение сделано ввиду таких обстоятельств, и задача настоящего изобретения заключается в том, чтобы повысить эффективность кодирования для параметра квантования.
Решения проблем
Один аспект настоящего раскрываемого изобретения представляет собой устройство обработки изображений, включающее в себя: модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, с использованием множества параметров квантования, установленные для множества окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодировании, модуль установки разностного параметра квантования для установки разностного параметра квантования, указывающего значение разности между параметром квантования, задан для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования, модуль кодирования для генерирования потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и передающий модуль для передачи потока битов, сгенерированного модулем кодирования, и разностного параметра квантования, установленного модулем установки разностного параметра квантования.
Модуль установки предсказываемого параметра квантования может устанавливать предсказываемый параметр квантования, применяя вычисление предсказания к множественным параметрам квантования, установленным для множества окружающих элементов кодирования.
Модуль установки предсказываемого параметра квантования может устанавливать предсказываемый параметр квантования как среднее значение множества параметров квантования, установленных для множества окружающих элементов кодирования, применяя к множеству параметров квантования, установленным для множества окружающих элементов кодирования, вычисление медианы.
Модуль установки предсказываемого параметра квантования может применять вычисление медианы к множеству параметров квантования, установленных для множества окружающих элементов кодирования, в случае, когда все из множества окружающих элементов кодирования имеют доступное состояние.
Модуль установки предсказываемого параметра квантования может устанавливать предсказываемый параметр квантования в качестве значений множественных параметров квантования, установленных для множества окружающих элементов кодирования, применяя к множеству параметров квантования, установленных для множества окружающих элементов кодирования, вычисление среднего значения.
Модуль установки предсказываемого параметра квантования может применять вычисление среднего значения к множественным параметрам квантования, установленным для множественных окружающих элементов кодирования, при определении модулем определения, что один из окружающих элементов кодирования находится в доступном состоянии.
Модуль установки предсказываемого параметра квантования может устанавливать предсказываемый параметр квантования как взвешенное среднее значение множественных параметров квантования, установленных для множественных окружающих элементов кодирования, применяя вычисление взвешенного среднего значения к множественным параметрам квантования, установленных для множественных окружающих элементов кодирования, которые выбраны модулем выбора.
Модуль установки предсказываемого параметра квантования может устанавливать вычисление взвешенного среднего значения таким образом, чтобы более высокий весовой коэффициент присваивался окружающему элементу кодирования, имеющему тот же самый размер, что и размер текущего элемента кодирования.
Модуль установки предсказываемого параметра квантования может задавать вычисление взвешенного среднего значения таким образом, чтобы более высокий весовой коэффициент присваивался окружающему элементу кодирования, имеющему больший размер.
Относительно элемента кодирования, который был закодирован, множественные окружающие элементы кодирования могут включать в себя элемент кодирования, примыкающий к левой стороне текущего элемента кодирования, элемент кодирования, примыкающий к верхней стороне текущего элемента кодирования, и элемент кодирования, примыкающий к верхней левой стороне текущего элемента кодирования.
Множественные окружающие элементы кодирования могут дополнительно включать в себя элемент кодирования, примыкающий к верхней правой стороне текущего элемента кодирования, и элемент кодирования, примыкающий к нижней левой стороне текущего элемента кодирования.
Устройство обработки изображений может дополнительно включать в себя модуль определения для определения того, находится ли окружающий элемент кодирования в доступном состоянии или нет, при этом модуль установки предсказываемого параметра квантования может изменять способ вычисления предсказания в соответствии с количеством элементов кодирования, которые модуль определения определил как являющиеся доступными.
Устройство обработки изображений может дополнительно включать в себя модуль определения для того, чтобы при установке предсказываемого параметра квантования определять то, находится ли окружающий элемент кодирования, расположенный в пределах текущего максимального элемента кодирования, в доступном состоянии или нет, при этом модуль установки предсказываемого параметра квантования может устанавливать предсказываемый параметр квантования, используя только параметр квантования для элемента кодирования, определенный модулем определения в качестве имеющего доступное состояние.
В случае, когда текущий элемент кодирования расположен в передней части текущего максимального элемента кодирования, модуль установки предсказываемого параметра квантования может устанавливать, в качестве предсказываемого параметра квантования, параметр квантования для элемента кодирования, расположенного в конце непосредственно предшествующего максимального элемента кодирования.
Устройство обработки изображений может дополнительно включать в себя модуль установки для установки данных о типе, указывающих тип вычисления предсказания, при этом передающий модуль может передавать данные о типе, установленные модулем установки.
Модуль установки может устанавливать данные о типе для каждого максимального элемента кодирования, который является элементом кодирования на самом высоком уровне или слое.
Передающий модуль может передавать данные о типе, установленные модулем установки, в качестве набора параметров потока битов, сгенерированного модулем кодирования.
Один аспект настоящего раскрываемого изобретения представляет собой способ обработки изображения, обеспечиваемый для устройства обработки изображений, включающий в себя этапы, на которых: устанавливают с помощью модуля установки предсказываемого параметра квантования предсказываемый параметр квантования для текущего элемента кодирования, используя множественные параметры квантования, установленные для множественных окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, который является объектом обработки данных при кодировании, устанавливают с помощью модуля установки разностного параметра квантования разностный параметр квантования, указывающий значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования, генерируют с помощью модуля кодирования генерировать поток битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и передают с помощью передающего модуля сгенерированный поток битов и разностный параметр квантования, который установлен.
Другой аспект настоящего раскрываемого изобретения представляет собой устройство обработки изображений, включающее в себя принимающий модуль приема разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, который является объектом обработки данных при декодировании, и предсказанным параметром квантования, полученным посредством предсказания из множественных параметров квантования, установленных для множественных окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, и поток битов, полученный посредством кодирования данных изображения, модуль установки параметра квантования, предназначенный для того, чтобы устанавливать параметр квантования для текущего элемента кодирования, используя разностный параметр квантования, принятый с помощью принимающего модуля, и модуль декодирования, предназначенный для генерирования данных изображения, осуществляя деквантование потока битов, принятого от принимающего модуля, с использованием параметра квантования, установленного модулем установки параметра квантования.
Другой аспект настоящего раскрываемого изобретения представляет собой способ обработки изображения для устройства обработки изображений, включающий в себя этапы, на которых: принимают с помощью принимающего модуля разностный параметр квантования, указывающий значение разности между параметром квантования, установленным для текущего элемента кодирования, который является объектом обработки данных при декодировании, и предсказанным параметром квантования, полученным посредством предсказания из множественных параметров квантования, установленным для множественных окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, устанавливают с помощью модуля установки параметра квантования параметр квантования для текущего модуля кодирования, используя разностный параметр квантования, принятый от принимающего модуля, и генерируют с помощью модуля декодирования данные изображения, осуществляя деквантование потока битов, принятого от принимающего модуля, с использованием параметра квантования, установленного модулем установки параметра квантования.
Еще один другой аспект настоящего раскрываемого изобретения представляет собой устройство обработки изображений, включающий в себя: модуль определения для того, чтобы при установке предсказываемого параметра квантования определять, имеют ли множественные окружающие элементы кодирования, расположенные вокруг текущего элемента кодирования, который является объектом обработки данных при кодировании, в доступном состоянии или нет, модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, используя только параметр квантования для элемента кодирования, определенного модулем определения в качестве имеющего доступное состояние, модуль установки разностного параметра квантования для установки разностного параметра квантования, указывающего значение разности между параметром квантования, установленный для текущего элемента кодирования, и предсказанным параметром квантования, установленный модулем установки предсказываемого параметра квантования, модуль кодирования для генерирования потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и передающий модуль для передачи потока битов, сгенерированного модулем кодирования, и разностного параметра квантования, установленного модулем установки разностного параметра квантования.
В случае, когда текущий элемент кодирования расположен в передней части текущего максимального элемента кодирования, модуль установки предсказываемого параметра квантования может устанавливать, в качестве предсказываемого параметра квантования, параметр квантования для элемента кодирования, расположенного в конце непосредственно предшествующего максимального элемента кодирования.
Еще один другой аспект настоящего раскрываемого изобретения представляет собой способ обработки изображения для устройства обработки изображений, включающий в себя этапы, на которых определяют с помощью модуля определения при установке предсказываемого параметра квантования, имеют ли множественные окружающие элементы кодирования, расположенные вокруг текущего элемента кодирования, который является объектом обработки данных при кодировании, в доступном состоянии, устанавливают с помощью модуля установки предсказываемого параметра квантования предсказываемый параметр квантования для текущего элемента кодирования, используя только параметр квантования для элемента кодирования, определенного в качестве находящегося в доступном состоянии, устанавливают с помощью модуля установки разностного параметра квантования разностный параметр квантования, указывающий значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования, генерируют с помощью модуля кодирования поток битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и передают с помощью передающего модуля сгенерированный поток битов и установленный разностный параметр квантования.
Еще один другой аспект настоящего раскрываемого изобретения представляет собой устройство обработки изображений, включающее в себя: принимающий модуль для приема разностного параметра квантования, указывающего значение разности между параметром квантования, заданного для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, представляющем собой значение предсказания параметра квантования, и поток битов, полученный посредством кодирования данных изображения, модуль определения для определения, при установке предсказываемого параметра квантования, имеют ли множественные окружающие элементы кодирования, расположенные вокруг текущего элемента кодирования, доступное состояние, модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, с использованием только параметра квантования для элемента кодирования, определенного модулем определения, в качестве имеющего доступное состояние, модуль генерирования параметра квантования для генерирования параметра квантования для текущего элемента кодирования, посредством суммирования параметра квантования, установленного для текущего элемента кодирования, и разностного параметра квантования, принятого принимающим модулем, модуль декодирования для декодирования потока битов, принятого принимающим модулем, и модуль обратного квантования для деквантования коэффициента квантования, полученного при декодировании модулем декодирования потока битов, с использованием параметра квантования, сгенерированного модулем генерирования параметра квантования.
Еще один другой аспект настоящего раскрываемого изобретения представляет собой способ обработки изображения для устройства обработки изображений, включающий в себя этапы, на которых: принимают с помощью принимающего модуля разностный параметр квантования, указывающий значение разности между параметром квантования, установленным для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, являющимся значением предсказания параметра квантования и поток битов, полученный посредством кодирования данных изображения, определяют с помощью модуля определения, при задании предсказываемого параметра квантования, имеют ли множественные окружающие элементы кодирования, расположенные вокруг текущего элемента кодирования, в доступном состоянии, устанавливают с помощью модуля установки предсказываемого параметра квантования предсказываемый параметр квантования для текущего элемента кодирования, с использованием только параметра квантования для элемента кодирования, определенного модулем определения, в качестве имеющего доступное состояние, генерируют с помощью модуля генерирования параметра квантования параметр квантования для текущего элемента кодирования, посредством суммирования параметра квантования, установленного для текущего элемента кодирования, и принятый разностный параметр квантования, декодируют с помощью модуля декодирования принятый поток битов, и выполняют деквантование с помощью модуля обратного квантования коэффициента квантования, полученного посредством декодирования потока битов, с использованием сгенерированного параметра квантования.
В одном аспекте настоящего раскрываемого изобретения устанавливают предсказываемый параметр квантования для текущего элемента кодирования, используя множественные параметры квантования, установленные для множественных окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодирования, устанавливают разностный параметр квантования, указывающий значение разности между параметром квантования, установленный для текущего элемента кодирования, и предсказанным параметром квантования, установленный модулем установки предсказываемого параметра квантования, генерируют поток битов, посредством кодирования данных квантования, полученных посредством квантования данных изображения, и осуществляется передача сгенерированного таким образом потока битов и заданного таким образом разностного параметра квантования.
В другом аспекте настоящего раскрываемого изобретения принимают разностный параметр квантования, указывающий значение разности между параметром квантования, установленном для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, полученным посредством предсказания из множественных параметров квантования, установленных для множественных окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, и поток битов, полученный посредством кодирования данных изображения, задают параметр квантования текущего элемента кодирования, используя принятый таким образом разностный параметр квантования, и генерируют генерируемые данные изображения, осуществляя деквантование полученного таким образом потока битов с использованием установленного таким образом параметра квантования.
В еще одном другом аспекте настоящего раскрываемого изобретении, при задании предсказанного параметра квантования производят определение того, находятся ли множественные окружающее элементы кодирования, расположенные вокруг текущего элемента кодирования, который является объектом обработки данных при кодировании, в доступном состоянии или нет, задают предсказанный параметр квантования для текущего элемента кодирования, используя только параметра квантования для элемента кодирования, который модуль определения определил как находящийся в доступном состоянии, задают разностный параметр квантования, который указывает значение разности между параметром квантования, который задан для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования, генерируют поток битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и передают сгенерированный таким образом поток битов и установленный таким образом разностный параметр квантования.
В еще одном другом аспекте настоящего раскрываемого изобретения принимают разностный параметр квантования, указывающий значение разности между параметром квантования, указанным для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, являющимся значением предсказания параметра квантования, и поток битов, полученный посредством кодирования данных изображения, определяют при установке предсказанного параметра квантования, имеют ли множественные окружающие элементы кодирования, расположенные вокруг текущего элемента кодирования, доступное состояние, устанавливают предсказанный параметр квантования для текущего элемента кодирования с использованием только параметр квантования для элемента кодирования, определенном модулем определения, в качестве имеющего доступное состояние, устанавливают параметр квантования для текущего элемента кодирования, суммируя параметр квантования, который задан для текущего элемента кодирования, и полученный таким образом разностный параметр квантования, декодируют полученный таким образом поток битов, и осуществляют деквантование коэффициента квантования, полученные посредством декодирования потока битов, с использованием сгенерированного таким образом параметра квантования.
Результаты изобретения
В соответствии с настоящим раскрываемым изобретением можно обрабатывать изображение. В частности, эффективность кодирования для параметра квантования может быть повышена.
Краткое описание чертежей
Фиг.1 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства кодирования изображения.
Фиг.2 представляет собой фигуру, на которой проиллюстрирован пример макроблока.
Фиг.3 представляет собой фигуру, на которой проиллюстрирован другой пример макроблока.
Фиг.4 представляет собой фигуру, на которой проиллюстрирован пример конфигурации элемента кодирования.
Фиг.5 представляет собой фигуру, на которой объясняется предсказание параметра квантования.
Фиг.6 представляет собой фигуру, на которой проиллюстрирован пример основной конфигурации модуля квантования, модуля управления скоростью и модуля кодирования параметра квантования.
Фиг.7 представляет собой блок-схему алгоритма, на которой объясняется пример алгоритма обработки данных при кодировании.
Фиг.8 представляет собой блок-схему алгоритма, на которой объясняется пример алгоритма обработки данных при квантовании.
Фиг.9 представляет собой блок-схему алгоритма, на которой объясняется пример алгоритма обработки данных при генерировании предсказываемого параметра квантования.
Фиг.10 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства декодирования изображения.
Фиг.11 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля обратного квантования, и модуля декодирования параметра квантования.
Фиг.12 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример алгоритма обработки данных при декодировании.
Фиг.13 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример алгоритма обработки обратного квантования.
Фиг.14 представляет собой фигуру, на которой проиллюстрирован пример другой конфигурации модуля кодирования параметра квантования.
Фиг.15 представляет собой блок-схему алгоритма, на которой объясняется другой пример алгоритма обработки данных при генерировании предсказываемого параметра квантования.
Фиг.16 представляет собой фигуру, на которой проиллюстрирован пример другой конфигурации модуля декодирования параметра квантования.
Фиг.17 представляет собой фигуру, на которой проиллюстрирован пример еще одной другой конфигурации модуля кодирования параметра квантования.
Фиг.18 представляет собой блок-схему алгоритма, на которой объясняется еще один другой пример алгоритма обработки данных при генерировании предсказываемого параметра квантования.
Фиг.19 представляет собой фигуру, на которой проиллюстрирован пример еще одной другой конфигурации модуля декодирования параметра квантования.
Фиг.20 представляет собой фигуру, на которой проиллюстрирован пример еще одной другой конфигурации модуля кодирования параметра квантования.
Фиг.21 представляет собой фигуру, на которой объясняется пример данных о типе.
Фиг.22 представляет собой блок-схему алгоритма, на которой объясняется пример алгоритма обработки данных при задании данных о типе.
Фиг.23 представляет собой блок-схему алгоритма, на которой объясняется еще один другой пример алгоритма обработки данных при генерировании предсказываемого параметра квантования.
Фиг.24 представляет собой фигуру, на которой проиллюстрирован пример еще одной другой конфигурации модули декодирования параметра квантования.
Фиг.25 представляет собой фигуру, на которой объясняется другой пример данных о типе.
Фиг.26 представляет собой блок-схему алгоритма, на которой объясняется другой пример обработки данных при задании данных о типе.
Фиг.27 представляет собой фигуру, на которой проиллюстрирован пример того, когда предсказание выполняется в элементе LCU (Наибольшем элементе кодирования).
Фиг.28 представляет собой фигуру, на которой проиллюстрирован пример способа кодирования изображения с множественными точками обзора.
Фиг.29 представляет собой фигуру, на которой проиллюстрирован пример основной конфигурации устройства кодирования изображения с множественными точками обзора, к которому применена данная технология.
Фиг.30 представляет собой фигуру, на которой проиллюстрирован пример основной конфигурации устройства декодирования изображения с множественными точками обзора, в котором применена данная технология.
Фиг.31 представляет собой фигуру, на которой проиллюстрирован пример способа кодирования иерархического изображения.
Фиг.32 представляет собой фигуру, на которой проиллюстрирован пример основной конфигурации устройства кодирования иерархических изображений, в котором применена данная технология.
Фиг.33 представляет собой фигуру, на которой проиллюстрирован пример основной конфигурации устройства декодирования иерархических изображений, к которому применена данная технология.
Фиг.34 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации компьютера.
Фиг.35 представляет собой структурную схему, на которой проиллюстрирован пример принципиальной схемы телевизионного устройства.
Фиг.36 представляет собой структурную схему, на которой проиллюстрирован пример принципиальной схемы сотового телефона.
Фиг.37 представляет собой структурную схему, на которой проиллюстрирован пример принципиальной схемы устройства записи/воспроизведения.
Фиг.38 представляет собой структурную схему, на которой проиллюстрирован пример принципиальной схемы устройства ввода изображения.
Осуществление изобретения
Далее будут объяснены способы осуществления настоящего раскрываемого изобретения (в дальнейшем именуемые как варианты реализации изобретения). Следует отметить, что это объяснение будет сделано в следующем порядке:
1. Первый вариант реализации изобретения (устройство кодирования изображения)
2. Второй вариант реализации изобретения (устройство декодирования изображения)
3. Третий вариант реализации изобретения (выбор способа вычисления)
4. Четвертый вариант реализации изобретения (взвешенное среднее значение)
5. Пятый вариант реализации (задание типа данных)
6. Шестой вариант реализации изобретения (предсказание в элементе "LCU")
7. Седьмой вариант реализации изобретения (устройство кодирования изображения с множественными точками обзора/декодирования изображения с множественными точками обзора)
8. Восьмой вариант реализации изобретения (устройство кодирования иерархического изображения/декодирования иерархического изображения)
9. Девятый вариант реализации изобретения (пример применения)
1. Первый вариант реализации изобретения
Устройство кодирования изображения
Фиг.1 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства кодирования изображения.
Устройство 100 кодирования изображения, которое проиллюстрировано на Фиг.1, кодирует данные изображения, используя обработку данных при предсказании как в способе кодирования в стандарте H.264 и Части 10 MPEG - 4 (Части 10 стандарта 4 экспертной группы по движущемуся изображению) (AVC (Усовершенствованное кодирование видеоданных)).
Как проиллюстрировано на Фиг.1, устройство 100 кодирования изображения включает в себя модуль 101 аналого-цифрового (АЛЭ) преобразования, буфер 102 сортировки экранного изображения, вычислительный модуль 103, модуль 104 ортогонального преобразования, модуль 105 квантования, модуль 106 кодирования без потерь и накопительный буфер 107. Устройство 100 кодирования изображения включает в себя модуль 108 обратного квантования, модуль 109 обратного ортогонального преобразования, вычислительный модуль 110, контурный фильтр 111, память 112 кадров, модуль 113 выбора, модуль 114 внутрикадрового предсказания, модуль 115 предсказания/компенсации движения, модуль 116 выбора предсказанного изображения и модуль 117 управления скоростью.
Устройство 100 кодирования изображения, кроме того, включает в себя модуль 121 кодирования параметра квантования и модуль 122 декодирования параметра квантования.
Модуль 101 аналого-цифрового преобразования выполняет аналого-цифровое преобразование принятых данных изображения и предоставляет преобразованные данные изображения (цифровые данные) в буфер 102 сортировки экранного изображения для того, чтобы сохранить там данные изображения. Буфер 102 сортировки экранного изображения пересортировывает изображения кадров в сохраненном порядке их отображения в порядок кадров для кодирования в соответствии с GOP - (Группой изображений), и предоставляют изображения, порядок которых пересортирован, на вычислительный модуль 103. Буфер 102 сортировки экранного изображения также предоставляет изображения, порядок которых пересортирован, в модуль 114 внутрикадрового предсказания и модуль 115 предсказания/компенсации движения.
Вычислительный модуль 103 вычитает предсказанное изображение, которое через модуль 116 выбора предсказанного изображения предоставляется от модуля 114 внутрикадрового предсказания или модуля 115 предсказания/компенсации движения, из изображения, считываемого из буфера 102 сортировки экранного изображения и выводит информацию разности этих изображений на модуль 104 ортогонального преобразования.
Например, в случае изображения, над которым произведено межкадровое кодирование, вычислительный модуль 103 вычитает, из изображения, считываемого из буфера 102 сортировки экранного изображения, предсказанное изображение, которое предоставляется от модуля 115 предсказания/компенсации движения.
Модуль 104 ортогонального преобразования применяет к информации разности, предоставленной от вычислительного модуля 103, ортогональное преобразование, такое как дискретное косинусное преобразование и преобразование Карунена - Лоэва (Karhunen - Loeve). Следует отметить, что способ этого ортогонального преобразования может быть любым способом. Модуль 104 ортогонального преобразования предоставляет коэффициенты преобразования на модуль 105 квантования.
Модуль 105 квантования осуществляет квантование коэффициентов преобразования, поступающих от модуля 104 ортогонального преобразования. Модуль 105 квантования, основываясь на информации о некотором заданном значении количества кодов, предоставленной модулем 117 управления скоростью, задает параметр квантования и осуществляет его квантование. Модуль 105 квантования предоставляет подвергнувшиеся квантованию коэффициенты преобразования в модуль 106 кодирования без потерь.
Модуль 106 кодирования без потерь, используя любой способ кодирования, кодирует коэффициенты преобразования, подвергнутые квантованию модулем 105 квантования. Данные коэффициентов квантуются под управлением модуля 117 управления скоростью, и, следовательно, количество кодов становится некоторым заданным значением, установленным модулем 117 управления скоростью (или становится близким к этому заданному значению).
Модуль 106 кодирования без потерь получает от модуля 114 внутрикадрового предсказания информацию, указывающую режим внутрикадрового предсказания и тому подобное, и получает от модуля 115 предсказания/компенсации движения информацию, указывающую режим межкадрового предсказания, информацию вектора движения и тому подобное. Кроме того, модуль 106 кодирования без потерь получает коэффициенты фильтра и тому подобное, используемые контурным фильтром 111.
Модуль 106 кодирования без потерь кодирует различные виды информации, которые были описаны выше, используя любой способ кодирования, и делает их частью информации заголовка закодированных данных (мультиплексирует). Модуль 106 кодирования без потерь предоставляет закодированные данные, полученные посредством кодирования, накопительному буферу 107 для накопления этих данных в нем.
Примеры способов кодирования в модуле 106 кодирования без потерь включают в себя: кодирование с переменной длиной кодового слова или арифметическое кодирование. Пример кодирования с переменной длиной кодового слова включает в себя CAVLC - кодирование (Контекстно зависимое адаптивное кодирование с переменной длиной кодового слова) и тому подобное, определенное в способе H.264/AVC. Пример арифметического кодирования включает в себя САВАС - кодирование (Контекстно зависимое адаптивное бинарное арифметическое кодирование).
Накопительный буфер 107 временно сохраняет в себе закодированные данные, предоставленные модулем 106 кодирования без потерь. В предварительно заданные моменты времени накопительный буфер 107 выводит хранящиеся в нем закодированные данные, в качестве потока битов, например, в записывающее устройство (на носитель записи), в тракт передачи и тому подобное, не показанные на чертеже, предусматриваемые на более поздней стадии.
Коэффициенты преобразования, подвергнувшиеся квантованию в модуле 105 квантования, также предоставляются модулю 108 обратного квантования. Модуль 108 обратного квантования осуществляет над подвергнувшимися квантованию коэффициентами преобразования деквантование в соответствии со способом, корреспондирующим квантованию в модуле 105 квантования. Способ обратного квантования может представлять собой любой способ, если только это способ, соответствует обработке данных при квантовании, выполняемой модулем 105 квантования. Модуль 108 обратного квантования предоставляет полученные коэффициенты преобразования модулю 109 обратного ортогонального преобразования.
Модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентами преобразования, предоставленными модулем 108 обратного квантования в соответствии со способом, корреспондирующим обработке данных при ортогональном преобразовании, проводимой модулем 104 ортогонального преобразования. Способ обратного ортогонального преобразования может представлять собой любой способ, если только это способ корреспондирует обработке данных при ортогональном преобразовании, проводимой модулем 104 ортогонального преобразования, Выходные данные, полученные обратным ортогональным преобразованием (восстановленная информация разности), предоставляется вычислительному модулю 110.
Вычислительный модуль 110 суммирует предсказанное изображение, которое предоставляется через модуль 116 выбора предсказанного изображения от модуля 114 внутрикадрового предсказания или модуля 115 предсказания/компенсации движения, с результатом обратного ортогонального преобразования, предоставляемым модулем 109 обратного ортогонального преобразования, то есть с восстановленной информацией разности, и получает локально декодированное изображение (декодированное изображение). Это декодированное изображение предоставляется в контурный фильтр 111 или в память 112 кадров.
Контурный фильтр 111 включает в себя фильтр устранения блочности, адаптивный контурный фильтр и тому подобное и по мере необходимости применяет к декодированному изображению, предоставляемому вычислительным модулем 110, обработку данных фильтром. Например, контурный фильтр 111 применяет к декодированному изображению обработку данных фильтром устранения блочности для того, чтобы удалить из декодированного изображения шум блочности. Например, контурный фильтр 111 применяет к результату обработки данных фильтром устранения блочности (к декодированному изображению, на котором устранен только шум блочности) обработку данных контурным фильтром, используя фильтр Винера, повышая, таким образом, равномерность изображения.
Следует отметить, что контурный фильтр (111) может применять к декодированному изображению любую заданную обработку данных фильтром. По мере необходимости, контурный фильтр 111 предоставляет информацию, такую как коэффициенты фильтра, используемые при обработке данных фильтром на модуль 106 кодирования без потерь, чтобы модуль 106 кодирования без потерь закодировал их.
Контурный фильтр 111 предоставляет результат обработки данных фильтром (декодированное изображение, полученное в результате обработки данных фильтром) в память 112 кадров. Как было описано выше, декодированное изображение, которое выводится от вычислительного модуля 110, может быть предоставлено в память 112 кадров без участия контурного фильтра 111. Если описать это более конкретно, то обработка данных фильтром, основанная на контурном фильтре 111, может не проводиться.
Память 112 кадров сохраняет предоставленное ей декодированное изображение и в предварительно заданные моменты времени предоставляет сохраненное в ней декодированное изображение модулю 113 выбора, в качестве опорного изображения.
Модуль 113 выбора выбирает, куда отправить опорное изображение, предоставленное из памяти 112 кадров. Например, в случае межкадрового предсказания модуль 113 выбора предоставляет опорное изображение, которое предоставлено из памяти 112 кадров, модулю 115 предсказания/компенсации движения.
Модуль 114 внутрикадрового предсказания использует пиксельные значения при обработке изображения - объекта обработки, которое представляет собой опорное изображение, предоставляемое из памяти 112 кадров через модуль 113 выбора, для того, чтобы выполнить внутрикадровое предсказание (предсказание в пределах экранного изображения) для генерирования предсказываемого изображения, по существу принимая элемент (PU) предсказания в качестве элемента обработки. Модуль 114 внутрикадрового предсказания выполняет это внутрикадровое предсказание во множественных режимах, подготовленных заранее (режимы внутрикадрового предсказания).
Модуль 114 внутрикадрового предсказания генерирует предсказываемые изображения во всех режимах внутрикадрового предсказания, которые могут рассматриваться в качестве кандидатов, и использует входное изображение, предоставленное из буфера 102 сортировки экранного изображения, для оценки значения функции "стоимости" каждого предсказанного изображения, выбирая, таким образом, оптимальный режим. Когда оптимальный режим внутрикадрового предсказания выбран, модуль 114 внутрикадрового предсказания предоставляет предсказанное изображение, сгенерированное в оптимальном режиме, на модуль 116 выбора предсказанного изображения.
Как было описано выше, модуль 114 внутрикадрового предсказания предоставляет, по мере необходимости, информацию режима внутрикадрового предсказания и тому подобное, указывающую используемый режим внутрикадрового предсказания, на модуль 106 кодирования без потерь, чтобы модуль 106 кодирования без потерь выполнял кодирование.
Модуль 115 предсказания/компенсации движения использует входное изображение, предоставляемое из буфера 102 сортировки экранного изображения, и опорное изображения, предоставляемое из памяти 112 кадров через модуль 113 выбора, для того, чтобы выполнить предсказание движения (межкадровое предсказание), по существу принимая элемент предсказания в качестве элемента обработки, выполняет обработку данных при компенсации движения в соответствии с обнаруженным вектором движения, и генерирует предсказываемое изображение (информацию изображения с межкадровым предсказанием). Модуль 115 предсказания/компенсации движения выполняет такое межкадровое предсказание во множественных режимах, подготовленных заранее (режим межкадрового предсказания).
Модуль 115 предсказания/компенсации движения генерирует предсказываемые изображения во всех режимах внутрикадрового предсказания, которые могут рассматриваться в качестве кандидатов, и оценивает значение функции "стоимости" каждого предсказанного изображения, выбирая, таким образом, оптимальный режим. Когда оптимальный режим междрового предсказания выбран, модуль 115 предсказания/компенсации движения предоставляет предсказанное изображение, сгенерированное в оптимальном режиме, на модуль 116 выбора предсказанного изображения.
Модуль 115 предсказания/компенсации движения снабжает модуль 106 кодирования без потерь информацией, указывающей используемый режим межкадрового предсказания, информацией, требующейся для выполнения обработке данных в режиме межкадрового предсказания при декодировании закодированных данных, и тому подобным, чтобы модуль 106 кодирования без потерь выполнил ее кодирование.
Модуль 116 выбора предсказанного изображения выбирает источник предсказанного изображения, предоставляемого на вычислительный модуль 103 и вычислительный модуль 110. Например, в случае межкадрового кодирования модуль 116 выбора предсказанного изображения выбирает в качестве источника предсказанного изображения модуль 115 предсказания/компенсации движения, и предоставляет предсказанное изображение, которое предоставлено модулем 115 предсказания/компенсации движения на вычислительный модуль 103 и вычислительный модуль 110.
Модуль 117 управления скоростью, основываясь на количестве кодов закодированных данных, накапливаемых в накопительном буфере 107, управляет скоростью операции квантования в модуле 105 квантования таким образом, чтобы не вызывать переполнение и опустошение.
Модуль кодирования 121 параметра квантования получает от модуля 105 квантования параметр квантования текущей области, которая является объектом обработки (которая также упоминается как область внимания), и параметр квантования окружающей области, располагающейся вокруг текущей области, вычисляет разность между этими параметрами, возвращает разность назад в модуль 105 квантования, чтобы модуль 106 кодирования без потерь закодировал и передал ее. Модуль 121 кодирования параметра квантования также предоставляет эту разность через модуль 108 процесса, обратного квантованию, на модуль 122 декодирования параметра квантования.
Модуль 122 декодирования параметра квантования использует разность параметров квантования в текущей области и окружающей области, предоставленную модулем 121 кодирования параметра квантования, и параметр квантования окружающей области, восстановленной ранее, для того, чтобы восстановить параметр квантования в текущей области, и предоставляет реконструированный параметр квантования на модуль 108 обратного квантования. Модуль 108 обратного квантования использует этот параметр квантования для того, чтобы выполнить обратное квантование.
Макроблок
Между прочим, в способе AVC - кодирования (Усовершенствованного кодирования видеоданных), как проиллюстрировано на Фиг.2, один макроблок разделен на множество блоков компенсации движения, и каждому из них может быть дана различная информация о движении.
Если описать это более конкретно, то макроблок, включающий в себя 16×16 пикселей, может быть разделен на любую из секций, то есть 16×16, 16×8, 8×16 и 8×8.
Кроме того, секция 8×8 может быть разделена на любую из подсекций, то есть 8×8, 8×4, 4×8 и 4×4. Как было описано выше, каждая область, полученная делением макроблока на множество частей, именуется как субмакроблок.
Между прочим, размер макроблока, составляющий 16 пикселей на 16 пикселей, не подходит для большого кадра изображения, такого как UHD (изображения сверхвысокой четкости), которое является объектом способа кодирования следующего поколения. Соответственно, как проиллюстрировано на Фиг.3, непатентный документ 1 и ему подобные предлагают превратить размер макроблка в такой размер, как 64×64 пикселя и 32 пикселя на 32 пикселя.
Если описать это более конкретно, то в непатентном документе 1 используется иерархическая структура, которая проиллюстрирована на Фиг.3, и для пиксельного блока, имеющего 16×16 пикселей или меньше, определен, как надмножество к нему, более крупный блок, при этом сохраняется совместимость с макроблоком действующего на текущий момент стандарта AVC (Усовершенствованного кодирования видеоданных).
Непатентный документ 1 представляет собой предложение по применению расширенного макроблока (расширенная частная область) к межкадровому слою (последовательности макроблоков), но непатентный документ 2 предлагает применять расширенный макроблок (расширенную частную область) к внутрикадровому слою. В приводимом ниже объяснении расширенный таким образом макроблок также именуется как расширенный макроблок.
Элемент кодирования
Между прочим, принятие размера макроблка составляющим 16 пикселей на 16 пикселей не подходит для большого кадра изображения, такого как UHD (изображения сверхвысокой четкости; 4000 пикселей на 2000 пиксели), которое является объектом кодирования способа кодирования следующего поколения.
По этой причине в AVC - кодировании, как проиллюстрировано на Фиг.2, определена иерархическая структура макроблоков и субмакроблоков. Например, в HEVC - кодировании (Высокоэффективном кодировании видеоданных) элемент кодирования (CU) определяется так, как это проиллюстрировано на Фиг.4.
Элемент кодирования также упоминается как Блок дерева кодирования (СТВ - блок), и представляет собой частную область изображения элемента кадра, которая является аналогом макроблока в AVC - кодировании. Во втором случае размер зафиксирован как 16×16 пикселей, но в первом случае размер не является фиксированным, и в каждой последовательности размер указывается в информации о сжатии изображения.
Например, в Наборе параметров последовательности (SPS), включенном в состав выводимых закодированных данных, указываются максимальный размер элемента кодирования (LCU (Наибольший элемент кодирования)) и минимальный размер элемента кодирования ((SCU (Наименьший элемент кодирования)).
В каждом LCU флажок разделения составляет 1, до тех пор, пока размер не меньше чем размер SCU, и, соответственно, имеется возможность разделить элемент кодирования на элементы кодирования более малого размера. В примере, показанном на Фиг.4, размер LCU составляет 128, и максимальная иерархическая глубина составляет 5. В случае, когда значение split_flag (признака_разделения) составляет "1", элемент кодирования, размер которого составляет 2N×2N, разделяется на элементы кодирования, размер которых составляет N×N, который представляет собой иерархию на один уровень ниже.
Кроме того, элемент кодирования разделяется на элементы предсказания (PU - элементы), которые являются областями, служащими в качестве элемента обработки для внутрикадрового или межкадрового предсказания, (частными областями изображения элемента кадра), и разделяется на элементы преобразования (TU - элементы), которые являются областями, служащими элементом обработки для ортогонального преобразования (частными областями изображения элемента картинки). В настоящее время в HEVC - кодировании (Высокоэффективном кодировании видеоданных) имеется возможность, в дополнение к 4×4 и 8×8, использовать ортогональное преобразование 16×16 и 32×32.
В случае способа кодирования для определения элемента кодирования и выполнения различных видов обработки при принятии в качестве ее элемента кодирования, точно как в HEVC - кодировании, объясненном выше, макроблок в AVC - кодировании рассматривается как соответствующий LCU. Однако, как проиллюстрировано на Фиг.4, элемент кодирования имеет иерархическую структуру, и, следовательно, размер LCU на самом высоком уровне в иерархии обычно устанавливается как, например, 128×128 пикселей, что больше, чем макроблок AVC - кодирования.
Настоящее раскрываемое изобретение может также быть применено к способу кодирования, использующему вместо макроблока такие CU, PU, TU и тому подобное. Если сказать более конкретно, то элемент обработки, над которым выполняется обработка данных при квантовании, может представлять собой любую данную область. Таким образом, в приводимом ниже объяснении текущая область, которая представляет собой объект обработки при обработке данных квантованием (которая может также упоминаться как рассматриваемая область или область внимания) и окружающая область, которая представляет собой область, расположенную вокруг этой текущей области, включают в себя не только такой макроблок и субмакроблок, но также и все элементы данных, такие как LCU, CU, SCU, PU, TU.
Между прочим, параметр квантования (QP) используется для кодирования разности параметра квантования, используемого для кодирования предшествующего блока, но, в частности, когда параметр квантования динамически изменяется в пределах экранного изображения, точно как в случае адаптивного квантования, количество информации в информации о сжатии изображения может увеличиться.
Соответственно, например, как проиллюстрировано на Фиг.5, модуль 121 кодирования параметра квантования предсказывает параметр квантования текущей области, которая является объектом обработки, (например, текущего элемента кодирования) на основе параметра квантования окружающей области, как на Фиг.5 (например, окружающего элемента кодирования), и вычисляет значение разности между значением предсказания и действительным значением параметра квантования в текущей области. Это значение разности кодируется и передается стороне декодирования. Как было описано выше, устройство 100 кодирования изображения может уменьшить количество кодов параметров квантования, и может повысить эффективность кодирования.
Модуль квантования, модуль управления скоростью и модуль кодирования параметра квантования
Далее будет объяснен каждый модуль в устройстве 100 кодирования изображения. Фиг.6 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 105 квантования, модуля 117 управления скоростью и модуля 121 кодирования параметра квантования.
Как проиллюстрировано на Фиг.6, модуль 117 управления скоростью содержит модуль 131 вычисления показателя активности. Модуль 105 квантования включает в себя модуль 141 генерирования параметра квантования для области внимания, модуль 142 обработки данных при квантовании, буфер 143 параметров квантования для окружающих областей и буфер 144 разностного параметра квантования.
Кроме того, модуль 121 кодирования параметра квантования включает в себя модуль 151 генерирования предсказываемого параметра квантования и модуль 152 генерирования разностного параметра квантования.
Модуль 131 вычисления показателя активности получает информацию входного изображения из буфера 102 сортировки экранного изображения и вычисляет ее показатель активности в соответствии, например, со способом управления количеством кода, определенным в MPEG2 TestModel (Тестовой модели Стандарта 2, разработанного Экспертной группой по вопросам движущегося изображения)) ("TestModel5", ISO/IEC, JTC/SC29/WG11/N0400, 1993 ("Тестовая Модель 5", Объединенный технический комитет Международной организации по стандартизации/Международной электротехнической комиссии/Подкомитет 29/Рабочая группа 11/N0400, 1993 г.), и предоставляет показатель активности на модуль 141 генерирования параметра квантования для области внимания.
Модуль 141 генерирования параметра квантования для области внимания вычисляет, основываясь на предоставленном показателе активности, параметр квантования для текущей области (области внимания) (параметр квантования для области внимания). Модуль 141 генерирования параметра квантования для области внимания предоставляет вычисленный параметр квантования для области внимания на модуль 142 обработки данных при квантовании.
Модуль 142 обработки данных при квантовании использует параметр квантования для области внимания для квантования коэффициентов ортогонального преобразования, предоставленных модулем 104 ортогонального преобразования, предоставляет подвергнувшиеся квантованию коэффициенты ортогонального преобразования на модуль 106 кодирования без потерь, чтобы модуль 106 кодирования без потерь выполнил кодирование и передачу стороне декодирования.
Модуль 142 обработки данных при квантовании также предоставляет подвергнувшиеся квантованию коэффициенты ортогонального преобразование на модуль 108 обратного квантования.
Модуль 141 генерирования параметра квантования для области внимания также предоставляет вычисленный параметр квантования для области внимания в буфер 143 параметров квантования для окружающих областей.
Буфер 143 параметров квантования для окружающих областей сохраняет предоставленный параметр квантования для области внимания. В ходе обработки данных, в которой в качестве текущей области принимается другая область, обрабатываемая после этой текущей области, буфер 143 параметров квантования для окружающих областей предоставляет сохраненный в нем параметр квантования для области внимания на модуль 151 генерирования предсказываемого параметра квантования, в качестве параметра квантования окружающей области (параметра квантования для окружающий области).
Модуль 151 генерирования предсказываемого параметра квантования выбирает множественные окружающие области текущей области, и считывает из буфера 143 параметров квантования для окружающих областей параметр квантования для каждой окружающей области в качестве параметра квантования для окружающей области. Модуль 151 генерирования предсказываемого параметра квантования использует их для генерирования значения предсказания параметра квантования текущей области (предсказываемого параметра квантования). Например, модуль 151 генерирования предсказываемого параметра квантования выполняет медианную операцию, используя множественные параметры квантования для окружающих областей, принимая в качестве предсказанного параметра квантования значение их медианы. Модуль 151 генерирования предсказываемого параметра квантования предоставляет предсказанный параметр квантования, сгенерированный таким образом, на модуль 152 генерирования разностного параметра квантования.
Кроме того, модуль 141 генерирования параметра квантования для области внимания также предоставляет вычисленный параметр квантования для области внимания на модуль 152 генерирования разностного параметра квантования.
Модуль 152 генерирования разностного параметра квантования генерирует разность (разностный параметр квантования) между параметром квантования для области внимания, полученным от модуля 141 генерирования параметра квантования для области внимания, и предсказанным параметром квантования, полученным от модуля 151 генерирования предсказываемого параметра квантования. Модуль 152 генерирования разностного параметра квантования предоставляет сгенерированный разностный параметр квантования на буфер 144 разностного параметра квантования.
Буфер 144 разностного параметра квантования сохраняет предоставленный ему разностный параметр квантования, и в заданные моменты времени или в ответ на возникновение некоторого предварительно заданного события буфер 144 разностного параметра квантования предоставляет этот разностный параметр квантования на модуль 106 кодирования без потерь, чтобы модуль 106 кодирования без потерь выполнил кодирование и передачу его стороне декодирования.
Буфер 144 разностного параметра квантования также предоставляет разностный параметр квантования на модуль 108 обратного квантования.
Модуль 108 обратного квантования генерирует параметр квантования для области внимания, заставляя модуль 122 декодирования параметра квантования декодировать разностный параметр квантования, и использует параметр квантования для области внимания для того, чтобы осуществить деквантование подвергнувшегося квантованию коэффициента ортогонального преобразования, полученного от модуля 142 обработки данных при квантовании.
Подробности, относящиеся к модулю 108 обратного квантования, и модулю 122 декодирования параметра квантования, будут объяснены позже при объяснении, касающемся устройства декодирования изображения. В качестве альтернативы, модуль 141 генерирования параметра квантования для области внимания может представлять параметр квантования для области внимания на модуль 108 обратного квантования и модуль 108 обратного квантования, может использовать параметр квантования для области внимания для того, чтобы осуществить деквантование подвергнувшегося квантованию коэффициента ортогонального преобразования. В этом случае модуль 122 декодирования параметра квантования может отсутствовать.
Как было описано выше, каждый модуль выполняет обработку данных, и, соответственно, устройство 100 кодирования изображения может повысить эффективность кодирования параметра квантования.
Кодирование параметра квантования
Далее, кодирование параметра квантования будет объяснено более конкретно.
Вообще, считается, что текстура текущей области (области внимания), которая является объектом обработки, имеет корреляцию с текстурой какой-нибудь из окружающих областей, расположенных вокруг нее. Используя этот факт, можно уменьшить информацию, требующуюся для параметра квантования.
curr
curr
Пример текущей области и окружающей области будет проиллюстрирован на Фиг.5. На Фиг.5 каждый прямоугольник представляет область - элемент обработки данных при квантовании, и прямоугольник QP представляет текущую область. QP обозначает параметр квантования для текущей области.
a
a
b
b
c
c
d
d
e
e
a'
a'
Аналогичным образом, прямоугольник QP представляет окружающую область A, прилегающую к левой стороне текущей области, и QP обозначает параметр квантования для окружающей области A. Прямоугольник QP представляет окружающую область B, прилегающую к верхней стороне текущей области, и QP обозначает параметр квантования для окружающей области B. Прямоугольник QP представляет окружающую область C, прилегающую к верхней левой стороне текущей области, и QP обозначает параметр квантования для окружающей области C. Прямоугольник QP представляет окружающую область D, прилегающую к нижней левой стороне текущей области, и QP обозначает параметр квантования для окружающей области D. Прямоугольник QP представляет окружающую область E, прилегающую к верхней правой стороне текущей области, и QP обозначает параметр квантования для окружающей области E. Кроме того, прямоугольник QP представляет окружающую область A', прилегающую к левой стороне текущей области, и QP обозначает параметр квантования окружающей области A'.
curr
a
b
c
d
e
a'
Следует отметить, что, когда модуль 105 квантования вычисляет параметр QP квантования для текущей области, параметры QP, QP, QP, QP, QP и QP квантования окружающей области уже вычислены.
curr
a
b
c
a
b
c
Считается, что параметр QP квантования для текущей области имеет высокую степень корреляции с каким-нибудь параметром из числа: QP, QP и QP, которые представляют собой параметры квантования окружающих областей вблизи от текущей области. Соответственно, сначала, модуль 121 кодирования параметра квантования генерирует значение PredQP предсказания параметра QPcurr квантования для текущей области, исходя из параметров QP, QP и QP квантования, в соответствии, например, со следующим выражением (1).
Вслед за этим, модуль 121 кодирования параметра квантования вычитает значение PredQP предсказания из параметра QPcurr квантования и получает разностный параметр dQP квантования так, как это проиллюстрировано в нижеследующем выражении (2).
Разностный параметр dQP квантования передается стороне декодирования. Если описать это более конкретно, то устройство 100 кодирования изображения передает разностный параметр dQP квантования, полученный посредством вычитания значения PredQP предсказания вместо параметра QPcurr квантования, уменьшая, таким образом, количество кодов параметра квантования.
d
e
a'
Параметр квантования, используемый для вычисления значения PredQP предсказания, может относиться к области, отличной от окружающих областей: с окружающей области A по окружающую область C, при условии, что он уже вычислен. Например, для вычисления значения PredQP предсказания могут быть использованы параметры QP и QP квантования. Для получения значения PredQP предсказания может быть использован параметр QP квантования, относящийся к окружающей области, не примыкающей к текущей области. Кроме того, значение PredQP предсказания может быть получено с использованием параметра квантования, относящегося к окружающей области, отличной от того, что было описано выше. Например, вместо параметров квантования для областей, располагающихся вокруг текущей области в пространственном смысле, как это было описано выше, (пространственная окружающая область), значение PredQP предсказания может быть получено с использованием параметра квантования для области вокруг текущей области в смысле времени, такой как расположенная в этом месте область опорного кадра (временная окружающая область). Кроме того, значение PredQP предсказания может быть получено с использованием обоих параметров из числа: параметра квантования для пространственной окружающей области и параметра квантования для временной окружающей области.
a'
В случае, когда вместо параметра QPa квантования для вычисления значения PredQP предсказания используется, например, параметр QP квантования, вычислительная обработка данных по вычислению значения PredQP предсказания параметра квантования текущей области можно начинать, не ожидая кодирующей обработки окружающей области, прилегающей к текущей области (или декодирующей обработки), и, следовательно, может быть достигнута быстрая обработка данных. То же самое можно сказать о случае, когда используется параметр квантования временной окружающей области.
Способ вычисления значения PredQP предсказания, может представлять собой любой способ и может представлять собой способ, отличный от медианы, объясненной выше. Например, в качестве значения PredQP предсказания может быть принято среднее значение всех или некоторых из параметров квантования для окружающих областей.
Вообще, текстура текущей области часто имеет высокую степень корреляции с текстурой какой-нибудь из окружающих областей, и с меньшей вероятностью имеет высокую степень корреляции с текстурами множества окружающих областей.
Например, когда вблизи от текущей области имеются изображения двух объектов, имеющих отличающиеся друг от друга текстуры, изображение в текущей области, вероятно, будет изображением какого-нибудь из этих объектов. В этом случае, текстура текущей области имеет высокую степень корреляции с текстурой окружающей области, в которой существует один из этих объектов, и имеет низкую степень корреляции с текстурой окружающей области, в которой существует другой из этих объектов. В таком случае текстура текущей области с меньшей вероятностью будет иметь высокую степень корреляции со средним значением для текстуры окружающей области, в которой существует один из этих объектов, и текстуры окружающей области, в которой существует другой из этих объектов.
Следовательно, вообще говоря, точность предсказания значения PredQP предсказания повысилась бы при использовании медианы.
Однако в случае, когда изображение, например, имеет градацию, при которой текстура изменяется постепенно, текстура текущей области, вероятно, будет иметь высокую степень корреляции со средним значением для текстур двух окружающих областей, существующих таким образом, чтобы располагаться как в сэндвиче по обе стороны от текущей области. В таком случае, точность значения PredQP предсказания была бы с легкостью повышена посредством среднего значения.
Следует отметить, что с использованием среднего значения вычислительная обработка стала бы легкой, и нагрузка по вычислению является более низкой.
Желательно использовать оптимальный способ вычисления, учитывая различие характеристик каждого вычисления, как это описано выше. В качестве альтернативы, могут быть подготовлены множественные способы вычисления, и они могут выбираться адаптивным способом.
Далее, модуль 121 кодирования параметра квантования генерирует информацию признака (признак), указывающий на то, передавать ли разностный параметр dQP квантования, объясненный выше, и может передать информацию признака стороне декодирования.
В этом случае, например, модуль 121 кодирования параметра квантования сохраняет информацию признака в некоторой предварительно заданной позиции потока битов, такой как заголовок слоя, чтобы она была передана как поток битов стороне декодирования. Сторона декодирования ищет информацию признака, и, например, если удовлетворяется соотношение признак = 1, то сторона декодирования определяет, что принят разностный параметр dQP квантования, и соответственно, получает значение PredQP предсказания, соответствующее объясненному выше вычислению, и получает параметр QPcurr квантования для текущей области, соответствующий объясненному выше вычислению. В случае, когда удовлетворяется соотношение признак = 0, то выполняется обработка данных при кодировании/декодировании dQP, соответствующая традиционному способу, как способ, используемый при AVC - кодировании (Усовершенствованном кодировании видеоданных).
Как было описано выше, передается информация признака, который позволяет стороне декодирования иметь дело с множеством способов. Следовательно, сторона кодирования может выбрать и применить самый подходящий способ из числа множества способов. Соответственно, устройство 100 кодирования изображения может далее уменьшить количество кодов для параметра квантования.
В случае, когда кадр разделен на множество слоев, и каждый слой обрабатывается независимо друг от друга, модуль 121 кодирования параметра квантования может поддерживать независимость обработки каждого слоя, и может вычислять значение PredQP предсказания, используя только окружающую область, которая принадлежит текущему слою (слою, которому уделяется внимание), включающему в себя текущую область, так, чтобы не вызвать ненужную задержку. В таком случае, окружающие области, расположенные вне текущего слоя не используются, и количество параметров квантования, используемых для вычисления значения PredQP предсказания может быть, соответственно, уменьшено. В качестве, альтернативы, вместо параметра квантования окружающей области, расположенной вне текущего слоя, может быть использован параметр квантования других окружающих областей, обрабатываемых в пределах текущего слоя.
a
curr
В стандартах MPEG2 и AVC, обработка данных при кодировании выполняется, при том, что разностный параметр dQP квантования представляет собой разность между параметром квантования для текущей области и параметром квантования, использованным для обработки данных при кодировании или обработке данных при декодировании непосредственно до этого, то есть разность между QP и QP в примере, показанном на Фиг.5. Однако корреляция между текущей областью и окружающей областью A не обязательно может быть высокой. Следовательно, при выполнении такой фиксированной обработки данных точность предсказания может уменьшиться.
В противоположность этому, модуль 121 кодирования параметра квантования выполняет предсказание с использованием параметра квантования множественных окружающих областей, так что разностный параметр dQP квантования может быть вычислен с использованием параметра квантования, который рассматривается как имеющий самую высокую степень корреляции. Если описать это более конкретно, то может быть достигнут более высокий коэффициент сжатия по сравнению с тем, что предлагается стандартами MPEG2 и AVC.
В способе, объясненном выше, нет необходимости изменять синтаксис, касающийся dQP в информации о сжатии изображения, и этот способ может быть реализован только посредством изменения способа кодирования и декодирования. Следовательно, этот способ может быть с легкостью применен к существующим устройству кодирования и устройству декодирования с небольшим изменением.
Алгоритм обработки данных при кодировании
Далее будет объяснен алгоритм каждой обработки данных, исполняемой объясненным выше устройством 100 кодирования изображения. Сначала, со ссылкой на блок-схему алгоритма, показанную на Фиг.7, будет объяснен пример алгоритма обработки данных при кодировании.
На этапе S101 модуль 101 аналого-цифрового (A/D) преобразования выполняет аналого-цифровое преобразование принятого изображения. На этапе S102 буфер 102 сортировки экранного изображения сохраняет изображения, которые были подвергнуты аналого-цифровому преобразованию, и сортирует их, переходя от порядка, в котором изображения отображаются, к порядку, в котором они кодируются.
На этапе S103 модуль 114 внутрикадрового предсказания выполняет обработку данных при внутрикадровом предсказании, выполняемую в режиме внутрикадрового предсказания. На этапе S104, модуль 115 предсказания/компенсации движения выполняет обработку данных при предсказании межкадрового движения, предназначенную для выполнения предсказания движения и компенсации движения в режиме межкадрового предсказания.
На этапе S105 модуль 116 выбора предсказанного изображения определяет оптимальный режим на основе каждого значения функции стоимости, которое выводится модулем 114 внутрикадрового предсказания и модулем 115 предсказания/компенсации движения. Если описать это более конкретно, то модуль 116 выбора предсказанного изображения выбирает какое-нибудь одно изображение из числа: предсказанного изображения, сгенерированного модулем 114 внутрикадрового предсказания, и предсказанного изображения, сгенерированного модулем 115 предсказания/компенсации движения.
На этапе S106 вычислительный модуль 103 вычисляет разность между изображением, отсортированным в ходе обработки данных на этапе S102, и предсказанным изображением, выбранным в ходе обработки данных на этапе S105. Количество данных для данных разности уменьшается по сравнению с данными первоначального изображения. Следовательно, количество данных может быть сжато по сравнению со случаем, при котором изображение сжимается так, как оно есть.
На этапе S107 модуль 104 ортогонального преобразования выполняет ортогональное преобразование информации разности, сгенерированной при обработке данных на этапе S106. Если описать это более конкретно, то выполняется ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена - Лоэва (Karhunen - Loeve) и тому подобное, и коэффициенты преобразования выводятся.
На этапе S108 модуль 105 квантования осуществляет квантование коэффициентов ортогонального преобразования, полученных в ходе обработки данных на этапе S107.
В результате обработки данных на этапе S108 подвергшаяся квантованию информация разности локально декодируется следующим образом. Если описать это более конкретно, то на этапе S109 модуль 108 обратного квантования, осуществляет деквантование подвергнувшегося квантованию коэффициента ортогонального преобразования, сгенерированного в ходе обработки данных на этапе S108, (который может также именоваться как коэффициент квантования) в соответствии с характеристиками, корреспондирующими характеристикам модуля 105 квантования. На этапе S110 модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициентов ортогонального преобразования, полученных в ходе обработки данных на этапе S107, в соответствии с характеристиками, корреспондирующими характеристикам модуля 104 ортогонального преобразования.
На этапе S111 вычислительный модуль 110 суммирует предсказанное изображение с локально декодированной информацией разности и генерирует локально декодированное изображение (изображение, соответствующее входным данным вычислительного модуля 103). На этапе S112, по мере необходимости, контурный фильтр 111 применяет к декодированному изображению, полученному в ходе обработки данных на этапе S111, обработку данных контурным фильтром, включающую в себя обработку данных фильтром устранения блочности, обработку данных адаптивным контурным фильтром и тому подобное.
На этапе S113 память 112 кадров сохраняет декодированное изображение, к которому в ходе обработки данных на этапе S112 применена обработка данных контурным фильтром. Следует отметить, что память 112 кадров также принимает от вычислительного модуля 110 изображение, к которому контурным фильтром 111 обработка данных фильтром не применялась, и сохраняет такое изображение.
На этапе S114 модуль 106 кодирования без потерь осуществляет кодирование коэффициентов преобразования, подвергшиеся квантованию в ходе обработки данных на этапе S108. Если описать это более конкретно, то к разностному изображению применяется кодирование без потерь, такое как кодирование с переменной длиной кодового слова и арифметическое кодирование.
Модуль 106 кодирования без потерь кодирует параметры квантования, вычисленные на этапе S108, и прибавляет их к закодированным данным. Модуль 106 кодирования без потерь кодирует информацию о режиме предсказания для предсказанного изображения, выбранного в ходе обработки данных на этапе S105, и прибавляет эту информацию к закодированным данным, полученным посредством кодирования разностного изображения. Если описать это более конкретно, то модуль 106 кодирования без потерь кодирует, например, информацию оптимального режима внутрикадрового предсказания, предоставленную модулем 114 внутрикадрового предсказания или информацию, соответствующую оптимальному режиму межкадрового предсказания, предоставленную модулем 115 предсказания/компенсации движения, и прибавляет эту информацию к закодированным данным.
На этапе S115 накопительный буфер 107 накапливает закодированные данные, полученные в ходе обработки данных на этапе S114. Закодированные данные, накопленные в накопительном буфере 107, считываются, по мере необходимости, и передаются стороне декодирования через тракт передачи и носитель записи.
На этапе S116 модуль 117 управления скоростью управляет скоростью операции квантования в модуле 105 квантования таким образом, чтобы не вызывать переполнение и опустошение, на основе количества кодов закодированных данных, накопленных в накопительном буфере 107 (количество сгенерированных кодов) в ходе обработки данных на этапе S115.
Когда обработка данных на этапе S116 закончена, обработка данных при кодировании завершается.
Алгоритм обработки данных при квантовании
Далее, со ссылкой на блок-схему алгоритма, показанного на Фиг.8, будет объяснен пример алгоритма обработки данных при квантовании, исполняемой на этапе S108, показанном на Фиг.7.
Когда начинается обработка данных при квантовании, модуль 131 вычисления показателя активности вычисляет на этапе S131 показатель активности для текущей области.
На этапе S132 модуль 141 генерирования параметра квантования для области внимания генерирует параметр квантования для области внимания, основываясь на показателе активности, вычисленном на этапе S131.
На этапе S133 буфер 143 параметров квантования для окружающих областей сохраняет параметр квантования для области внимания, сгенерированный на этапе S132.
На этапе S134, модуль 142 обработки данных при квантовании использует параметр квантования для области внимания, сгенерированный на этапе S132, для квантования коэффициенты ортогонального преобразования, относящихся к текущей области.
На этапе S135 модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования.
На этапе S136 модуль 152 генерирования разностного параметра квантования генерирует разностный параметр квантования, который представляет собой разность между параметром квантования для области внимания, сгенерированным на этапе S132, и предсказанным параметром квантования, сгенерированным на этапе S135.
Когда разностный параметр квантования сгенерирован, модуль 152 генерирования разностного параметра квантования прекращает обработку данных при квантовании, и возвращает обработку данных назад на Фиг.7.
Алгоритм обработки данных при генерировании предсказываемого параметра квантования
Далее, со ссылкой на блок-схему алгоритма, показанного на Фиг.9, будет объяснен пример алгоритма обработки данных при генерировании предсказываемого параметра квантования, исполняемой на этапе S135, показанном на Фиг.8.
На этапе S151 модуль 151 генерирования предсказываемого параметра квантования выбирает множественные окружающие области, для которых получают кандидатов предсказываемых параметров квантования.
На этапе S152 модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметр квантования для окружающей области по каждой выбранной таким образом окружающей области.
На этапе S153, например, модуль 151 генерирования предсказываемого параметра квантования выполняет медианное предсказание над множественными параметрами квантования для окружающих областей, полученными на этапе S152, и принимает значение медианы в качестве предсказанного параметра квантования.
Когда обработка данных на этапе S153 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработку данных при генерировании предсказываемого параметра квантования, и возвращает обработку данных назад на Фиг.8.
Как было описано выше, при выполнении каждой обработки данных устройство 100 кодирования изображения может вместо параметра квантования для области внимания передавать разностный параметр квантования, и, следовательно, эффективность кодирования для параметра квантования может быть повышена.
2. Второй вариант реализации изобретения
Устройство декодирования изображения
Фиг.10 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства декодирования изображения. Как проиллюстрировано на Фиг.10, устройство 200 декодирования изображения декодирует закодированные данные, сгенерированные устройством 100 кодирования изображения в соответствии со способом декодированием, корреспондирующим способу кодирования в устройстве 100 кодирования изображения. Как и устройство 100 кодирования изображения, устройство 200 декодирования изображения выполняет обработку данных при квантовании над каждой из областей.
Как проиллюстрировано на Фиг.10, устройство 200 декодирования изображения включает в себя накопительный буфер 201, модуль 202 декодирования без потерь, модуль 203 обратного квантования, модуль 204 обратного ортогонального преобразования, вычислительный модуль 205, фильтр 206 с контуром обратной связи, буфер 207 сортировки экранного изображения и модуль 208 цифроаналогового преобразования. Кроме того, устройство 200 декодирования изображения включает в себя память 209 кадров, модуль 210 выбора, модуль 211 внутрикадрового предсказания, модуль 212 предсказания/компенсации движения и модуль 213 выбора.
Кроме того, устройство 200 декодирования изображения включает в себя модуль 221 декодирования параметра квантования.
Накопительный буфер 201 накапливает принимаемые закодированные данные, и предоставляет эти закодированные данные на модуль 202 декодирования без потерь в предварительно заданные моменты времени. Модуль 202 декодирования без потерь декодирует информацию, которая предоставлена накопительным буфером 201 и закодирована модулем 106 кодирования без потерь, показанным на Фиг.1, в соответствии со способом, корреспондирующим способу кодирования в модуле 106 кодирования без потерь. Модуль 202 декодирования без потерь снабжает модуль 203 обратного квантования, подвергнувшимися квантованию данными коэффициентов разностного изображения, полученными в результате декодирования.
Модуль 202 декодирования без потерь определяет то, выбран ли в качестве оптимального режима предсказания режим внутрикадрового предсказания или режим межкадрового предсказания, и предоставляет информацию об оптимальном режиме предсказания на модуль 211 внутрикадрового предсказания или модуль 212 предсказания/компенсации движения, режим которых определен как выбранный. Если описать это более конкретно, то, например, в случае, когда устройство 100 кодирования изображения выбирает в качестве оптимального режима предсказания режим межкадрового предсказания, информация об оптимальном режиме предсказания предоставляется на модуль 212 предсказания/компенсации движения.
Модуль 203 обратного квантования, квантует подвергшиеся квантованию данные коэффициентов, которые получены в результате процесса декодирования в модуле 202 декодирования без потерь, в соответствии со способом, соответствующим способу квантования в модуле 105 квантования, показанном на Фиг.1, и предоставляет полученные данные коэффициентов на модуль 204 обратного ортогонального преобразования.
Модуль 204 обратного ортогонального преобразования выполняет обратное ортогональное преобразование над данными коэффициентов, которые предоставлены модулем 203 обратного квантования, в соответствии со способом, корреспондирующим способу ортогонального преобразования в модуле 104 ортогонального преобразования, показанном на Фиг.1. В результате этой обработки данных при обратном ортогональном преобразовании, модуль 204 обратного ортогонального преобразования получает декодированные разностные данные, корреспондирующие разностным данным перед тем, как устройством 100 кодирования изображения выполняется ортогональное преобразование.
Полученные декодированные разностные данные, которые получены в результате обратного ортогонального преобразования, предоставляются на вычислительный модуль 205. Вычислительный модуль 205 принимает через модуль 213 выбора предсказанное изображение от модуля 211 внутрикадрового предсказания или от модуля 212 предсказания/компенсации движения.
Вычислительный модуль 205 суммирует декодированные разностные данные и предсказанное изображение, и получает декодированные данные изображения, корреспондирующие, данным изображения перед тем, как предсказанное изображение было вычтено вычислительным модулем 103 устройства 100 кодирования изображения. Вычислительный модуль 205 предоставляет, декодированные данные изображения на контурный фильтр 206.
По мере необходимости, контурный фильтр 206 применяет к предоставляемому ему декодированному изображению обработку данных контурным фильтром, включающую в себя обработку данных фильтром устранения блочности, обработку данных адаптивным контурным фильтром и тому подобное, и предоставляет это изображение в буфер 207 сортировки экранного изображения.
Контурный фильтр 206 с контуром обратной связи включает в себя фильтр устранения блочности, адаптивный контурный фильтр и тому подобное, и, по мере необходимости, применяет обработку данных фильтром к декодированному изображению, предоставляемому от вычислительного модуля 205. Например, контурный фильтр 206 применяет к декодированному изображению обработку данных фильтром устранения блочности для того, чтобы устранить на декодированном изображении шум блочности. Например, контурный фильтр 206 с контуром обратной связи применяет к результату обработки данных фильтром устранения блочности (к декодированному изображению, на котором устранен только шум блочности) обработку данных контурным фильтром, используя фильтра Винера, повышая, таким образом, равномерность изображения.
Следует отметить, что контурный фильтр 206 может применять к декодированному изображению любую заданную обработку данных фильтром. По мере необходимости, контурный фильтр 206 может также применять обработку данных фильтром с использованием коэффициентов фильтра, предоставленных устройством 100 кодирования изображения, показанного на Фиг.1.
Контурный фильтр 206 предоставляет результат обработки данных фильтром (декодированное изображение, полученное в результате обработки данных фильтром) в буфер 207 сортировки экранного изображения и память 209 кадров. Декодированное изображение, которое выводится вычислительным модулем 205, может быть предоставлено в буфер 207 сортировки экранного изображения и память 209 кадров без участия контурного фильтра 206. Если описать это более конкретно, то обработка данных фильтром, основанная на контурном фильтре 206, может не проводиться.
Буфер 207 сортировки экранного изображения сортирует изображения. Если описать это более конкретно, то порядок кадров, отсортированных буфером 102 сортировки экранного изображения, показанным на Фиг.1, в порядке их кодирования, сортируется в первоначальный порядок для отображения. Модуль 208 цифроаналогового преобразования выполняет цифроаналоговое преобразование изображения, предоставленного из буфера 207 сортировки экранного изображения, выводит изображение на устройство отображения, не показанное на чертеже, и заставляет устройство отображения показывать изображение.
Память 209 кадров сохраняет предоставленное декодированное изображение, и предоставляет сохраненное в ней декодированное изображение на модуль 210 выбора, в качестве опорного изображения, в предварительно заданные моменты времени или на основании внешнего запроса, такого как от модуля 211 внутрикадрового предсказания и модуля 212 предсказания/компенсации движения.
Модуль 210 выбора выбирает пункт назначения опорного изображения, предоставляемого из памяти 209 кадров. В случае, когда декодируется изображение, закодированное с внутрикадровым предсказанием, модуль 210 выбора снабжает опорным изображением, предоставляемым из памяти 209 кадров, модуль 211 внутрикадрового предсказания. В случае, когда декодируется изображение, закодированное с межкадровым предсказанием, модуль 210 выбора снабжает опорным изображением, предоставляемым из памяти 209 кадров, модуль 212 предсказания/компенсации движения.
По мере необходимости, модуль 202 декодирования без потерь снабжает модуль 211 внутрикадрового предсказания, например, информацией, указывающей режим внутрикадрового предсказания, полученной при декодировании информации заголовка. Модуль 211 внутрикадрового предсказания выполняет режим внутрикадрового предсказания, используя опорное изображение, полученное из памяти 209 кадров, в режиме внутрикадрового предсказания, используемом модулем 114 внутрикадрового предсказания, показанным на Фиг.1, и генерирует предсказываемое изображение. Модуль 211 внутрикадрового предсказания предоставляет сгенерированное предсказанное изображение на модуль 213 выбора.
Модуль 212 предсказания/компенсации движения получает от модуля 202 декодирования без потерь информацию, полученную при декодировании информации заголовка, (информацию оптимального режима предсказания, информацию разности и количество кода и тому подобное в отношении информации предсказанного вектора движения).
Модуль 212 предсказания/компенсации движения генерирует предсказываемое изображение, применяя межкадровое предсказание, используя опорное изображение, полученное из памяти 209 кадров, в режиме межкадрового предсказания, используемом модулем 115 предсказания/компенсации движения, показанном на Фиг.1.
Модуль 221 декодирования параметра квантования суммирует предсказанный параметр квантования для текущей области, сгенерированный с использованием параметра квантования для окружающий области (параметра квантования для области внимания, реконструированного в прошлом), с разностным параметром квантования, предоставленным от устройства 100 кодирования изображения, и реконструирует параметр квантования для области внимания. Модуль 221 декодирования параметра квантования предоставляет параметр квантования для области внимания в модуль 203 обратного квантования.
Модуль 203 обратного квантования использует параметр квантования для области внимания, предоставленный модулем 221 декодирования параметра квантования для того, чтобы осуществить деквантование подвергнувшихся квантованию коэффициентов ортогонального преобразования, предоставленных модулем 202 декодирования без потерь.
Делая это, модуль 203 обратного квантования может выполнять обратное квантование, в соответствии со способом, корреспондирующим обработке данных при квантовании модулем 105 квантования. Если описать это более конкретно, то устройство 200 декодирования изображения может достигнуть повышения эффективности кодирования для параметра квантования.
Модуль обратного квантования и модуль декодирования параметра квантования
Фиг.11 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 203 обратного квантования, и модуля 221 декодирования параметра квантования.
Как проиллюстрировано на Фиг.11, модуль 203 обратного квантования включает в себя буфер 231 разностного параметра квантования, буфер 232 подвергнувшегося квантованию коэффициента ортогонального преобразования, буфер 233 параметров квантования для окружающих областей и модуль 234 обработки обратного квантования.
Модуль 221 декодирования параметра квантования включает в себя модуль 241 генерирования предсказываемого параметра квантования и модуль 242 реконструирования параметра квантования для области внимания.
Буфер 231 разностного параметра квантования сохраняет разностный параметр квантования, который предоставляется модулем 202 декодирования без потерь и передается от устройства 100 кодирования изображения. Буфер 231 разностного параметра квантования предоставляет сохраненный в нем разностный параметр квантования на модуль 242 реконструирования параметра квантования для области внимания, в предварительно заданные моменты времени или на основании возникновения некоторого предварительно заданного события, такого как запрос, поступающий от модуля 242 реконструирования параметра квантования для области внимания.
Модуль 241 генерирования предсказываемого параметра квантования получает множественные параметры квантования для окружающих областей, сохраненные в буфере 233 параметров квантования для окружающих областей, и использует их для того, чтобы сгенерировать предсказываемый параметр квантования для текущей области.
Следует отметить, что способ вычисления предсказываемого параметра квантования является тем же самым, что и способ вычисления в модуле 121 кодирования параметра квантования (модуле 151 генерирования предсказываемого параметра квантования). Например, в случае, когда модуль 151 генерирования предсказываемого параметра квантования вычисляет предсказываемый параметр квантования, исходя из множественных параметров квантования для окружающих областей, с использованием медианы, модуль 241 генерирования предсказываемого параметра квантования также вычисляет предсказываемый параметр квантования, исходя из множественных параметров квантования для окружающих областей, с использованием медианы. В случае, когда модуль 151 генерирования предсказываемого параметра квантования принимает, в качестве предсказанного параметра квантования, среднее значение множественных параметров квантования для окружающих областей, модуль 241 генерирования предсказываемого параметра квантования также принимает, в качестве предсказанного параметра квантования, среднее значение множественных параметров квантования для окружающих областей.
Этот способ вычисления может быть определен заранее, но от устройства 100 кодирования изображения может передаваться информация признака и тому подобное, и модуль 241 генерирования предсказываемого параметра квантования может распознавать способ вычисления, выбранный устройством 100 кодирования изображения, и может быть выбран способ, корреспондирующий этому способу.
Модуль 241 генерирования предсказываемого параметра квантования предоставляет сгенерированный предсказанный параметр квантования на модуль 242 реконструирования параметра квантования для области внимания.
Модуль 242 реконструирования параметра квантования для области внимания реконструирует параметр квантования для области внимания, суммируя предсказанный параметр квантования, полученный от модуля 241 генерирования предсказываемого параметра квантования, с разностным параметром квантования, полученным из буфера 231 разностного параметра квантования.
Модуль 242 реконструирования параметра квантования для области внимания предоставляет реконструированный параметр квантования для области внимания на буфер 233 параметров квантования для окружающих областей.
Буфер 233 параметров квантования для окружающих областей сохраняет параметр квантования для области внимания, предоставленный модулем 242 реконструирования параметра квантования для области внимания. В ходе обработки данных, в которой в качестве текущей области принимается другая область, обрабатываемая после этой текущей области, буфер 233 параметров квантования для окружающих областей предоставляет сохраненный в нем параметр квантования для области внимания на модуль 241 генерирования предсказываемого параметра квантования, в качестве параметра квантования окружающей области.
Модуль 242 реконструирования параметра квантования для области внимания также предоставляет реконструированный параметр квантования для области внимания на модуль 234 обработки обратного квантования.
Буфер 232 подвергнувшегося квантованию коэффициента ортогонального преобразования сохраняет подвергнувшийся квантованию коэффициент ортогонального преобразования, который предоставляется модулем 202 декодирования без потерь и передается от устройства 100 кодирования изображения. Буфер 232 подвергнувшегося квантованию коэффициента ортогонального преобразования предоставляет сохраненные в нем подвергнувшиеся квантованию коэффициенты ортогонального преобразования в модуль 234 обработки обратного квантования, в предварительно заданные моменты времени или на основании возникновения некоторого предварительно заданного события, такого как запрос, поступающий от модуля 234 обработки обратного квантования.
Модуль 234 обработки обратного квантования использует параметр квантования области внимания, полученный от модуля 242 реконструирования параметра квантования для области внимания, и осуществляет деквантование подвергнувшихся квантованию коэффициентов ортогонального полученных от буфера 232 подвергнувшегося квантованию коэффициента ортогонального преобразования. Модуль 234 обработки обратного квантования предоставляет коэффициенты ортогонального преобразования, полученные посредством обратного квантования на модуль 204 обратного ортогонального преобразования.
Как было описано выше, каждый модуль выполняет обработку данных, и, соответственно, модуль 221 декодирования параметра квантования может правильно реконструировать параметр квантования для области внимания, используемый в ходе обработки данных при квантовании в устройстве 100 кодирования изображения, и модуль 203 обратного квантования, выполняет обратное квантование, соответствующее способу, корреспондирующему обработке данных при квантовании, выполняемой модулем 105 квантования, входящим в состав устройства 100 кодирования изображения. Если описать это более конкретно, то устройство 200 декодирования изображения может достигнуть повышения эффективности кодирования для параметра квантования.
Как проиллюстрировано на Фиг.1, модуль 108 обратного квантования и модуль 122 декодирования параметра квантования, входящие в состав устройства 100 кодирования изображения имеют ту же самую конфигурацию, что и модуль 203 обратного квантования, и модуль 221 декодирования параметра квантования, и выполняют ту же самую обработку данных.
Алгоритм обработки данных при декодировании
Далее, будет объяснен алгоритм каждой обработки данных, исполняемой устройством 200 декодирования изображения, объясненным выше. Сначала, со ссылкой на блок-схему алгоритма, показанную на Фиг.12, будет объяснен пример алгоритма обработки данных при декодировании.
Когда начинается обработка данных при декодировании, накопительный буфер 201 на этапе S201 накапливает принимаемый поток битов. На этапе S202 модуль 202 декодирования без потерь осуществляет декодирование потока битов, предоставляемый из накопительного буфера 201. Если описать это более конкретно, то осуществляется декодирование I - кадр, P - кадр и B - кадр, закодированные модулем 106 кодирования без потерь, показанным на Фиг 1. В дополнение к этому, также декодируются различные виды информации, такие как разностная информация движения и разностный параметр квантования, отличный от разностной информации изображения, включенной в состав потока битов.
На этапе S203 модуль 203 обратного квантования, и модуль 221 декодирования параметра квантования осуществляет деквантование подвергнувшихся квантованию коэффициентов ортогонального преобразования, полученных в ходе обработки данных на этапе S202.
На этапе S204 модуль 204 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициентов ортогонального преобразования, подвергшихся деквантованию на этапе S203.
На этапе S205 модуль 211 внутрикадрового предсказания или модуль 212 предсказания/компенсации движения, используя эту предоставленную информацию, выполняет обработку данных при предсказании.
На этапе S206 модуль 213 выбора осуществляет выбор предсказанного изображения, сгенерированного на этапе S205.
На этапе S207 вычислительный модуль 205 суммирует предсказанное изображение, выбранное на этапе S206, с разностной информацией изображения, полученной в результате обратного ортогонального преобразования на этапе S204. Таким образом, может быть получено декодированное изображение.
На этапе S208, по мере необходимости, контурный фильтр 206 применяет к декодированному изображению, полученному на этапе S207, обработку данных контурным фильтром, включающую в себя обработку данных фильтром устранения блочности, обработку данных адаптивным контурным фильтром и тому подобное.
На этапе S209 буфер 207 сортировки экранного изображения сортирует изображения, отфильтрованные на этапе S208. Если описать это более конкретно, то порядок кадров, которые буфер 102 сортировки экранного изображения, входящий в состав устройства 100 кодирования изображения отсортировал для кодирования, сортируется в первоначальный порядок для отображения.
На этапе S210 модуль 208 цифроаналогового преобразования выполняет цифроаналоговое (D/A) преобразование изображений, в которых кадры отсортированы на этапе S209. Изображения выводятся на устройство отображения, не показанное на чертеже, и осуществляется отображение этих изображений.
На этапе S211 память 209 кадров сохраняет изображение, отфильтрованное на этапе S208. Это изображение используется как опорное изображение для генерирования предсказываемого изображения на этапе S205.
Когда обработка данных на этапе S211 закончена, обработка данных при декодировании завершается.
Алгоритм обратного квантования
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг.13, будет объяснен пример алгоритма обратного квантования, выполняемый на этапе S203, показанном на Фиг.12.
Когда начинается обратное квантование, буфер 231 разностного параметра квантования получает на этапе S231 разностный параметр квантования, сгенерированный устройством 100 кодирования изображения.
На этапе S232 модуль 241 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования для текущей области. Эта обработка выполняется тем же самым способом, что и на стороне кодирования. Если описать это более конкретно, то исполняется каждая обработка данных, объясненная со ссылкой на блок-схему алгоритма, показанную на Фиг.9.
На этапе S233 модуль 242 реконструирования параметра квантования для области внимания суммирует предсказанный параметр квантования, сгенерированный на этапе S232, с разностным параметром квантования, полученным на этапе S231, реконструируя, таким образом, параметр квантования для области внимания.
На этапе S234 буфер 233 параметров квантования для окружающих областей сохраняет параметр квантования для области внимания, сгенерированный на этапе S233. Этот параметр квантования для области внимания используется в качестве параметра квантования для окружающей области в ходе обработки данных, обратной квантованию, при которой в качестве текущей области принимается другая область, обрабатываемая после этой текущей области.
На этапе S235 буфер 232 подвергнувшегося квантованию коэффициента ортогонального преобразования получает подвергнувшийся квантованию коэффициент ортогонального преобразования.
На этапе S236 модуль 234 обработки обратного квантования использует параметр квантования для области внимания, реконструированный на этапе S235, для того, чтобы осуществить деквантование подвергнувшегося квантованию коэффициента ортогонального преобразования, полученного на этапе S235.
Когда процесс, обратный квантованию, закончен, модуль 234 обработки обратного квантования, завершает обработку данных, обратную квантованию, и возвращает обработку данных назад на Фиг.12.
Как было описано выше, выполняя различные виды обработки данных, устройство 200 декодирования изображения может достигнуть повышения эффективности кодирования для параметра квантования.
3. Третий вариант реализации изобретения
Управление способом вычисления предсказываемого параметра квантования
Следует отметить, что способ вычисления предсказываемого параметра квантования не ограничен примером, объясненным выше. Например, может производиться определение того, может ли параметр квантования каждой окружающей области быть использован в качестве параметра квантования для окружающий области или нет.
Например, в примере, показанном на Фиг.5, предположим, что при генерировании предсказываемого параметра квантования для текущей области используются параметры квантования для окружающих областей; с A по C. В этом случае, в зависимости от расположения текущей области, любая из окружающих областей: с A по C, может, например, располагаться вне кадра изображения, или располагаться вне текущего слоя, так что параметр квантования не может быть использован (в "недоступном" состоянии).
Соответственно, при генерировании предсказываемого параметра квантования модуль 121 кодирования параметра квантования определяет то, может ли использоваться каждая окружающая область или нет (в доступном она состоянии или в недоступном состоянии), и использует для генерирования предсказываемого параметра квантования только применимую (доступную) окружающую область. Кроме того, в соответствии с результатом этого определения (состояния того, может ли использоваться каждая окружающая область или нет) может быть определен способ вычисления для генерирования предсказываемого параметра квантования.
Модуль кодирования параметра квантования
Фиг.14 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 121 кодирования параметра квантования, используемой в таком случае. Как проиллюстрировано на Фиг.14, в этом случае модуль 121 кодирования параметра квантования включает в себя не только конфигурацию по первому варианту реализации изобретения (смотри Фиг.6), но также и модуль 301 определения доступности окружающей области для использования и модуль 302 управления вычислением.
Когда модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования, модуль 301 определения доступности окружающей области для использования определяет то, может ли использоваться каждая окружающая область текущей области или нет. Причина того, почему она может использоваться или не может, не ограничена. Модуль 301 определения доступности окружающей области для использования предоставляет результат определения в модуль 302 управления вычислением.
В соответствии с результатом определения, предоставленным модулем 301 определения доступности окружающей области для использования, модуль 302 управления вычислением определяет способ вычисления для генерирования предсказываемого параметра квантования, и снабжает модуль 151 генерирования предсказываемого параметра квантования информацией, указывающей определенный таким образом способ вычисления и результат определения, предоставленный модулем 301 определения доступности окружающей области для использования.
Модуль 151 генерирования предсказываемого параметра квантования получает из буфера 143 параметров квантования для окружающих областей параметр квантования для окружающей области, которую модуль 301 определения доступности окружающей области для использования определил как применимую (находящуюся в доступном состоянии), в качестве параметра квантования для окружающей области. Модуль 151 генерирования предсказываемого параметра квантования использует этот параметр квантования для окружающей области для того, чтобы сгенерировать предсказываемый параметр квантования в соответствии со способом вычисления, определенным модулем 302 управления вычислением.
Объясним более конкретный пример. Например, на Фиг.5 окружающие области: с A по C, приняты в качестве кандидатов областей для получения параметра квантования для окружающей области. Предположим, что модуль 151 генерирования предсказываемого параметра квантования может выполнять вычисление медианы и вычисление среднего значения, объясненные выше.
a
b
c
Например, в случае, когда модуль 301 определения доступности окружающей области для использования определяет, что все окружающие области: с A по C, применимы (пребывают в доступном состоянии), модуль 302 управления вычислением выбирает в качестве способа вычисления для генерирования предсказываемого параметра квантования вычисление медианы. Следовательно, в этом случае, модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметры QP, QP, и QP квантования для окружающих областей и использует их для того, чтобы выполнить вычисление медианы в соответствии с выражением (1), объясненным выше.
Например, в случае, когда модуль 301 определения доступности окружающей области для использования определяет, что две из окружающих областей: с A по C, применимы (пребывают в доступном состоянии), модуль 302 управления вычислением выбирает в качестве способа вычисления для генерирования предсказываемого параметра квантования вычисление среднего значения.
b
c
Следовательно, в случае, когда, например, область A является неприменимой (находящейся в недоступном состоянии), модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметры QP и QP квантования для окружающих областей и использует их для того, чтобы выполнять вычисление среднего значения (Avr ()) в соответствии с выражением (3), объясненным выше.
a
c
В случае, когда неприменимой (находящейся в недоступном состоянии) является область B, модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметры QP и QP квантования для окружающих областей и использует их для того, чтобы выполнять вычисление среднего значения (Avr ()) в соответствии с выражением (4), объясненным выше.
a
b
В случае, когда неприменимой (находящейся в недоступном состоянии) является область C, модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметры QP и QPквантования для окружающих областей и использует их для того, чтобы выполнять вычисление среднего значения (Avr ()) в соответствии с выражением (5), объясненным выше.
Например, в случае, когда модуль 301 определения доступности окружающей области для использования определяет, что применимой (находящейся в доступном состоянии) является какая-нибудь одна из окружающих областей: с A по C, модуль 302 управления вычислением выбирает обычное предсказание, при котором параметр квантования для этой окружающей области и является предсказанным параметром квантования.
a
b
c
В этом случае, модуль 151 генерирования предсказываемого параметра квантования считывает из буфера 143 параметров квантования для окружающих областей параметр квантования для той окружающей области, которая определена как применимая, из числа параметров QP, QP и QP квантования для окружающих областей и принимает его в качестве предсказанного параметра квантования, как это показано в выражениях: с (6) по (8), приводимых ниже.
В случае, когда применимой (находящейся в доступном состоянии) является область (A):
В случае, когда применимой (находящейся в доступном состоянии) является область (B):
В случае, когда применимой (находящейся в доступном состоянии) является область (C):
Алгоритм обработки данных при генерировании предсказываемого параметра квантования
Пример алгоритма обработки данных при генерировании предсказываемого параметра квантования в этом случае будет объяснен со ссылкой на блок-схему алгоритма, показанную на Фиг.15. В этом случае, окружающие области: с A по C, показанные на Фиг.5, приняты в качестве кандидатов в области для получения параметров квантования для окружающих областей. Предположим, что модуль 151 генерирования предсказываемого параметра квантования может выполнять вычисление медианы и вычисление среднего значения, объясненные выше.
Когда начинается обработки данных при генерировании предсказываемого параметра квантования, модуль 301 определения доступности окружающей области для использования определяет, на этапе S301, то, может или не может каждая окружающая область быть использована в отношении текущей области, для которой модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования. Если описать это более конкретно, то модуль 301 определения доступности окружающей области для использования определяет то, применима ли каждая из окружающих областей: с A по C, или нет.
На этапе S302 модуль 302 управления вычислением определяет то, имеется ли какая-нибудь применимая окружающая область в отношении текущей области. В случае, когда определено, что все окружающие области: с A по C, являются неприменимыми (находящимися в недоступном состоянии), модуль 302 управления вычислением завершает обработку данных при генерировании предсказываемого параметра квантования, так чтобы не генерировать предсказываемый параметр квантования (или генерировать предсказываемый параметр квантования, значение которого значение составляет ноль или некоторое начальное значение), и возвращает обработку данных назад на Фиг.8.
На этапе S302, в случае, когда определено, что применимые окружающие области имеются, модуль 302 управления вычислением переходит к обработке данных на этапе S303. На этапе S303 модуль 302 управления вычислением определяет то, применимы ли (пребывают ли в доступном состоянии) все окружающие области или нет. В случае, когда определено, что все окружающие области: с A по C, являются применимыми, модуль 302 управления вычислением выбирает в качестве способа вычисления для генерирования предсказываемого параметра квантования вычисление медианы, и переходит к обработке данных на этапе S304.
a
b
c
В случае, когда выбрано вычисление медианы, модуль 151 генерирования предсказываемого параметра квантования получает, на этапе S304, в качестве параметров квантования окружающих областей параметры QP, QP и QP квантования для окружающих областей: с A по C.
a
b
c
На этапе S305 модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования, используя вычисление медианы с использованием параметров квантования для всех окружающих областей, которые (параметры) получены на этапе S304. Если описать это более конкретно, то модуль 151 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования значение медианы параметров QP, QP и QP квантования для областей. Когда обработка данных на этапе S305 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработку данных при генерировании предсказываемого параметра квантования, и возвращает обработку данных назад на Фиг.8.
В случае, когда на этапе S303 определено, что только некоторые из окружающих областей являются применимыми, и трудно выполнить вычисление медианы, модуль 302 управления вычислением переходит к обработке данных на этапе S306. На этапе S306 модуль 302 управления вычислением определяет то, являются ли применимыми две из трех окружающих областей или нет. В случае, когда определено, что две из окружающих областей являются применимыми, модуль 302 управления вычислением выбирает, в качестве способа вычисления для генерирования предсказываемого параметра квантования, вычисление среднего значения, и переходит к обработке данных на этапе S307.
a
b
c
В случае, когда выбрано вычисление среднего значения, модуль 151 генерирования предсказываемого параметра квантования получает, на этапе S307, в качестве параметров квантования для окружающих областей параметры квантования для применимых (находящихся в доступном состоянии) областей из числа окружающих областей: с A по C (более конкретно, два из параметров QP, QP и QP квантования).
a
b
c
На этапе S308 модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования, используя вычисление среднего значения с использованием параметров квантования для окружающей области, полученных на этапе S307. Если описать это более конкретно, то модуль 151 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования среднее значение двух из параметров QP, QP и QP квантования для областей. Когда обработка данных на этапе S308 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработку данных при генерировании предсказываемого параметра квантования и возвращает обработку данных назад на Фиг.8.
В случае, когда на этапе S306 определено, что применимой является одна окружающая область, модуль 302 управления вычислением выбирает в качестве способа генерирования предсказываемого параметра квантования обычное предсказание и переходит к обработке данных на этапе S309.
a
b
c
В случае, когда выбрано обычное вычисление, модуль 151 генерирования предсказываемого параметра квантования получает, на этапе S309, в качестве параметра квантования для окружающей области параметр квантования для применимой (находящейся в доступном состоянии) области из числа окружающих областей: с A по C (более конкретно, один из параметров QP, QP и QP квантования).
a
b
c
На этапе S310 модуль 151 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования предсказанный параметр квантования, полученный на этапе S309. Если описать это более конкретно, то модуль 151 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования какой-либо один из параметров QP, QP и QP квантования для областей. Когда обработка данных на этапе S310 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработку данных при генерировании предсказываемого параметра квантования и возвращает обработку данных назад на Фиг.8.
Как было описанный выше, производится определение того, являются ли окружающие области применимыми или нет, и, следовательно, модуль 121 кодирования параметра квантования может, используя только параметры квантования для окружающих областей, относящиеся к применимым окружающим областям, генерировать предсказываемый параметр квантования более достоверным образом. Как было описано выше, для определения того, являются ли окружающие области применимыми или нет, может быть использовано любое условие, и, следовательно, модуль 121 кодирования параметра квантования может, используя только параметры квантования для окружающих областей, относящиеся к желательным применимым окружающим областям, генерировать желательный предсказываемый параметр квантования более достоверным образом.
Как было описано выше, способ вычисления предсказываемого параметра квантования определяется в соответствии с количеством применимых окружающих областей, и, следовательно, модуль 121 кодирования параметра квантования может, используя более подходящий способ вычисления, генерировать предсказываемый параметр квантования более достоверным образом.
В объяснении, приведенном выше, в качестве окружающих областей для текущей области используются окружающие области: с A по C, относящиеся к примеру, показанному на Фиг.5, но окружающие области могут включать в себя области, отличные от этих областей. Количество областей, принятых в качестве окружающих областей, может представлять собой любое количество. Например, оно может быть определено в соответствии с соотношением в том, что касается размера, между текущей областью и окружающими областями.
В объяснении, приведенном выше, условие выбора вычисления медианы заключается в том, чтобы все окружающие области являлись применимыми, но этот вариант реализации изобретения этим не ограничен. Оно может заключаться в том, чтобы применимыми являлось такое количество окружающих областей, как количество окружающих областей, при котором может быть исполнено вычисление медианы. Например, в случае, когда количество окружающих областей составляет пять, условие выбора вычисления медианы может заключаться в том, чтобы применимыми являлись три или больше окружающих областей. Кроме того, в случае, когда вычисление медианы не используется, модуль 302 управления вычислением может всегда выбирать вычисление среднего значения.
Модуль декодирования параметра квантования
Фиг.16 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 221 декодирования параметра квантования в этом случае. Как проиллюстрировано на Фиг.16, модуль 221 декодирования параметра квантования имеет конфигурацию, как проиллюстрировано на Фиг.14, и корреспондирует модулю 121 кодирования параметра квантования для генерирования предсказываемого параметра квантования в соответствии со способом, который описан выше, и модуль 121 кодирования параметра квантования правильно генерирует параметр квантования для области внимания, исходя из сгенерированного разностного параметра квантования. Если описать это более конкретно, то, как проиллюстрировано на Фиг.16, модуль 221 декодирования параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 121 кодирования параметра квантования, который проиллюстрирован на Фиг.14.
Как проиллюстрировано на Фиг.16, модуль 221 декодирования параметра квантования в этом случае включает в себя не только конфигурацию по второму варианту реализации изобретения (смотри Фиг.9), но также и модуль 311 определения доступности окружающей области для использования и модуль 312 управления вычислением.
Когда модуль 241 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования, в соответствии с тем же самым способом, что и модуль 301 определения доступности окружающей области для использования, модуль 311 определения доступности окружающей области для использования определяет то, может ли быть использована каждая окружающая область текущей области или нет. Модуль 311 определения доступности окружающей области для использования предоставляет результат определения на модуль 312 управления вычислением.
В соответствии с результатом определения, предоставленным от модуля 301 определения доступности окружающей области для использования, модуль 312 управления вычислением определяет способ вычисления для генерирования предсказываемого параметра квантования в соответствии с тем же самым способом, что и модуль 302 управления вычислением, и снабжает модуль 241 генерирования предсказываемого параметра квантования информацией, указывающей определенный таким образом способ вычисления и результат определения, предоставленный от модуля 301 определения доступности окружающей области для использования.
В соответствии с тем же самым способом, что и модуль 151 генерирования предсказываемого параметра квантования, модуль 241 генерирования предсказываемого параметра квантования получает, в качестве параметра квантования для окружающей области, из буфера 233 параметров квантования для окружающих областей параметр квантования для той окружающей области, которую модуль 311 определения доступности окружающей области для использования определил как применимую (находящуюся в доступном состоянии), и использует этот параметр квантования для окружающей области для того, чтобы сгенерировать предсказываемый параметр квантования в соответствии со способом вычисления, определенным модулем 312 управления вычислением.
Если описать это более конкретно, то модуль 221 декодирования параметра квантования выполняет ту же самую обработку данных, что и каждая обработка данных, объясненная со ссылкой на блок-схему алгоритма, показанную на Фиг.15, в ходе обработки данных при генерировании предсказываемого параметра квантования.
Как было описано выше, каждый модуль выполняет обработку данных, и, соответственно, модуль 221 декодирования параметра квантования может даже в этом случае правильно реконструировать параметр квантования для области внимания, использованный в ходе обработки данных при квантовании в устройстве 100 кодирования изображения.
4. Четвертый вариант реализации изобретения
Взвешенное среднее значение
Способ вычисления предсказываемого параметра квантования может представлять собой способ, отличный от каждого из способов вычисления, объясненных выше. Например, может быть применено вычисление взвешенного среднего значения, при котором каждый параметр квантования для окружающей области взвешивается и суммируется. В этом случае, весовые коэффициенты могут быть заданы на основе любого показателя, но, например, весовые коэффициенты могут быть заданы в соответствии с размером окружающей области.
Модуль кодирования параметра квантования
Фиг.17 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 121 кодирования параметра квантования в таком случае. Как проиллюстрировано на Фиг.17, в этом случае, модуль 121 кодирования параметра квантования включает в себя не только конфигурацию по первому варианту реализации изобретения (смотри Фиг.6), но также и модуль 321 определения размера окружающей области.
Модуль 321 определения размера окружающей области определяет размер каждой окружающей области в отношении текущей области, для которой модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования. Модуль 321 определения размера окружающей области уведомляет о результате определения модули 151 генерирования предсказываемого параметра квантования.
В соответствии с результатом определения, то есть на основе размера каждой окружающей области, модуль 151 генерирования предсказываемого параметра квантования задает весовые коэффициенты параметрам квантования для окружающих областей, и получает их среднее значение. Если описать это более конкретно, то модуль 151 генерирования предсказываемого параметра квантования вычисляет взвешенное среднее значение параметров квантования для окружающих областей, и принимает его в качестве предсказанного параметра квантования.
То, каким образом весовой коэффициент присваивается каждому параметру квантования для окружающей области, не ограничивается. Например, параметру квантования для той окружающей области, у которой размер больше, может быть присвоен более высокий весовой коэффициент (увеличенный весовой коэффициент). Если описать это более конкретно, предсказанный параметр квантования вычисляется в соответствии с выражением (9), приводимом ниже.
Как было описано выше, модуль 121 кодирования параметра квантования может сделать так, чтобы предсказанный параметр квантования отражал параметр квантования для окружающей области, более точным образом, и это может повысить точность предсказания предсказываемого параметра квантования.
Например, в качестве альтернативы, более высокий весовой коэффициент (увеличенный весовой коэффициент) может быть присвоен параметру квантования для той окружающей области, размер которой близок к размеру текущей области. Если описать более конкретно, то весовой коэффициент для параметра квантования для окружающей области, имеющей тот же самый размер, что и текущая область, может быть установлен на самом высоком уровне. Следует отметить, что увеличен может быть только весовой коэффициент для параметра квантования для окружающей области, имеющей тот же самый размер, что и текущая область.
Размер области имеет тенденцию зависеть от характеристик изображения, и аналогичное изображение, вероятно, будет разделено на области, имеющие аналогичный размер. Следовательно, области, расположенные близко и имеющие аналогичные размер, вероятно, будут аналогичными изображениями, и, соответственно, их параметры квантования могут быть аналогичны друг другу. Следовательно, модуль 151 генерирования предсказываемого параметра квантования сконфигурирован таким образом, чтобы параметру квантования для той окружающей области, размер которой близок к размеру текущей области, мог быть присвоен более высокий весовой коэффициент (увеличенный весовой коэффициент), так что ожидается, что это повысит точность предсказания предсказываемого параметра квантования.
Модуль 151 генерирования предсказываемого параметра квантования предоставляет предсказанный параметр квантования на модуль 152 генерирования разностного параметра квантования.
Алгоритм обработки данных при генерировании предсказываемого параметра квантования.
Пример алгоритма обработки данных при генерировании предсказываемого параметра квантования в этом случае будет объяснен со ссылкой на блок-схему алгоритма, показанную на Фиг.18.
Когда начинается обработки данных при генерировании предсказываемого параметра квантования, модуль 321 определения размера окружающей области определяет, на этапе S331, размер окружающей области.
На этапе S332 модуль 151 генерирования предсказываемого параметра квантования определяет весовой коэффициент, присваиваемый каждому параметру квантования для окружающей области, в соответствии с размером каждой окружающей области, определенной на этапе S331.
На этапе S333 модуль 151 генерирования предсказываемого параметра квантования получает параметр квантования для окружающей области. На этапе S334 модуль 151 генерирования предсказываемого параметра квантования, используя параметры квантования для окружающих областей, выполняет вычисление взвешенного среднего значения, и генерирует предсказываемый параметр квантования.
Когда обработка данных на этапе S334 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработки данных при генерировании предсказываемого параметра квантования, и возвращает обработку назад на Фиг.8.
Как было описано выше, при выполнении вычисления взвешенного среднего значения в соответствии с размерами окружающих областей модуль 121 кодирования параметра квантования может генерировать предсказываемый параметр квантования, правильно отражающий параметр квантования окружающей области. Следовательно, модуль 121 кодирования параметра квантования может повысить точность предсказания предсказываемого параметра квантования. Соответственно, устройство 100 кодирования изображения может повысить эффективность кодирования.
Модуль декодирования параметра квантования
Фиг.19 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 221 декодирования параметра квантования в этом случае. Как проиллюстрировано на Фиг.19, модуль 221 декодирования параметра квантования имеет конфигурацию, как проиллюстрировано на Фиг.17, и соответствует модулю 121 кодирования параметра квантования для генерирования предсказываемого параметра квантования в соответствии с вычислением взвешенного среднего значения, как это было описано выше, и модуль 121 кодирования параметра квантования правильно генерирует параметр квантования для области внимания, исходя из сгенерированного разностного параметра квантования. Если описать это более конкретно, то, как проиллюстрировано на Фиг.19, модуль 221 декодирования параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 121 кодирования параметра квантования который проиллюстрирован на Фиг.17.
Как проиллюстрировано на Фиг.19, в этом случае, модуль 221 декодирования параметра квантования включает в себя не только конфигурацию по второму варианту реализации изобретения (смотри Фиг.9), но также и модуль 331 определения размера окружающей области.
Модуль 331 определения размера окружающей области определяет размер каждой окружающей области в отношении текущей области, для которой модуль 241 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования, в соответствии с тем же самым способом, что и модуль 321 определения размера окружающей области. Модуль 331 определения размера окружающей области уведомляет о результате определения модуль 241 генерирования предсказываемого параметра квантования.
Модуль 241 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 151 генерирования предсказываемого параметра квантования. Если описать это более конкретно, то модуль 241 генерирования предсказываемого параметра квантования вычисляет взвешенное среднее значение параметров квантования для окружающих областей, основываясь на размере каждой окружающей области, и принимает его в качестве предсказанного параметра квантования.
Если описать это более конкретно, то модуль 221 декодирования параметра квантования выполняет ту же самую обработку данных, что и каждая обработка данных, объясненная со ссылкой на блок-схему алгоритма, показанную на Фиг.18, в ходе обработки данных при генерировании предсказываемого параметра квантования.
Как было описано выше, каждый модуль выполняет обработку данных, и, соответственно, модуль 221 декодирования параметра квантования может даже в этом случае правильно реконструировать параметр квантования для области внимания, использованный в ходе обработки данных при квантовании в устройстве 100 кодирования изображения.
5. Пятый вариант реализации изобретения
Задание типа данных
Пользователю и ему подобным можно позволить производить настройку в отношении того, позволять ли использование различных видов вычислений, как это было описано, для вычисления предсказываемого параметра квантования. Эта настройка может быть сконфигурирована таким образом, чтобы передаваться стороне декодирования как данные о типе.
Модуль кодирования параметра квантования и тому подобное
Фиг.20 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 121 кодирования параметра квантования и тому подобное в этом случае. Как проиллюстрировано на Фиг.20, устройство 100 кодирования изображения в этом случае включает в себя не только конфигурацию по первому варианту реализации изобретения (смотри Фиг.1), но также и модуль 351 задания данных о типе.
Модуль 351 задания данных о типе задает то, позволять ли использование различных видов вычислений для вычисления предсказываемого параметра квантования, основываясь, например, на команде пользователя, внешней команде обработки данных и тому подобном, и генерирует данные о типе, включающие в себя эту настройку. Модуль 351 задания данных о типе предоставляет сгенерированные данные о типе на модуль 121 кодирования параметра квантования. Модуль 351 задания данных о типе также предоставляет сгенерированные данные о типе на модуль 106 кодирования без потерь для того, чтобы модуль 106 кодирования без потерь затем их закодировал, и, например, данные о типе передаются стороне декодирования таким образом, чтобы, например, эти данные включались в состав набор параметров последовательности или набор параметра изображения.
В этом случае, как проиллюстрировано на Фиг.20, модуль 121 кодирования параметра квантования включает в себя не только конфигурацию по первому варианту реализации изобретения (смотри Фиг.6), но также и буфер 361 данных о типе и модуль 362 управления вычислением.
Буфер 361 данных о типе получает и сохраняет данных о типе, предоставляемые модулем 351 задания данных о типе. Буфер 361 данных о типе считывает сохраняемые данные о типе в предварительно заданные моменты времени или на основании внешнего запроса и предоставляет эти данные о типе на модуль 362 управления вычислением.
Модуль 362 управления вычислением считывает из буфера 361 данных о типе данные о типе, соответствующие текущей области, для которой модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования. Модуль 362 управления вычислением определяет, в соответствии с данными о типе и тому подобным, способ вычисления, посредством которого вычисляется предсказываемый параметр квантования, и уведомляет об этом способе вычисления модуль 151 генерирования предсказываемого параметра квантования.
Модуль 151 генерирования предсказываемого параметра квантования осуществляет вычисление для генерирования предсказываемого параметра квантования в соответствии со способом, указанным модулем 362 управления вычислением.
Данные о типе
Далее, будут объяснены подробности, касающиеся данных о типе. На Фиг.21 показан пример данных о типе. Как проиллюстрировано на Фиг.21, данные о типе включают в себя, например, три признака, то есть PredQP_median_enable, PredQP_average_enable и PredQP_waverage_enable. Данные о типе задаются для каждого из любых заданных элементов данных, таких как изображение, слой, наибольший элемент кодирования (элемент "LCU") и элемент кодирования (элемент "CU").
PredQP_median_enable представляет собой информацию признака, указывающую на то, применяется ли для вычисления при генерировании предсказываемого параметра квантования вычисление медианы или нет в элементе данных, с которым задан этот признак. В случае, когда значение этого признака составляет "0", использование вычисления медианы запрещено, и модуль 362 управления вычислением не может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление медианы. В случае, когда значение этого признака составляет "1", использование вычисления медианы не запрещено, и модуль 362 управления вычислением может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление медианы.
PredQP_average_enable представляет собой информацию признака, указывающую на то, применяется ли для вычисления при генерировании предсказываемого параметра квантования вычисление среднего значения или нет в элементе данных, с которым задан этот признак. В случае, когда значение этого признака составляет "0", использование вычисления среднего значения запрещено, и модуль 362 управления вычислением не может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление среднего значения. В случае, когда значение этого признака составляет "1", использование вычисления среднего значения не запрещено, и модуль 362 управления вычислением может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление среднего значения.
PredQP_waverage_enable представляет собой информацию признака, указывающую на то, применяется ли для вычисления при генерировании предсказываемого параметра квантования вычисление взвешенного среднего значения или нет в элементе данных, с которым задан этот признак. В случае, когда значение этого признака составляет "0", использование вычисления взвешенного среднего значения запрещено, и модуль 362 управления вычислением не может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление взвешенного среднего значения. В случае, когда значение этого признака составляет "1", использование вычисления взвешенного среднего значения не запрещено, и модуль 362 управления вычислением может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление взвешенного среднего значения.
Алгоритм обработки данных при задании данных о типе
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг.22, будет объяснен пример алгоритма обработки данных при задании данных о типе, предназначенной для задания этих данных о типе. В приводимом ниже объяснении, в целях разъяснения, данные о типе задаются для каждого наибольшего элемента кодирования (элемента "LCU").
Когда начинается обработки данных при задании данных о типе, модуль 351 задания данных о типе задает на этапе S351 признак PredQP_median_enable для каждого наибольшего элемента кодирования. На этапе S352 модуль 351 задания данных о типе задает признак PredQP_average_enable для каждого наибольшего элемента кодирования. На этапе S353 модуль 351 задания данных о типе задает признак PredQP_waverage_enable для каждого наибольшего элемента кодирования.
На этапе S354 модуль 351 задания данных о типе предоставляет данные о типе, включающие в себя различные виды признаков, сгенерированных на этапах: с этапа S351 по этап S353, на модуль 106 кодирования без потерь, чтобы модуль 106 кодирования без потерь их закодировал, и, например, обеспечивает их передачу стороне декодирования таким образом, чтобы они были включены в состав набора параметров последовательности, (SPS - набора), набора параметров изображения (PPS - набора) и тому подобного.
Когда обработка данных на этапе S354 закончена, модуль 351 задания данных о типе завершает обработки данных при задании данных о типе.
Алгоритм обработки данных при генерировании предсказываемого параметра квантования.
Далее, со ссылкой на блок-схему алгоритма, показанную на Фиг.23, будет объяснен пример алгоритм обработки данных при генерировании предсказываемого параметра квантования в этом случае. Когда начинается обработки данных при генерировании предсказываемого параметра квантования, буфер 361 данных о типе получает, на этапе S371, данные о типе для текущей области. На этапе S372 модуль 362 управления вычислением, основываясь на данных о типе, полученных на этапе S371, определяет способ вычисления при генерировании предсказываемого параметра квантования.
На этапе S373 модуль 151 генерирования предсказываемого параметра квантования выбирает множественные окружающие области, из которых получаются кандидаты предсказанных параметров квантования. На этапе S374 модуль 151 генерирования предсказываемого параметра квантования получает параметры квантования для окружающих областей, относящиеся к выбранным окружающим областям. На этапе S375 модуль 151 генерирования предсказываемого параметра квантования, используя эти параметры квантования для окружающих областей, генерирует предсказываемые параметры квантования.
Когда обработка на этапе S375 закончена, модуль 151 генерирования предсказываемого параметра квантования завершает обработку данных при генерировании предсказываемого параметра квантования, и возвращает обработку данных назад на Фиг.8.
Как было описано выше, модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования в соответствии с данными о типе. Соответственно, модуль 151 генерирования предсказываемого параметра квантования может выбрать более подходящий способ вычисления.
Модуль декодирования параметра квантования и тому подобное
Фиг.24 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля 221 декодирования параметра квантования и тому подобного в этом случае. Как проиллюстрировано на Фиг.24, модуль 221 декодирования параметра квантования имеет конфигурацию, как проиллюстрировано на Фиг.20, и соответствует модулю 121 кодирования параметра квантования для генерирования предсказываемого параметра квантования в соответствии со способом, который описан выше, и модуль 121 кодирования параметра квантования правильно генерирует параметр квантования для области внимания, исходя из сгенерированного разностного параметра квантования. Если описать это более конкретно, то, как проиллюстрировано на Фиг.24, модуль 221 декодирования параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 121 кодирования параметра квантования, который проиллюстрирован на Фиг.20.
Как проиллюстрировано на Фиг.24, модуль 221 декодирования параметра квантования в этом случае включает в себя буфер 381 данных о типе и модуль 382 управления вычислением.
Буфер 381 данных о типе получает и сохраняет данные о типе, которые извлечены модулем 202 декодирования без потерь и переданы от стороны декодирования. Буфер 381 данных о типе предоставляет сохраненные данные о типе в модуль 382 управления вычислением, в предварительно заданные моменты времени или в соответствии с внешним запросом.
Модуль 382 управления вычислением считывает из буфера 381 данных о типе данные о типе, соответствующие текущей области, для которой модуль 241 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 362 управления вычислением. Модуль 382 управления вычислением определяет, в соответствии с данными о типе и тому подобным, способ вычисления, посредством которого вычисляется предсказываемый параметр квантования, и уведомляет об этом способе вычисления модуль 241 генерирования предсказываемого параметра квантования.
Модуль 241 генерирования предсказываемого параметра квантования осуществляет вычисление при генерировании предсказываемого параметра квантования в соответствии со способом, определенным модулем 382 управления вычислением.
Если описать это более конкретно, то модуль 221 декодирования параметра квантования выполняет ту же самую обработку данных, что и каждая обработка данных, объясненная со ссылкой на блок-схему алгоритма, показанную на Фиг.23, в ходе обработки данных при генерировании предсказываемого параметра квантования.
Как было описано выше, делая это, модуль 221 декодирования параметра квантования может даже в этом случае правильно реконструировать параметр квантования для области внимания, используемый в ходе обработки данных при квантовании в устройстве 100 кодирования изображения.
Данные о типе
Способ вычисления, соответствующий данным о типе может быть любым способом, и может быть способами, отличными от объясненных выше. В качестве альтернативы, данные о типе могут не соответствовать некоторым или всем способам вычисления, объясненным выше. Кроме того, признаки, включенные в состав данных о типе, не ограничены, и в состав данных о типе могут также быть включены признаки, отличные от признаков, объясненных выше. Например, как иллюстрировано на Фиг.25, в состав этих данных может быть включен признак PredQP_type_flag.
PredQP_type_flag представляет собой информацию признака, указывающую способ вычисления, который может быть использован для вычисления при генерировании предсказываемого параметра квантования в элементе данных, с которым установлен этот признак. Например, в случае, когда значение этого признака составляет "00", запрещено использование всех способов вычисления, и модуль 151 генерирования предсказываемого параметра квантования не может выполнять вычисление предсказания. В случае, когда значение этого флага составляет "01", не запрещено использование вычисления медианы, и модуль 362 управления вычислением может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление медианы.
В случае, когда значение этого признака составляет "10", не запрещено использование вычисления среднего значения, и модуль 362 управления вычислением может выбрать для вычисления при генерировании предсказываемого параметра квантования вычисление среднего значения. В случае, когда значение этого признака составляет "11", не запрещено использование как вычисления медианы, так и вычисления среднего значения, и модуль 362 управления вычислением может делать выбор из числа обоих способов: вычисления медианы и вычисления среднего значения.
Можно также сконфигурировать то, какое значение позволяет или запрещает использование какого вычисления. Тип и количество способов вычисления, управляемых посредством признака PredQP_type_flag, не те, что были описаны выше. Кроме того, выраженная в битах длина признака PredQP_type_flag может составлять три или больше.
Алгоритм обработки данных при установке данных о типе
В случае, когда в качестве данных о типе принят признак PredQP_type_flag, объясненный выше, конфигурация модуля 121 кодирования параметра квантования и тому подобного является той же самой, как та, что была описано выше со ссылкой на Фиг.20. Алгоритм обработки данных при генерировании предсказываемого параметра квантования является тем же самым, как тот, что был описан со ссылкой на блок-схему алгоритма, показанную на Фиг.23.
Со ссылкой на блок-схему алгоритма, показанную на Фиг.26, будет объяснен пример алгоритма обработки данных при установке данных о типе, в которой в качестве данных о типе принят такой признак PredQP_type_flag.
Когда начинается обработка данных при установке данных о типе, модуль 351 установки данных о типе устанавливает на этапе S391 признак PredQP_type_flag для каждого наибольшего элемента кодирования (элемента "LCU"). Эти установленные данные предоставляются в буфер 361 данных о типе и сохраняются в нем. На этапе S392 модуль 351 установки данных о типе предоставляет данные о типе, установленные в ходе обработки данных на этапе S391, в модуль 106 кодирования без потерь для того, чтобы модуль 106 кодирования без потерь закодировал эти данные и передал закодированные данные стороне декодирования.
Как было описано выше, модуль 151 генерирования предсказываемого параметра квантования генерирует предсказываемый параметр квантования в соответствии с данными о типе. Соответственно, модуль 151 генерирования предсказываемого параметра квантования может выбрать более подходящий способ вычисления.
Признак PredQP_type_flag также может быть установлен для каждого из любых заданных элементов данных, таких как изображение, слой, наибольший элемент кодирования (элемент "LCU"), элемент кодирования (элемент "CU").
Количество и тип вычисления предсказания, управляемые данными о типе, могут быть изменяемыми. Даже в таком случае, информация, указывающая количество и тип вычисления предсказания, управляемые данными о типе, также могут быть переданы стороне декодирования.
Например, данная технология может быть применена к устройству кодирования изображения и устройству декодирования изображения, которые используются, при приеме информации изображения (потока битов), сжатой посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсации движения, такой как в стандарте MPEG, H.26x, через сетевую среду, такую как спутниковое вещание, кабельное телевидение, сеть "Интернет" или сотовый телефон. Данная технология может быть применена к устройству кодирования изображения и устройству декодирования изображения, используемых для обработки данных на носителях записи, таких как оптический, магнитный диски и устройства флэш-памяти. Кроме того, эта технология может также быть применена к устройству компенсации с предсказанием движения, включенному в состав устройства кодирования изображения, устройства декодирования изображения, и тому подобному.
6. Шестой вариант реализации изобретения
Предсказание для элемента "LCU"
Между прочим, в случае, когда обработка данных производится с использованием элемента "LCU" (максимального элемента кодирования) (основана на LCU), обработка данных замкнута в пределах этого элемента "LCU", и, следовательно, управление скоростью становится легким. Однако, в этом случае, буфер, используемый для вычисления параметра квантования (разностного параметра квантования/предсказанного параметра квантования), также управляется посредством элемента "LCU", и данные сбрасываются (удаляются) вместе с элементом "LCU".
В случае, когда обработка данных производится с использованием элемента "LCU" (основана на LCU), предсказание параметра квантования производится с использованием элемента, меньшего, чем LCU, такого как CU (элемент кодирования) и TU (элемент преобразования). Например, в случае, когда предсказание параметра квантования производится для каждого элемента кодирования, и текущий элемент кодирования представляет собой элемент кодирования в первой позиции (в верхнем левом углу в случае растровой развертки) порядка кодирования (порядка декодирования) внутри наибольшего элемента кодирования (элемента "LCU"), окружающий элемент кодирования, который ищут во время предсказания, располагается вне текущего наибольшего элемента кодирования (в пределах другого наибольшего элемента кодирования).
Соответственно, при сбросе буфера параметр квантования удаляется, и состояние, вероятно, будет неприменимым (недоступным состоянием (не являющимся доступным состоянием)).
Следовательно, в случае, когда обработка производится с элементом LCU (основана на LCU), и предсказание параметра квантования производится для каждой области, которая является меньше чем LCU (например, для CU), тогда обработка может быть выполнена следующим образом. В случае, когда окружающая область текущей области (например, текущий CU) располагается за пределами текущего наибольшего элемента кодирования (LCU), можно поискать параметр квантования для области, обработанной непосредственно перед ней (до нее), (например, для предшествующего элемента кодирования (CU)). Если описать это более конкретно, то в качестве предсказанного параметра квантования может быть принят (или может быть использован для вычисления предсказанного параметра квантования) параметр квантования области, для которой разностный параметр квантования был вычислен непосредственно перед этим.
Это будут объяснено более конкретно со ссылкой на Фиг.27. Предположим, что обработка данных производится с использованием элемента "LCU" (основана на LCU), и предсказание параметра квантования производится для каждого элемента кодирования (CU). Каждый элемент кодирования в пределах наибольшего элемента кодирования обрабатывается в порядке растровой развертки. Кроме того, предполагается, что текущий CU (Текущий CU) расположен в верхнем левом углу текущего LCU (Текущий LCU) (более конкретно, CU, который подвергается кодирующей обработке внутри текущего LCU вначале). Предположим, что элемент кодирования, обработанный непосредственно перед этим, (Предшествующий CU) расположен в нижней правой части в смежном наибольшем элементе кодирования, расположенном с левой стороны от текущего наибольшего элемента кодирования, (в наибольшем элементе кодирования, обработанном непосредственно перед этим (Предшествующем LCU)) (более конкретно, представляет собой CU, который последним подвергнут кодирующей обработке в пределах Предшествующего LCU).
prev
curr
В случае, когда окружающие CU, которые ищутся при предсказании параметра квантования текущего CU (Текущего CU) представляют собой CU (A), CU (B) и CU (C), все эти элементы кодирования располагаются за пределами текущего LCU. Следовательно, определяется, что все CU являются неприменимыми (находящимися в недоступном состоянии (не находящимися в доступном состоянии)), и вместо них, в качестве предсказанного параметра PredQP квантования принимается параметр QP квантования для элемента кодирования, обработанного непосредственно перед этим (Предыдущий CU). Если описать это более конкретно, то разностный параметр dQP квантования для параметра QP квантования для текущего элемента кодирования и предсказанного параметра PredQP квантования вычисляется в соответствии с нижеследующим выражением (10).
Например, в третьем варианте реализации изобретения модуль 301 определения доступности окружающей области для использования, входящий в состав модуля 121 кодирования параметра квантования (смотри Фиг.14) определяет то, является ли окружающая область (например, элементы: с CU (A) по CU (C), показанные на Фиг.27) применимой или нет (находящейся в доступном состоянии или нет) из позиции текущей области (например, Текущего CU, показанного на Фиг.27) и тому подобное. Как показано в примере, показанном на Фиг.27, в случае, когда определено, что все окружающие области являются неприменимыми (расположенными за пределами Текущего LCU, и находящимися в недоступном состоянии), модуль 302 управления вычислением назначает, в качестве опорного объекта, область, обработанную перед этим (например, Предшествующий CU, показанный на Фиг.27). Модуль 151 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования параметр квантования для области, обработанной перед этим (например, для Предшествующего CU, показанного на Фиг.27). Модуль 152 генерирования разностного параметра квантования генерирует разностный параметр квантования, который является разностью между предсказанным параметром квантования и параметром квантования для текущей области (например, Текущего CU, показанного на Фиг.27).
Делая это, устройство 100 кодирования изображения выполняет обработку данных с использованием элемента LCU (основанную на LCU), что делает управление скоростью простым и более надежно генерирует предсказываемый параметр квантования.
Этот вид способа можно применять не только к генерированию предсказываемого параметра квантования, которое выполняется во время кодирования, но также и к генерированию предсказываемого параметра квантования, которое выполняется во время декодирования. Например, как проиллюстрировано на Фиг.16, модуль 221 декодирования параметра квантования генерирует предсказываемый параметр квантования в соответствии с тем же самым способом, что и модуль 121 кодирования параметра квантования, как проиллюстрировано на Фиг.14.
В этом случае, например, модуль 311 определения доступности окружающей области для использования, входящий в состав модуля 221 декодирования параметра квантования (см. Фиг.16), определяет то, является ли окружающая область (например, элементы: с CU (A) по CU (C), показанные на Фиг.27) применимой или нет (находящейся в доступном состоянии или нет) из позиции текущей области (например, Текущего CU, показанного на Фиг.27) и тому подобное. Как показано в примере, показанном на Фиг.27, в случае, когда определено, что все окружающие области являются неприменимыми (расположенными за пределами Текущего CU, и находящимися в недоступном состоянии), модуль 312 управления вычислением назначает, в качестве опорного объекта, область обработанную перед этим (например, Предшествующий CU, показанный на Фиг.27). Модуль 241 генерирования предсказываемого параметра квантования принимает в качестве предсказанного параметра квантования параметр квантования для области, обработанной перед этим (например, для Предшествующего CU, показанного на Фиг.27). Модуль 242 реконструкции разностного параметра квантования для области внимания суммирует предсказанный параметр квантования и разностный параметр квантования для текущей области (например, Текущего CU, который показан на Фиг.27), реконструируя, таким образом, параметр квантования области внимания. Модуль 234 обработки обратного квантования использует параметр квантования для области внимания для того, чтобы выполнить обратное квантование коэффициента ортогонального преобразования.
Делая это, устройство 200 декодирования изображения выполняет обработку данных с использованием элемента LCU, (основанную на LCU), что делает управление скоростью простым и более надежно генерирует предсказываемый параметр квантования.
7. Седьмой вариант реализации изобретения
Применение к кодированию изображения с множеством точек обзора/декодированию изображения с множеством точек обзора
Вышеупомянутая последовательность обработки данных может быть применена к кодированию изображения с множеством точек обзора/декодированию изображения с множеством точек обзора. На Фиг.28 проиллюстрирован пример способа кодирования изображения с множеством точек обзора.
Как проиллюстрировано на Фиг.28, изображение с множеством точек обзора включает в себя изображения для множества точек обзора, и изображения с некоторой предварительно заданной точкой обзора из числа указанного множества точек обзора назначаются в качестве изображений основного представления. Изображения с точками обзора, отличными от изображения основного представления, рассматриваются как изображения неосновного представления.
При выполнении кодирования изображения с множеством точек обзора, как это проиллюстрировано на Фиг.28, в каждом представлении (одном и том же представлении) может быть получена разность параметра квантования.
(1) основное представление:
curr
dQP (основного представления) = QP (основного представления) - PredQP (основного представления)
(2) неосновное представление:
curr
dQP (неосновного представления) = QP (неосновного представления) - PredQP (неосновного представления)
Разность параметра квантования может быть получена в каждом представлении (различном представлении).
(3) основное представление/неосновное представление:
curr
curr
dQP (между представлениями) = QP (основного представления) - QP (неосновного представления)
(4) неосновное представление/неосновное представление:
curr
curr
dQP (между представлениями) = QP (неосновного представления i) - QP (неосновного представления j)
Используя параметр квантования для области другого представления, значение (PredQP) предсказания для параметра (QPcurr) квантования для текущей области можно сгенерировать посредством любого вычисления, такого как вычисление медианы, среднего значения, взвешенного среднего значения, или тому подобного.
(5) основное представление:
a
b
c
(5-1) PredQP (основного представления) = Med (QP (неосновного представления), QP (неосновного представления), QP (неосновного представления))
a
b
c
(5-2) PredQP (основного представления) = Avr (QP (неосновного представления), QP (неосновного представления), QP (неосновного представления))
a
b
c
(5-3) PredQP (основного представления) = (x×QP (неосновного представления) + y×QP (неосновного представления) + z×QP (неосновного представления))/(x+y+z)
(6) неосновное представление:
a
b
c
(6-1) PredQP (неосновного представления i) = Med (QP (неосновного представления j), QP (неосновного представления j), QP (неосновного представления j))
a
b
c
(6-2) PredQP (неосновного представления i) = Avr (QP (неосновного представления j), QP (неосновного представления j), QP (неосновного представления j))
a
b
c
(6-3) PredQP (неосновного представления i) = (x×QP (неосновного представления j) + y×QP (неосновного представления j) + z×QP (неосновного представления j))/(x+y+z)
Следует понимать, что, даже в таком случае, то, применима ли окружающая область, использованная для вычисления предсказанного параметра квантования, или нет, может быть подтверждено так, как объяснено в третьем варианте реализации изобретения. После этого, используя только применимую область, можно вычислить значение (PredQP) предсказания. Способ вычисления значения (PredQP) предсказания может быть определен на основе этой применимой области. Например, как объяснено в третьем варианте реализации изобретения, вычисление, используемое для предсказания, может быть выбрано из числа способов вычисления, таких как вычисление медианы и среднего значения, в соответствии с количеством применимых областей.
Даже в таком случае, как объяснено в четвертом варианте реализации изобретения, значение PredQP предсказания может быть вычислено на основе вычисления взвешенного среднего значения параметров квантования для множественных окружающих областей, относящихся к представлениям, отличным от представления с текущей областью. В этом случае, весовые коэффициенты могут быть присвоены в соответствии с размером окружающей области, или могут быть присвоены в соответствии со сходством с размером текущей области.
Кроме того, даже в таком случае, как было объяснено в пятом варианте реализации изобретения, установка того, позволять ли использование различных видов вычислений для вычисления предсказываемого параметра квантования, может быть выполнена на основе, например, команды пользователя, внешней команды обработки данных. Данные о типе, включающие в себя эту установку, могут быть переданы стороне декодирования. Данные о типе могут включать в себя признаки, указывающие применимость или неприменимость каждого способа вычисления, или включать в себя применимый способ вычисления.
Признаки, включенные в состав данных о типе, могут быть заданы индивидуально для каждого изображения из числа: изображения основного представления и изображения неосновного представления, или могут быть заданы как общая информация для обоих изображений: изображения основного представления и изображения неосновного представления.
Предсказание параметра квантования, которое описано выше, также выполняется тем же самым способом в устройстве декодирования изображения, как это объяснено в вариантах (со второго по пятый) реализации изобретения.
Для каждого dQP, объясненного выше, может быть задан признак для того, чтобы различать то, имеется ли какой-нибудь dQP, значение которого не равно нулю.
Устройство кодирования изображения с множеством точек обзора
Фиг.29 представляет собой фигуру, на которой проиллюстрировано устройство кодирования изображения с множеством точек обзора, выполняющее кодирование изображения с множеством точек обзора, объясненное выше. Как проиллюстрировано на Фиг.29, устройство 600 кодирования изображения с множеством точек обзора включает в себя кодирующий модуль 601, кодирующий модуль 602 и мультиплексирующий модуль 603.
Кодирующий модуль 601 кодирует изображения основного представления и генерирует закодированный поток данных изображения основного представления. Кодирующий модуль 602 кодирует изображения неосновного представления и генерирует закодированный поток данных изображения неосновного представления. Мультиплексирующий модуль 603 мультиплексирует закодированный поток данных изображения основного представления, сгенерированный кодирующим модулем 601, и закодированный поток данных изображения неосновного представления, сгенерированный кодирующим модулем 602, и генерирует закодированный поток данных изображения с множеством точек обзора.
В кодирующем модуле 601 и кодирующем модуле 602, входящих в состав устройства 600 кодирования изображения с множеством точек обзора, может быть применено устройство 100 кодирования изображения (см. Фиг.1). В этом случае устройство 600 кодирования изображения с множеством точек обзора задает и передает значение разности между параметром квантования, задаваемым кодирующим модулем 601, и параметром квантования, задаваемым кодирующим модулем 602.
Устройство декодирования изображения с множеством точек обзора
Фиг.30 представляет собой фигуру, на которой проиллюстрировано устройства декодирования изображений с множеством точек обзора, которое выполняет декодирование изображения с множеством точек обзора, объясненное выше. Как проиллюстрировано на Фиг.30, устройство 610 декодирования изображения с множеством точек обзора включает в себя демультиплексирующий модуль 611, декодирующий модуль 612 и декодирующий модуль 613.
Демультиплексирующий модуль 611 осуществляет демультиплексирование закодированного потока данных изображения с множеством точек обзора, который получен посредством мультиплексирования закодированного потока данных изображения основного представления и закодированного потока данных изображения неосновного представления, и извлекает закодированный поток данных изображения основного представления и закодированный поток данных изображения неосновного представления. Декодирующий модуль 612 декодирует закодированный поток данных изображения основного представления, извлеченный демультиплексирующим модулем 611, и получает изображения основного представления. Декодирующий модуль 613 декодирует закодированный поток данных изображения неосновного представления, извлеченный демультиплексирующим модулем 611, и получает изображения неосновного представления.
В декодирующем модуле 612 и декодирующем модуле 613, входящих в состав устройства 610 декодирования изображения с множеством точек обзора может быть применено устройство 200 декодирования изображения (смотри Фиг.10). В этом случае устройство 610 декодирования изображения с множеством точек обзора задает параметр квантования, исходя из значения разности между параметром квантования, заданным кодирующим модулем 601, и параметром квантования, заданным кодирующим модулем 602, и выполняет обратное квантование.
8. Восьмой вариант реализации изобретения
Применение к кодированию точки иерархического изображения / декодированию иерархического изображения
Вышеупомянутая последовательность обработки данных может быть применена к кодированию иерархического изображения/декодированию иерархического изображения. На Фиг.31 проиллюстрирован пример способа кодирования изображения с множеством точек обзора.
Как проиллюстрировано на Фиг.31, иерархическое изображение включает в себя изображения множественных иерархий (разрешающей способности)), и иерархическое изображение некоторой предварительно заданной разрешающей способности из числа множественной разрешающей способности, назначается в качестве изображения основного уровня. Изображения иерархий, отличных от изображения основного уровня, рассматриваются как изображения неосновного уровня.
Выполняется кодирование иерархического изображения (пространственной масштабируемости), как это проиллюстрировано на Фиг.31, на каждом уровне может быть получена разность параметров квантования каждого уровня (одного и того же уровня).
(1) основной уровень:
curr
dQP (основного уровня) = QP (основного уровня) - PredQP (основного уровня)
(2) неосновной уровень:
curr
dQP (неосновного уровня) = QP (неосновного уровня) - PredQP (неосновного уровня)
В качестве альтернативы, разность параметров квантования может быть получена на каждом уровне (различных уровнях).
(3) основной уровень/неосновной уровень:
curr
curr
dQP (между уровнями) = QP (основного уровня) - QP (неосновного уровня)
(4) неосновной уровень/неосновной уровень:
curr
curr
dQP (между уровнями) = QP (неосновного уровня i) - QP (неосновного уровня j)
Используя параметр квантования для области другого уровня, значение PredQP предсказания для параметра QPcurr квантования для текущей области можно сгенерировать посредством любого вычисления, такого как вычисление медианы, среднего значения, взвешенного среднего значения, или тому подобного.
(5) основной уровень:
a
b
c
(5-1) PredQP (основного уровня) = Med (QP (неосновного уровня), QP (неосновного уровня), QP (неосновного уровня))
a
b
c
(5-2) PredQP (основного уровня) = Avr (QP (неосновного уровня), QP (неосновного уровня), QP (неосновного уровня))
a
b
c
(5-3) PredQP (основного уровня) = (x×QP (неосновного уровня) + y×QP (неосновного уровня) + z×QP (неосновного уровня))/(x+y+z)
(6) неосновной уровень:
a
b
c
(6-1) PredQP (неосновного уровня i) = Med (QP (неосновного уровня j), QP (неосновного уровня j), QP (неосновного уровня j))
a
b
c
(6-2) PredQP (неосновного уровня i) = Avr (QP (неосновного уровня j), QP (неосновного уровня j), QP (неосновного уровня j))
a
b
c
(6-3) PredQP (неосновного уровня i) = (x×QP (неосновного уровня j) + y×QP (неосновного уровня j) + z×QP (неосновного уровня]))/(x+y+z)
Следует понимать, что, даже в таком случае, то, применима ли окружающая область для использования при вычислении предсказанного параметра квантования, или нет, может быть подтверждено так, как объяснено в третьем варианте реализации изобретения. После этого, используя только применимую область, можно вычислить значение PredQP предсказания. Способ вычисления значения PredQP предсказания может быть определен на основе этой применимой области. Например, как объяснено в третьем варианте реализации изобретения, вычисление, используемое для предсказания, может быть выбрано из числа способов вычисления, таких как вычисление медианы и среднего значения, в соответствии с количеством применимых областей.
Даже в таком случае, как объяснено в четвертом варианте реализации изобретения, значение PredQP предсказания может быть вычислено на основе вычисления взвешенного среднего значения параметров квантования для множественных окружающих областей, относящихся к уровням, отличным от уровня текущей области. В этом случае, весовые коэффициенты могут быть присвоены в соответствии с размером окружающей области, или могут быть присвоены в соответствии со сходством с размером текущей области.
Кроме того, даже в таком случае, как было объяснено в пятом варианте реализации изобретения, установка того, позволять ли использование различных видов вычислений для вычисления предсказываемого параметра квантования, может быть выполнена на основе, например, команды пользователя, внешней команды обработки данных. Данные о типе, включающие в себя указанную установку, могут быть переданы стороне декодирования. Данные о типе могут включать в себя признаки, указывающие применимость или неприменимость каждого способа вычисления, или включать в себя применимый способ вычисления.
Признаки, включенные в состав данных о типе, могут быть заданы индивидуально для каждого изображения из числа: изображения основного уровня и изображения неосновного уровня, или могут быть заданы как общая информация для обоих изображений: изображения основного представления и изображения неосновного представления.
Предсказание параметра квантования, которое описано выше, также выполняется тем же самым способом в устройстве декодирования изображения, как это объяснено в вариантах (со второго по пятый) реализации изобретения.
Как и в способе, объясненном выше, для каждого dQP, объясненного выше, может быть задан признак для того, чтобы различать то, имеется ли какой-нибудь dQP, значение которого не равно нулю.
Устройство кодирования иерархического изображения
Фиг.32 представляет собой фигуру, на которой проиллюстрировано устройство кодирования иерархических изображений, которое выполняет кодирование иерархического изображения, объясненное выше. Как проиллюстрировано на Фиг.32, устройство 620 кодирования иерархического изображения включает в себя кодирующий модуль 621, кодирующий модуль 622 и мультиплексирующий модуль 623.
Кодирующий модуль 621 кодирует изображения основного уровня и генерирует закодированный поток данных изображения основного уровня. Кодирующий модуль 622 кодирует изображения неосновного уровня и генерирует закодированный поток данных изображения неосновного уровня. Мультиплексирующий модуль 623 мультиплексирует закодированный поток данных изображения основного уровня, сгенерированный кодирующим модулем 621, и закодированный поток данных изображения неосновного уровня, сгенерированный кодирующим модулем 622, и генерирует закодированный поток данных иерархического изображения.
В кодирующем модуле 621 и кодирующем модуле 622, входящих в состав устройства 620 кодирования иерархического изображения, может быть применено устройство 100 кодирования изображения (смотри Фиг.1). В этом случае устройство 620 кодирования иерархического изображения задает и передает значение разности между параметром квантования, задаваемым кодирующим модулем 621, и параметром квантования, задаваемым кодирующим модулем 622.
Устройство декодирования иерархического изображения
Фиг.33 представляет собой фигуру, на которой проиллюстрировано устройства декодирования иерархических изображений, которое выполняет декодирование иерархического изображения, объясненное выше. Как проиллюстрировано на Фиг.33, устройство 630 декодирования иерархического изображения включает в себя демультиплексирующий модуль 631, декодирующий модуль 632 и декодирующий модуль 633.
Демультиплексирующий модуль 631 осуществляет демультиплексирование закодированного потока данных иерархического изображения, который получен посредством мультиплексирования закодированного потока данных изображения основного уровня и закодированного поток данных изображения неосновного уровня, и извлекает закодированный поток данных изображения основного уровня и закодированный поток данных изображения неосновного уровня. Декодирующий модуль 632 декодирует закодированный поток данных изображения основного уровня, извлеченный демультиплексирующим модулем 631, и получает изображение основного уровня. Декодирующий модуль 633 декодирует закодированный поток данных изображения неосновного уровня, извлеченный демультиплексирующим модулем 631, и получает изображения неосновного уровня.
В декодирующем модуле 632 и декодирующем модуле 633, входящих в состав устройства 630 декодирования иерархического изображения, может быть применено устройство 200 декодирования изображения (смотри Фиг.10). В этом случае устройство 630 декодирования иерархического изображения задает настройку параметра квантования, исходя из значения разности между параметром квантования, заданным кодирующим модулем 621, и параметром квантования, заданным кодирующим модулем 622, и выполняет процесс, обратный квантованию.
9. Девятый вариант реализации изобретения
Компьютер
Вышеупомянутая последовательность обработки данных может быть исполнена посредством аппаратных средств или может быть исполнена посредством программного обеспечения. В случае, когда эта последовательность обработки данных исполняется посредством программного обеспечения, программы, составляющие программные средства, устанавливаются на компьютер. В этом случае, компьютер включает в себя компьютер, встроенный в специализированные аппаратные средства и универсальный компьютер, способный выполнять различные виды функций при установке различных видов программ.
На Фиг.34 центральный процессор (CU) 801, входящий в состав компьютера 800, исполняет различные виды обработки данных в соответствии с программой, хранящейся в Постоянном запоминающем устройстве (ROM) 802, или программой, загружаемой с модуля 813 хранения в Оперативное запоминающее устройство (RAM) 803. При необходимости оперативное запоминающее устройство 803 также хранит, например, данные, необходимые для того, чтобы позволить центральному процессору 801 исполнять различные виды обработки данных.
Центральный процессор 801, постоянное запоминающее устройство 802 и оперативное запоминающее устройство 803 соединены друг с другом через шину 804. С шиной 804 также соединен интерфейс 810 ввода-вывода.
Интерфейс ввода-вывода 810 соединен с модулем 811 ввода, образованным клавиатурой, "мышью" и тому подобным, устройством отображения, образованным электронно-лучевой трубкой (ЭЛТ) или жидкокристаллическим дисплеем (ЖКД) и тому подобным, модулем 812 вывода, образованным громкоговорителем и тому подобным, модулем 813 хранения, состоящим из жесткого магнитного диск и тому подобного, и модулем 814 связи, состоящим из модема и тому подобного. Модуль 814 связи выполняет роль модуля связи через сеть, включающую в себя сеть "Интернет".
Интерфейс 810 ввода-вывода также при необходимости соединен с приводом 815, и в него, при необходимости, загружается съемный носитель 821 данных, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство, и компьютерная программа, считываемая с этого носителя данных, устанавливается, при необходимости, в модуль 813 хранения.
В случае, когда вышеописанная последовательность обработки данных исполняется посредством программного обеспечения, программы, которые составляют это программное обеспечение, устанавливается из сети или с носителя записи.
Например, как проиллюстрировано на Фиг.34, этот носитель записи состоит не только из съемного носителя 821 данных, образованного, например, из магнитного диска (включая гибкий диск), на котором записана программа, оптического диска (включая CD-ROM (Постоянное запоминающее устройство на компакт-диске), DVD (Цифровой универсальный диск)), магнитооптического диска (включая MD (Минидиск)), или полупроводникового запоминающего устройства, которые поставляются для поставки программ пользователю отдельно от основного корпуса устройства, но также и из постоянного запоминающего устройства 802, в котором записана программа, и жесткого магнитного диска, входящего в состав запоминающего модуля 813, которые поставляются пользователям, будучи заранее встроенными в основной корпус устройства.
Программа, исполняемая компьютером, может представлять собой программу, посредством которой обработка данных выполняется во временной последовательности, соответствующей порядку, объясненному в этом описании, или может представлять собой программу, посредством которой обработки данных выполняются параллельно или в необходимые моменты времени, например, по запросу.
В этой спецификации этапы, описывающие программу, записанную на носителе записи, включают в себя обработку данных, выполняемую во временной последовательности, соответствующей описанному порядку. Эти этапы не обязательно могут выполняться во временной последовательности, и эти этапы включают в себя обработку данных, исполняемую параллельно или в индивидуальном порядке.
В этом описании система включает в себя все устройство, состоящее из множества устройств.
Конфигурация, объясненная в вышеприведенном объяснении как устройство (или модуль обработки данных), может быть разделена и структурирована как множество устройств (или модулей обработки данных). Конфигурация, объясненная в вышеприведенном объяснении как множественные устройства (или модули обработки данных), может быть объединена и структурирована как одно устройство (или модуль обработки данных). В качестве альтернативы, следует понимать, что конфигурация каждого устройства (или каждого модуля обработки данных) может быть соединена с любой конфигурацией, отличной от вышеописанной. Кроме того, когда конфигурация и функционирование всей системы являются, по существу, теми же самыми, часть конфигурации определенного устройства (или модуля обработки данных) может быть включено в состав конфигурации другого устройства (или другого модуля обработки данных). Если описать это более конкретно, то данная технология не ограничена вышеописанным вариантом реализации изобретения, и может быть изменена различными способами, при том условии, что она находится в рамках сущности данной технологии.
Устройство кодирования изображения и устройство декодирования изображения, соответствующие объясненным выше вариантам реализации изобретения, могут быть применены к различным видам электронных устройств, таких как передатчик или приемник для распространения данных оконечным устройствам посредством спутникового вещания, кабельного вещании, такого как кабельное телевидение, распространения данных по сети "Интернет", сотовой связи, записывающие устройства для записи изображений на носитель данных, такой как оптический диск, магнитный диск и флэш-память, или устройства воспроизведения, предназначенные для воспроизведения изображений указанных носителей записи. Далее будут объяснены четыре примера применений.
Первый пример применения: телевизионное устройство
На Фиг.35 проиллюстрирован пример принципиальной схемы, иллюстрирующей телевизионное устройство, в котором применены вышеописанные варианты реализации изобретения. Телевизионное устройство 900 включает в себя антенну 901, тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 906 отображения, модуль 907 обработки аудиосигнала, громкоговоритель 908, внешний интерфейс 909, управляющий модуль 910, пользовательский интерфейс 911 и шину 912.
Тюнер 902 извлекает из сигнала вещания, принятого через антенну 901, сигнал требуемого канала и демодулирует извлеченный сигнал. После этого, тюнер 902 выводит поток битов, полученный в результате демодуляции, на демультиплексор 903. Если описать это более конкретно, то тюнер 902 выполняет роль передающего модуля в телевизионном устройстве 900 для приема потока битов, в котором закодированы изображения.
Демультиплексор 903 отделяет от потока битов поток видеоинформации и поток аудиоинформации программы - объекта просмотра, и выводит каждый отделенный поток данных на декодер 904. Демультиплексор 903 извлекает из потока битов вспомогательные данные, такие как EPG (Электронный путеводитель по телевизионным программам), и предоставляет извлеченные данные на управляющий модуль 910. В случае, когда поток битов скремблирован, демультиплексор 903 может осуществлять дескремблирование.
Декодер 904 декодирует поток видеоинформации и поток аудиоинформации, принимаемые от демультиплексора 903. После этого, декодер 904 выводит видеоданные, сгенерированные в результате обработки данных при декодировании, на модуль 905 обработки видеосигнала. Декодер 904 выводит аудиоданные, сгенерированные в результате обработки данных при декодировании, на модуль 907 обработки аудиосигнала.
Модуль 905 обработки видеосигнала воспроизводит видеоданные, принимаемые декодером 904, и вызывает отображение модулем 906 отображения видеоинформации. Модуль 905 обработки видеосигнала может отображать на модуле 906 отображения прикладное экранное изображение, предоставляемое через сеть. Модуль 905 обработки видеосигнала может, в соответствии с настройкой, выполнять над видеоданными дополнительную обработку данных, такую как, например, снижение шума. Кроме того, модуль 905 обработки видеосигнала генерирует изображение графического пользовательского интерфейса (ГПИ), такого как, например, меню, кнопки и курсор, и накладывает сгенерированное изображение на выводимое изображение.
Модуль 906 отображения управляется управляющим сигналом, предоставляемым модулем 905 обработки видеосигнала, и отображает видеоинформацию или изображение на видеоэкране устройства отображения (такого как, жидкокристаллический дисплей, плазменный дисплей или органический электролюминесцентный дисплей (OELD - дисплей (и тому подобное).
Модуль 907 обработки аудиосигнала выполняет обработку данных при воспроизведении, такую как цифро-аналоговое преобразование и усиление, над аудиоданными, принимаемыми от декодера 904, и вызывает вывод громкоговорителем 908 аудиоинформации. Модуль 907 обработки аудоосигнала может выполнять над аудиоданными дополнительную обработку данных, такую как снижение шума.
Внешний интерфейс 909 представляет собой интерфейс для соединения между телевизионным устройством 900 и внешним устройством или сетью. Например, поток видеоинформации или поток аудиоинформации, принятые через внешний интерфейс 909, могут быть декодированы декодером 904. Если описать это более конкретно, то внешний интерфейс 909 также играет роль приема потока битов в котором, закодированы изображения и служит в качестве передающего модуля в телевизионном устройстве 900.
Управляющий модуль 910 имеет процессор, такой как центральный процессор и тому подобное, и память, такую как оперативное запоминающее устройство и постоянное запоминающее устройство. Память хранит, например, программы, исполняемые центральным процессором, данные программ, данные EPG (Электронного путеводителя по телевизионным программам) и данные, полученные через сеть. Программа, хранящаяся в памяти, может быть, например, считываться центральным процессором при включении телевизионного устройства 900. Центральный процессор исполняет указанную программу, управляя функционированием телевизионного устройства 900 в соответствии, например, с операционным сигналом, принимаемым от пользовательского интерфейса 911.
С управляющим модулем 910 соединен пользовательский интерфейс 911. Пользовательский интерфейс 911 включает в себя, например, кнопки и выключатель, посредством которых пользователь управляет телевизионным устройством 900, и принимающий модуль для приема сигнала дистанционного управления. Пользовательский интерфейс 911 генерирует операционный сигнал при обнаружении операции, производимой пользователем, посредством этих составляющих элементов, и выводит сгенерированный операционный сигнал на управляющий модуль 910.
Шина 912 соединяет тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 907 обработки аудиосигнала, внешний интерфейс 909 и управляющий модуль 910 друг с другом.
В телевизионном устройстве 900, сконфигурированном так, как описано выше, декодер 904 имеет функцию устройства декодирования изображений, соответствующего вариантам реализации изобретения, объясненным выше. Соответственно, при декодировании телевизионным устройством 900 изображений, эффективность кодирования для параметра квантования может быть повышена.
Второй пример применения: сотовый телефон
На Фиг.36 проиллюстрирован пример принципиальной схемы, на которой проиллюстрирован сотовый телефон, в котором применены вышеописанные варианты реализации изобретения. Сотовый телефон 920 включает в себя: антенну 921, модуль 922 связи, кодер-декодер 923 аудиоинформации, громкоговоритель 924, микрофон 925, модуль 926 фотокамеры, модуль 927 обработки изображения, демультиплексор 928, модуль 929 записи/воспроизведения, модуль 930 отображения, управляющий модуль 931, модуль 932 оперирования и шину 933.
Антенна 921 соединена с модулем 922 связи. Громкоговоритель 924 и микрофон 925 соединены с кодером-декодером 923 аудиоинформации. Модуль 932 оперирования соединен с управляющим модулем 931. Шина 933 соединяет модуль 922 связи, кодер-декодер 923 аудиоинформации, модуль 926 фотокамеры, модуль 927 обработки изображения, демультиплексор 928, модуль 929 записи/воспроизведения, модуль 930 отображения, управляющий модуль 931 друг с другом.
Сотовый телефон 920 выполняет операцию, такую как передача/прием аудиосигналов, передача/прием сообщений электронной почты или данных изображения, фотографирование изображений и запись данных в различных видах режимов, включающих в себя режим аудиотелефонного звонка (разговора), режим передачи данных, режим фотосъемки, и режим видеотелефонного звонка (разговора).
В режиме аудиотелефонного звонка аналоговый аудиосигнал, сгенерированный микрофоном 925, предоставляется кодеру-декодеру 923 аудиоинформации. Кодер-декодер 923 аудиоинформации преобразует аналоговый аудиосигнал в аудиоданные, выполняет аналого-цифровое преобразование над этими преобразованными аудиоданными и осуществляет сжатие этих аудиоданных. После этого, кодер-декодер 923 аудиоинформации выводит сжатые аудиоданные в модуль 922 связи. Модуль 922 связи кодирует и модулирует аудиоданные, и генерирует сигнал передачи. После этого, модуль 922 связи передает через антенну 921 сгенерированный сигнал передачи базовой станции (не показанной на чертеже). Модуль 922 связи усиливает радиосигнал, принятый через антенну 921, и преобразует частоту, и получает сигнал приема. После этого, модуль 922 связи, демодулируя и декодируя сигнал приема, генерирует аудиоданные и выводит сгенерированные аудиоданные в кодер-декодер 923 аудиоинформации. Кодер-декодер 923 аудиоинформации разворачивает сжатые аудиоданные, выполняет их цифро-аналоговое преобразование и генерирует аналоговый аудиосигнал. После этого, кодер-декодер 923 аудиоинформации предоставляет сгенерированный аудиосигнал громкоговорителю 924 и выводит аудиоинформацию.
В режиме передачи данных, например, управляющий модуль 931 генерирует в соответствии с операцией пользователя, задаваемой посредством операционного модуля 932, текстовые данные, составляющие электронное почтовое сообщение. Управляющий модуль 931 отображает символы на модуле 930 отображения. Управляющий модуль 931 генерирует данные электронного почтового сообщения в соответствии с пользовательской командой передачи, отданной посредством модуля 932 оперирования, и выводит сгенерированные данные электронного почтового сообщения на модуль 922 связи. Модуль 922 связи кодирует и модулирует данные электронного почтового сообщения и генерирует сигнал передачи. После этого, модуль 922 связи передает через антенну 921 сгенерированный сигнал передачи на базовую станцию (не показанную на чертеже). Модуль 922 связи усиливает радиосигнал, принимаемый через антенну 921, и преобразует частоту, и получает сигнал приема. После этого, модуль 922 связи восстанавливает данные электронного почтового сообщения, демодулируя и декодируя сигнал приема, и выводит восстановленные данные электронного почтового сообщения на управляющий модуль 931. Управляющий модуль 931 отображает содержимое электронного почтового сообщения на модуле 930 отображения, и сохраняет эти данные электронного почтового сообщения на носителе записи, относящемся к модулю 929 записи/воспроизведения.
Модуль 929 записи/воспроизведения включает в себя любой носитель записи, который можно считывать и записывать. Например, этот носитель записи может представлять собой внутренний носитель записи, такой как оперативное запоминающее устройство или флэш-память, и может представлять собой прикрепляемый внешним образом носитель записи, такой как жесткий магнитный диск, магнитный диск, магнитооптический диск, оптический диск, USB - память (память с битовым массивом с нераспределенным пространством) или карта памяти.
В режиме фотосъемки, например, модуль 926 фотокамеры вводит изображение объекта, генерирует данные изображений и выводит сгенерированные данные изображений на модуль 927 обработки изображения. Модуль 927 обработки изображения кодирует данные изображений, принимаемые от модуля 926 фотокамеры, и записывает поток битов на носитель записи, относящийся к модулю 929 записи/воспроизведения.
В режиме видеотелефонного звонка, например, демультиплексор 928 осуществляет мультиплепксирование потока видеоинформации, закодированного модулем 927 обработки изображения, и потока аудиоинформации, принимаемого от кодера-декодера 923 аудиоинформации, и выводит мультиплексированный поток данных на модуль 922 связи. Модуль 922 связи кодирует и модулирует этот поток данных, и генерирует сигнал передачи. После этого, модуль 922 связи передает через антенну 921 сгенерированный сигнал передачи на базовую станцию (не показанную на чертеже). Модуль 922 связи усиливает радиосигнал, принятый через антенну 921, и преобразует частоту, и получает сигнал приема. Сигнал передачи и сигнал приема могут включать в себя поток битов. После этого, модуль 922 связи восстанавливает поток данных, демодулируя и декодируя сигнал приема, и выводит восстановленный поток данных на демультиплексор 928. Демультиплексор 928 отделяет от принятого потока данных поток видеоинформации и поток аудиоинформации и выводит поток видеоинформации на модуль 927 обработки изображения, а поток аудиоинформации на кодер-декодер 923 аудиоинформации. Модуль 927 обработки изображения декодирует поток видеоинформации и генерирует видеоданные. Эти видеоданные предоставляются модулю 930 отображения, и модуль 930 отображения отображает последовательность изображений. Кодер-декодер 923 аудиоинформации разворачивает сжатый поток аудиоинформации, выполняет его цифро-аналоговое преобразование и генерирует аналоговый аудиосигнал. После этого, кодер-декодер 923 аудиоинформации предоставляет сгенерированный аудиосигнал громкоговорителю 924 и выводит аудиоинформацию.
В сотовом телефоне 920, сконфигурированном так, как описано выше, модуль 927 обработки изображения имеет функцию устройства кодирования изображения и устройства декодирования изображения, соответствующих вариантам реализации изобретения, объясненным выше. Соответственно, когда сотовый телефон 920 кодирует и декодирует изображения, эффективность кодирования для параметра квантования может быть повышена.
Третий пример применения: устройство записи/воспроизведения
На Фиг.37 проиллюстрирован пример принципиальной схемы, иллюстрирующей устройство записи/воспроизведения, в котором применены вышеописанные варианты реализации изобретения. Например, устройство 940 записи/воспроизведения кодирует аудиоданные и видеоданные принятой вещательной программы и записывает их на носитель записи. Например, устройство 940 записи/воспроизведения может кодировать аудиоданные и видеоданные, полученные от другого устройства, и может записывать их на носитель записи. Например, устройство 940 записи/воспроизведения воспроизводит, в соответствии с командой пользователя, данные, записанные на носителе записи, с использованием монитора и громкоговорителя. В этом случае устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения включает в себя тюнер 941, внешний интерфейс 942, кодер 943, накопитель 944 на жестком магнитном диске (HDD), дисковод 945, переключатель 946, декодер 947, OSD - модуль 948 (модуль отображения на экране), управляющий модуль 949 и пользовательский интерфейс 950.
Тюнер 941 извлекает из сигнала вещания, принятого через антенну (не показанную на чертеже), сигнал требуемого канала и демодулирует извлеченный сигнал. После этого, тюнер 941 выводит поток битов, полученный в результате демодуляции, на переключатель 946. Если описать это более конкретно, то тюнер 941 выполняет роль передающего модуля в устройстве 940 записи/воспроизведения.
Внешний интерфейс 942 представляет собой интерфейс для соединения между устройством 940 записи/воспроизведения и внешним устройством или сетью. Внешний интерфейс 942 может представлять собой, например, интерфейс IEEE 1394 (интерфейс стандарта 1394 Института инженеров по электротехнике и радиоэлектронике, (США)), сетевой интерфейс, USB-интерфейс (интерфейс Универсальной последовательной шины), интерфейс флэш-памяти или тому подобное. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942, вводятся в кодер 943. Если описать это более конкретно, то внешний интерфейс 942 выполняет роль передающего модуля в устройстве 940 записи/воспроизведения.
В случае, когда видеоданные и аудиоданные, принимаемые от внешнего интерфейса 942, не закодированы, кодер 943 кодирует видеоданные и аудиоданные. После этого кодер 943 выводит поток битов на переключатель 946.
Накопитель 944 на жестком магнитном диске записывает, на внутреннем жестком магнитном диске, поток битов, получаемый посредством сжатия данных контента (информационно значимого содержимого), таких как видеоинформация и аудиоинформация, и различные виды программ и другие данные. При воспроизведении видеоинформации и аудиоинформации накопитель 944 на жестком магнитном диске считывает данные с жесткого магнитного диска.
Дисковод 945 записывает данные на загруженный в него носитель записи и считывает их оттуда. Носитель записи, загружаемый в дисковод 945, может представлять собой, например, DVD-диск (универсальный цифровой диск) (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW и тому подобное) или диск Blu-ray (зарегистрированный товарный знак).
При записи видеоинформации и аудиоинформации переключатель 946 осуществляет выбор потока битов, принимаемого от тюнера 941 или кодера 943, и выводит выбранный поток битов на накопитель 944 на жестком магнитном диске или на дисковод 945. При воспроизведении видеоинформации и аудиоинформации переключатель 946 выводит поток битов из накопителя 944 на жестком магнитном диске или дисковода 945 на декодер 947.
Декодер 947 декодирует поток битов и генерирует видеоданные и аудиоданные. После этого, декодер 947 выводит сгенерированные видеоданные в OSD-модуль 948. После этого, декодер 904 выводит сгенерированные аудиоданные на внешний громкоговоритель.
OSD-модуль 948 воспроизводит видеоданные, принимаемые от декодера 947 и отображает видеоинформацию. OSD-модуль 948 может накладывать на отображаемую видеоинформацию изображения графического пользовательского интерфейса, такого как меню, кнопки или курсор.
Управляющий модуль 949 имеет процессор, такой как центральный процессор и тому подобное, и память, такую как ROM и RAM. Память записывает программы, исполняемые центральным процессором, данные программ и тому подобное. Программа, хранящаяся в памяти, может быть, например, считана и исполнена центральным процессором при включении устройства 940 записи/воспроизведения. Центральный процессор исполняет эту программу, управляя функционированием устройства 940 записи/воспроизведения в соответствии, например, с сигналом оперирования, принятым от пользовательского интерфейса 950.
С управляющим модулем 949 соединен пользовательский интерфейс 950. Пользовательский интерфейс 950 включает в себя, например, кнопки и выключатели, посредством которых пользователь управляет устройством 940 записи/воспроизведения, и принимающий модуль для приема сигнала дистанционного управления. Пользовательский интерфейс 950 генерирует сигнал оперирования при обнаружении оперирования пользователя посредством этих составляющих элементов, и выводит сгенерированный сигнал оперирования в управляющий модуль 949.
В устройстве 940 записи/воспроизведения, сконфигурированном так, как описано выше, кодер 943 имеет функцию устройства кодирования изображений, соответствующего вышеописанному варианту реализации изобретения. Декодер 947 имеет функцию устройства декодирования изображений, соответствующего вариантам реализации изобретения, объясненным выше. Соответственно, когда устройство 940 записи/воспроизведения кодирует и декодирует изображения, эффективность кодирования для параметра квантования может быть повышена.
Четвертый пример применения: устройство формирования изображения
На Фиг.38 проиллюстрирован пример принципиальной схемы, иллюстрирующей устройства ввода изображений, в котором применены вышеописанные варианты реализации изобретения. Устройство 960 формирования изображения формирует изображение объекта, генерирует данные изображения и записывает данные изображения на носитель записи.
Устройство 960 ввода изображения включает в себя: оптический блок 961, модуль 962 формирования изображения, модуль 963 обработки сигналов, модуль 964 обработки изображения, модуль 965 отображения, внешний интерфейс 966, память 967, накопитель 968 с носителем данных, OSD-модуль 969, управляющий модуль 970, пользовательский интерфейс 971 и шину 972.
Оптический блок 961 соединен с модулем 962 формирования изображения. Модуль 962 формирования изображения соединен с модулем 963 обработки сигналов. Модуль 965 отображения соединен с модулем 964 обработки изображения. Пользовательский интерфейс 971 соединен с управляющим модулем 970. Шина 972 соединяет модуль 964 обработки изображения, внешний интерфейс 966, память 967, накопитель 968 с носителем данных, OSD-модуль 969 и управляющий модуль 970 друг с другом.
Оптический блок 961 включает в себя фокусирующую линзу и механизм диафрагмы. Оптический блок 961 вызывает формирование оптического изображения объекта на поверхности ввода изображения в модуле 962 ввода изображения. Модуль 962 ввода изображения включает в себя датчик изображения, такой как прибор с зарядовой связью (CCD - прибор) и комплементарная структура металл-оксид-полупроводник (CMOS - структура), и преобразует посредством фотоэлектрического преобразования оптическое изображение, сформированное на поверхности ввода изображения, в сигнал изображения, который является электрическим сигналом. После этого, модуль 962 ввода изображения выводит сигнал изображения на модуль 963 обработки сигналов.
Процессор 963 обработки сигналов выполняет различные виды обработки сигналов с фотокамеры, такие как коррекция излома, гамма - коррекция и цветовая коррекция, над сигналом изображения, принимаемым от модуля 962 ввода изображения. Модуль 963 обработки сигналов выводит данные изображения, которые были подвергнуты обработке сигналов с фотокамеры, на модуль 964 обработки изображения.
Модуль 964 обработки изображения кодирует данные изображения, принимаемые от модуля 963 обработки сигналов, и генерирует закодированные данные. После этого, модуль 964 обработки изображения выводит сгенерированные закодированные данные во внешний интерфейс 966 или накопитель 968 с носителем данных. Модуль 964 обработки изображения декодирует закодированные данные, принимаемые от внешнего интерфейса 966 или накопителя 968 с носителем данных, и генерирует данные изображения. После этого, модуль 964 обработки изображения выводит сгенерированные данные изображения на модуль 965 отображения. Модуль 964 обработки изображения может выводить данные изображения, принимаемые от модуля 963 обработки сигналов, на модуль 965 отображения и может отображать это изображение на нем. Модуль 964 обработки изображения может также накладывать на изображение, которое подлежит выводу на модуль 965 отображения, отображаемые данные, полученные от OSD-модуля 969.
Например, OSD-модуль 969 генерирует изображения графического пользовательского интерфейса, такие как меню, кнопки или курсор, и выводит сгенерированное изображение на модуль 964 обработки изображения.
Внешний интерфейс 966 сконфигурирован, например, как входной/выходный разъем USB (Универсальной последовательной шины). Внешний интерфейс 966 соединяет, например, устройство 960 ввода изображения и принтер при печатании изображения. При необходимости внешний интерфейс 966 соединен с приводом. В этот привод, например, может быть загружен съемный носитель данных, такой как магнитный диск или оптический диск. Программа, которая считывается со съемного носителя данных, может быть установлена на устройстве 960 формирования изображения. Кроме того, внешний интерфейс 966 может быть сконфигурирован как сетевой интерфейс, соединенный с сетью, такой как локальная сеть или сеть "Интернет". Если описать это более конкретно, то внешний интерфейс 966 выполняет роль передающего модуля в устройстве 960 формирования изображения.
Носитель записи, загружаемый в привод 968, может представлять собой любой заданный съемный носитель данных, который может быть записан и считан, такой как, например, магнитный диск, оптический магнитный диск, оптический диск или полупроводниковое запоминающее устройство. Может быть сконфигурирован носитель записи, загруженный в привод 968 как постоянный, и, например, несъемное запоминающее устройство, такое как, например, внутренний накопитель на жестком магнитном диске или твердотельный накопитель (SSD-накопитель).
Управляющий модуль 970 имеет процессор, такой как центральный процессор и тому подобное, и память, такую как оперативное запоминающее устройство и постоянное запоминающее устройство. Память хранит программы, исполняемые центральным процессором, данные программ и тому подобное. Программа, хранящаяся в памяти, например, может быть, например, считана и исполнена центральным процессором при включении устройства 960 формирования изображения. Центральный процессор исполняет эту программу, управляя функционированием устройства 960 формирования изображения, в соответствии, например, с сигналом оперирования, принимаемым от пользовательского интерфейса 971.
Пользовательский интерфейс 971 соединен с управляющим модулем 970. Пользовательский интерфейс 971 включает в себя, например, кнопки, выключатели и тому подобное для того, чтобы пользователь управлял устройством 960 формирования изображения. Пользовательский интерфейс 971 генерирует сигнал оперирования при обнаружении оперирования пользователем посредством этих составляющих элементов и выводит сгенерированный сигнал оперирования на управляющий модуль 970.
В устройстве 960 формирования изображения, сконфигурированном так, как описано выше, модуль 964 обработки изображения имеет функцию устройства кодирования изображения и устройства декодирования изображения, соответствующих вариантам реализации изобретения, объясненным выше. Соответственно, когда устройство 960 формирования изображения кодирует и декодирует изображения, эффективность кодирования для параметра квантования может быть повышена.
В объяснении этого описания, различные виды информации, такие как разностные параметры квантования, мультиплексируются в поток битов, и передаются, например, от стороны кодирования стороне декодирования. Однако способ для передачи информации не ограничен таким примером. Например, такая информация может не быть мультиплексирована в поток битов, и может быть передана или записана как отдельные данные, ассоциативно связанные с потоком битов. В этом случае, термин "ассоциативно связанный" означает, что изображение, включенное в состав потока битов, (который может представлять собой часть изображения, такую как слой или блок), и информация, корреспондирующая изображению, связываются во время декодирования. Если описать это более конкретно, то эта информация может быть передана через тракт передачи, который является отдельным от изображения (или потока битов). Эта информация может быть записана на другой носитель записи, который отличен от изображения (или потока битов) (или в другую область записи того же самого носителя записи). Кроме того, информация и изображение (или поток битов) могут быть ассоциативно связаны друг с другом в любом заданном элементе, таком как множество кадров, кадр или участок кадра.
Предпочтительные варианты реализации настоящего раскрываемого изобретения были выше описаны подробно со ссылкой на прилагаемые чертежи, но настоящее раскрываемое изобретение не ограничено таким примером. Очевидно, что специалист, который имеет обычную квалификацию в области техники, к которой принадлежит настоящее раскрываемое изобретение, представил бы себе различные виды примеров изменений или модификаций в рамках объема технической концепции, описанной в формуле изобретения, и следует понимать, что они также включены в технический объем настоящего раскрываемого изобретения.
Следует отметить, что эта технология может также быть сконфигурирована нижеследующим образом.
(1) Устройство обработки изображений включает в себя: модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, с использованием множества параметров квантования, установленных для множества окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодировании,
модуль установки разностного параметра квантования для установки разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования,
модуль кодированиям для генерирования потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и
передающий модуль для передачи потока битов, сгенерированного модулем кодирования, и разностного параметра квантования, указанного модулем указания разностного параметра квантования.
(2) Устройство обработки изображений, описанное в (1), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки предсказываемого параметра квантования, посредством вычисления предсказания для множества параметров квантования, установленных для множества окружающих элементов кодирования.
(3) Устройство обработки изображений, описанное в (2), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки предсказываемого параметра квантования в качестве значения медианы множества параметров квантования, установленных для множества окружающих элементов кодирования, посредством вычисления медианы множества параметров квантования, установленных для множества окружающих элементов кодирования.
(4) Устройство обработки изображений, описанное в (3), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью вычисления среднего значения множества параметров квантования, установленных для множества окружающих элементов кодирования, в случае, когда все из множества окружающих элементов кодирования имеют доступное состояние.
(5) Устройство обработки изображений, описанное в (2) по (4), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки предсказываемого параметра квантования в качестве среднего значения множественных параметров квантования, установленных для множества окружающих элементов кодирования, посредством вычисления среднего значения для множества параметров квантования, установленных для множества окружающих элементов кодирования.
(6) Устройство обработки изображений, описанное в (5), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью вычисления среднего значения множества параметров квантования, установленных для множества окружающих элементов кодирования, при определении модулем определения, что один из окружающих элементов кодирования имеет доступное состояние.
(7) Устройство обработки изображений, описанное в (5) или (6), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки предсказываемого параметра квантования, в качестве среднего взвешенного значения множества параметров квантования, установленных для множества окружающих элементов кодирования, посредством вычисления среднего взвешенного значения множества параметров квантования, установленных для множества окружающих элементов кодирования, выбранных модулем выбора.
(8) Устройство обработки изображений, описанное в (7), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки вычисления среднего взвешенного значения, что более высокий весовой коэффициент присваивается окружающему элементу кодирования, имеющему тот же размер, что и текущий элемент кодирования.
(9) Устройство обработки изображений, описанное в (7), в котором модуль установки предсказываемого параметра квантования выполнен с возможностью установки вычисления взвешенного значения так, что более высокий весовой коэффициент присваивается окружающему элементу кодирования, имеющему больший размер.
(10) Устройство обработки изображений, описанное в любом из (7) по (9), в котором, относительно кодируемого элемента кодирования, множество окружающих элементов кодирования включают в себя элемент кодирования, примыкающий к левой стороне текущего элемента кодирования, элемент кодирования, примыкающий к верхней стороне текущего элемента кодирования, и элемент кодирования, примыкающий к верхней левой стороне текущего элемента кодирования.
(11) Устройство обработки изображений, описанное в (10), в котором множество окружающих элементов кодирования дополнительно включает в себя элемент кодирования, примыкающий к верхней правой стороне текущего элемента кодирования, и элемент кодирования, примыкающий к нижней левой стороне текущего элемента кодирования.
(12) Устройство обработки изображений, описанное в любом из (2) по (11), дополнительно включающее в себя модуль определения для определения, имеет ли окружающий элемент кодирования доступное состояние, при этом модуль установки предсказываемого параметра квантования выполнен с возможностью изменения способа вычисления предсказания в соответствии с количеством элементов кодирования, определенных модулем определения, в качестве имеющих доступное состояние.
(13) Устройство обработки изображений, описанное в любом из (1) по (12), дополнительно включающее в себя модуль определения, выполненный с возможностью определения, при установке предсказываемого параметра квантования, имеет ли окружающий элемент кодирования, расположенный в пределах текущего максимального элемента кодирования, доступное состояние, при этом модуль установки предсказываемого параметра квантования выполнен с возможностью установки предсказываемого параметра квантования, с использованием только параметра квантования для элемента кодирования, определенного модулем определения, в качестве имеющего доступное состояние.
(14) Устройство обработки изображений, описанное в (13), в котором в случае, когда текущий элемент кодирования расположен в передней части текущего максимального элемента кодирования, модуль установки предсказываемого параметра квантования выполнен с возможностью установки в качестве предсказываемого параметра квантования, параметра квантования для элемента кодирования, расположенного в конце непосредственно предшествующего максимального элемента кодирования.
(15) Устройство обработки изображений, описанное в любом из (2) по (14), дополнительно включающее в себя модуль установки для установки данных о типе, указывающих тип вычисления предсказания, при этом передающий модуль выполнен с возможностью передачи данных о типе, установленных модулем установки.
(16) Устройство обработки изображений, описанное в (15), в котором модуль установки выполнен с возможностью установки данных о типе для каждого максимального элемента кодирования, являющегося элементом кодирования на самом высоком уровне или слое.
(17) Устройство обработки изображений, описанное в (16), в котором передающий модуль выполнен с возможностью передачи установленных данных о типе модулем установки, в качестве набора параметров потока битов, сгенерированного модулем кодирования.
(18) Способ обработки изображения, предназначенный для устройства обработки изображений, включающий в себя этапы, на которых:
вызывают установку с помощью модуля установки предсказываемого параметра квантования предсказываемого параметра квантования для текущего элемента кодирования, используя множество параметров квантования, установленных для множества окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодировании,
вызывают установку с помощью модуля установки разностного параметра квантования разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, который установлен,
вызывают генерирование с помощью модуля кодирования потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и
вызывают передачу с помощью передающего модуля сгенерированного потока битов и разностного параметра квантования, который установлен.
(19) Устройство обработки изображений включает в себя:
принимающий модуль для приема разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, полученным посредством предсказания из множества параметров квантования, установленных для множества окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования и потока битов, полученного посредством кодирования данных изображения,
модуль установки параметра квантования для установки параметра квантования для текущего элемента кодирования, с использованием разностного параметра квантования, принятого принимающим модулем, и
модуль декодирования для генерирования данных изображения, посредством деквантования потока битов, принятого принимающим модулем, с использованием параметра квантования, установленного модулем установки параметра квантования.
(20) Способ обработки изображения для устройства обработки изображений, включающий в себя этапы, на которых:
вызывают прием с помощью принимающего модуля разностного параметра квантования, указывающего значение разности между параметром квантования, который установлен для текущего элемента кодирования, являющегося объектом обработки данных при декодировании и предсказанным параметром квантования, полученным посредством предсказания из множества параметров квантования, установленных для множества окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования,
вызывают установку с помощью модуля установки параметра квантования параметра квантования для текущего элемента кодирования, с использованием принятого разностного параметра квантования, и
вызывают генерирование с помощью модуля декодирования данных изображения посредством деквантования потока битов с использованием параметра квантования, который установлен.
(21) Устройство обработки изображений включает в себя:
модуль определения для определения, при установке предсказываемого параметра квантования, имеют ли доступное состояние множество окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодировании,
модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, с использованием только параметра квантования элемента кодирования, определенного модулем определения в качестве имеющего доступное состояние, модуль установки разностного параметра квантования для установки разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, установленным модулем установки предсказываемого параметра квантования,
модуль кодирования для генерирования потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и
передающий модуль для передачи потока битов, сгенерированного модулем кодирования и разностного параметра квантования, установленного модулем установки разностного параметра квантования.
(22) Устройство обработки изображений, согласно (21), в котором в случае, когда текущий элемент кодирования расположен в передней части текущего максимального элемента кодирования, модуль установки предсказываемого параметра квантования выполнен с возможностью установки, в качестве предсказываемого параметра квантования, параметра квантования для элемента кодирования, расположенного в конце непосредственно предшествующего максимального элемента кодирования.
(23) Способ обработки изображения для устройства обработки изображений, включает в себя этапы, на которых:
вызывают определение, с помощью модуля определения, при установке предсказываемого параметра квантования, имеет ли доступное состояние множество окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования, являющегося объектом обработки данных при кодировании,
вызывают установку с помощью модуля установки предсказываемого параметра квантования, предсказываемый параметр квантования для текущего элемента кодирования, используя только параметр квантования для элемента кодирования, определенного в качестве имеющего доступное состояние,
вызывают установку с помощью модуля установки разностного параметра квантования, разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, и предсказанным параметром квантования, который установлен,
вызывают генерирование с помощью модуля кодирования, потока битов посредством кодирования данных квантования, полученных посредством квантования данных изображения, и
вызывают передачу с помощью передающего модуля сгенерированного потока битов и разностного параметра квантования, который установлен.
(24) Устройство обработки изображений включает в себя:
принимающий модуль для приема разностного параметра квантования, указывающего значение разности между параметром квантования, установленного для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, представляющим собой значение предсказания параметра квантования и потока битов, полученного посредством кодирования данных изображения,
модуль определения для определения, при установке предсказываемого параметра квантования, имеет ли доступное состояние множество окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования,
модуль установки предсказываемого параметра квантования для установки предсказываемого параметра квантования для текущего элемента кодирования, с использованием только параметра квантования для элемента кодирования, определенного модулем определения определил в качестве имеющего доступное состояние,
модуль генерирования параметра квантования для генерирования параметра квантования для текущего элемента кодирования, посредством суммирования параметра квантования, установленного для текущего элемента кодирования, и разностного параметра квантования, принятого принимающим модулем,
модуль декодирования для декодирования потока битов, принятого принимающим модулем, и
модуль обратного квантования для деквантования коэффициента квантования, полученного при декодировании модулем декодирования потока битов, с использованием параметра квантования, сгенерированного модулем генерирования параметра квантования.
(25) Способ обработки изображения для устройства обработки изображений, включающий в себя этапы, на которых:
вызывают прием с помощью принимающего модуля разностного параметра квантования, указывающего значение разности между параметром квантования, установленным для текущего элемента кодирования, являющегося объектом обработки данных при декодировании, и предсказанным параметром квантования, являющимся значением предсказания параметра квантования и потока битов, полученного посредством кодирования данных изображения,
вызывают определение, с помощью модуля определения, при установке предсказываемого параметра квантования, имеет ли доступное состояние множество окружающих элементов кодирования, расположенных вокруг текущего элемента кодирования,
вызывают установку с помощью модуля установки предсказываемого параметра квантования, предсказываемого параметра квантования для текущего элемента кодирования, с использованием только параметра квантования для элемента кодирования, определенного в качестве имеющего доступное состояние,
вызывают генерирование с помощью модуля генерирования параметра квантования, параметра квантования для текущего элемента кодирования, посредством суммирования параметра квантования, установленного для текущего элемента кодирования и принятого разностного параметра квантования;
вызывают декодирование с помощью модуля декодирования принятого потока битов, и
вызывают выполнение с помощью модуля обратного квантования, деквантования коэффициента квантования, полученного посредством декодирования потока битов, с использованием сгенерированного параметра квантования.
Перечень ссылочных позиций
100 устройство кодирования изображения, 105 модуль квантования, 108 модуль обратного квантования, 121 модуль кодирования параметра квантования, 122
модуль декодирования параметра квантования, 131 модуль вычисления показателя активности, 141 модуль генерирования параметра квантования для области внимания, 142 модуль обработки данных при квантовании, 143 буфер параметров квантования для окружающих областей, 144 буфер разностного параметра квантования, 151 модуль генерирования предсказываемого параметра квантования, 152 модуль генерирования разностного параметра квантования, 200 устройство декодирования изображения, 203 модуль обратного квантования, 221 модуль декодирования параметра квантования, 231 буфер разностного параметра квантования, 232 буфер подвергнувшегося квантованию коэффициента ортогонального преобразования, 233 буфера параметров квантования для окружающих областей, 234 модуль обработки обратного квантования, 241 модуль генерирования предсказываемого параметра квантования, 242 модуль реконструирования параметра квантования для области внимания, 301 модуль определения доступности окружающей области для использования, 302 модуль управления вычислением, 311 модуль определения доступности окружающей области для использования, 312 модуль управления вычислением, 321 модуль определения размера окружающей области, 331
модуль определения размера окружающей области, 351 модуль установки типа данных, 361 буфера данных о типе, 362 модуль управления вычислением, 381 буфер данных о типе, 382 модуль управления вычислением.