способ и устройство для кодирования видеоинформации посредством предсказания движения с использованием произвольной области, а также устройство и способ декодирования видеоинформации посредством предсказания движения с использованием произвольной области
Классы МПК: | H04N7/12 системы, в которых телевизионный сигнал передается по одному каналу или по нескольким параллельным каналам при ширине полосы пропускания каждого канала меньшей, чем ширина спектра телевизионного сигнала G06T7/20 анализ движения G06K9/36 предварительная обработка изображения, те обработка информации изображения без установления его идентичности |
Автор(ы): | ЛИ Сун-Ил (KR), ЧЕОН Мин-Су (KR), ХАН Воо-Дзин (KR) |
Патентообладатель(и): | САМСУНГ ЭЛЕКТРОНИКС КО., ЛТД. (KR) |
Приоритеты: |
подача заявки:
2013-03-29 публикация патента:
27.05.2014 |
Изобретение относится к кодированию и декодированию видеоинформации. Техническим результатом является повышение эффективности кодирования и декодирования изображений за счет того, что элемент кодирования корректируется с учетом характеристик изображения при одновременном увеличении максимального размера элемента кодирования с учетом размера изображения. Способ декодирования видеоинформации включает в себя этап приема и анализа потока битов закодированного изображения. А также согласно способу определяют элементы кодирования, имеющие иерархическую структуру, представляющие собой элементы данных, в которых закодированное изображение декодируется. Кроме того, определяют подэлементы для предсказания элементов кодирования, посредством использования информации, которая указывает формы разделения элементов кодирования, и информации об элементах предсказания элементов кодирования, полученной посредством анализа из принятого потока битов. При этом подэлементы содержат области, полученные разбиением, по меньшей мере, одной из высоты и ширины элементов кодирования согласно произвольным соотношениям. 4 з.п. ф-лы, 21 ил., 1 табл.
Формула изобретения
1. Способ декодирования видеоинформации, содержащий этапы, на которых:
принимают и анализируют поток битов закодированного изображения;
определяют элементы кодирования, имеющие иерархическую структуру, представляющие собой элементы данных, в которых закодированное изображение декодируется, и подэлементы для предсказания элементов кодирования, посредством использования информации, которая указывает формы разделения элементов кодирования, и информации об элементах предсказания элементов кодирования, полученной посредством анализа из принятого потока битов, при этом подэлементы содержат области, полученные разбиением, по меньшей мере, одной из высоты и ширины элементов кодирования согласно произвольным соотношениям; и
восстанавливают изображение посредством выполнения декодирования, включая компенсацию движения, с использованием упомянутых областей для элементов кодирования, используя информацию кодирования, полученную посредством анализа из принятого потока битов,
при этом элементы кодирования, имеющие иерархическую структуру, содержат элементы кодирования с глубинами кодирования, которые иерархически подразделены согласно глубинам кодирования и независимо от соседних элементов кодирования.
2. Способ по п. 1, в котором определение подэлементов содержит этапы, на которых:
определяют тип области и режим предсказания для текущего элемента кодирования среди элементов кодирования с глубинами кодирования на основе информации кодирования о глубине кодирования и режиме кодирования для элементов кодирования, имеющих иерархическую структуру; и
определяют подобласти, полученные посредством разбиения, по меньшей мере, одной из высоты и ширины текущего элемента кодирования согласно произвольным соотношениям, если упомянутые определенные тип области и режим предсказания соответствуют типу области для интерпредсказания, полученной посредством разбиения текущего элемента кодирования согласно произвольным соотношениям.
3. Способ по п. 1, в котором при восстановлении изображения выборочно определяют, следует ли выполнять компенсацию движения, используя области, полученные разбиением элементов кодирования согласно произвольным соотношениям на основе информации, показывающей тип области для интерпредсказания, и области, полученные разбиением элементов кодирования согласно произвольным соотношениям, извлеченным из потока битов.
4. Способ по п. 1, в котором упомянутые области содержат элемент предсказания, имеющий размер, равный размеру текущего элемента кодирования или области, подэлементы, полученные посредством симметричного разбиения, по меньшей мере, одной из высоты и ширины текущего элемента кодирования, и подэлементы, полученные посредством асимметричного разбиения, по меньшей мере, одной из высоты и ширины текущего элемента кодирования.
5. Способ по п. 1, в котором изображение для кодированного изображения закодировано на основе информации о максимальном размере элементов кодирования и глубине элементов кодирования, согласно которой элементы кодирования иерархически подразделены.
Описание изобретения к патенту
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Данное изобретение относится к кодированию и декодированию видеоинформации.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
По мере разработки и поставки аппаратных средств для воспроизведения и запоминания видеоконтента высокого разрешения или высокого качества существует нарастающая потребность в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В обычном видеокодеке, видеоинформация кодируется в соответствии со способом кодирования с ограничением на основе макроблока, имеющего заранее определенный размер.
Существующее интерпредсказание (межкадровое предсказание), проводимое видеокодеком, обеспечивает оценку вектора движения и оценку движения макроблока размером 2N×2N за счет использования областей макроблока, имеющих размеры 2N×2N, 2N×N, N×2N и N×N.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩЕСТВА ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Возможные варианты осуществления обеспечивают кодирование и декодирование видеоинформации с использованием произвольных форм областей.
РЕШЕНИЕ ЗАДАЧИ
В соответствии с аспектом возможного варианта осуществления, предложен способ кодирования видеоинформации, заключающийся в том, что: разделяют видеоданные с получением максимального элемента кодирования; кодируют видеоданные максимального элемента кодирования на основе более глубоких элементов кодирования иерархических структур, при этом более глубокий элемент кодирования меньшей глубины разделяют по мере увеличения глубины в соответствии, по меньшей мере, с одной зоной разделения максимального элемента кодирования, и определяют глубину кодирования, на которой надлежит выводить результат кодирования, включая интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям; и выводят поток битов, включающий в себя кодированные видеоданные, соответствующие глубине кодирования, по меньшей мере, для одной зоны разделения в соответствии с максимальными элементами кодирования и информацией, касающейся глубины кодирования и режимов кодирования.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
В соответствии с возможными вариантами осуществления, можно увеличить эффективность сжатия изображения, поскольку элемент кодирования корректируется с учетом характеристик изображения при одновременном увеличении максимального размера элемента кодирования с учетом размера изображения. Даже если данные изображения имеют высокое разрешение и включают в себя большое количество данных, данные изображения можно эффективно кодировать и восстанавливать за счет использования размера элемента кодирования и режима кодирования, которые адаптивно определяются в соответствии с характеристиками данных изображения, а также за счет использования информации об оптимальном режиме кодирования, получаемом из кодера.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 представлена блок-схема устройства для кодирования видеоинформации в соответствии с возможным вариантом осуществления;
на фиг.2 представлена блок-схема устройства для декодирования видеоинформации в соответствии с возможным вариантом осуществления;
на фиг.3 представлен чертеж для описания концепции элементов кодирования в соответствии с возможным вариантом осуществления;
на фиг.4 представлена блок-схема кодера изображения на основе элементов кодирования в соответствии с возможным вариантом осуществления;
на фиг.5 представлена блок-схема декодера изображения на основе элементов кодирования в соответствии с возможным вариантом осуществления;
на фиг.6 представлен пояснительный чертеж, иллюстрирующий более глубокие элементы кодирования, соответствующие глубинам, и области в соответствии с возможным вариантом осуществления;
на фиг.7 представлен пояснительный чертеж для описания взаимосвязи между элементом кодирования и элементами преобразования в соответствии с возможным вариантом осуществления;
на фиг.8 представлен пояснительный чертеж для описания информации кодирования элементов кодирования, соответствующей кодированной глубине, в соответствии с возможным вариантом осуществления;
на фиг.9 представлен пояснительный чертеж более глубоких элементов кодирования, соответствующих глубинам, в соответствии с возможным вариантом осуществления;
на фиг.10-12 представлены пояснительные чертежи для описания взаимосвязи между элементами кодирования, элементами предсказания и элементами преобразования в соответствии с возможным вариантом осуществления;
на фиг.13 представлен пояснительный чертеж для описания взаимосвязи между элементом кодирования, элементом предсказания или областью и элементом преобразования в соответствии с информацией о режиме кодирования из таблицы 1;
на фиг.14 представлена блок-схема последовательности операций, иллюстрирующая способ кодирования видеоинформации в соответствии с возможным вариантом осуществления;
на фиг.15 представлена блок-схема последовательности операций, иллюстрирующая способ декодирования видеоинформации в соответствии с возможным вариантом осуществления;
на фиг.16 представлена блок-схема устройства для кодирования видеоинформации применительно к интерпредсказанию с использованием разделения на области согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления;
на фиг.17 представлена блок-схема устройства для декодирования видеоинформации применительно к интерпредсказанию с использованием разделения на области согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления;
на фиг.18 представлен пояснительный чертеж возможных областей, получаемых путем разделения элемента кодирования согласно произвольным отношениям в соответствии с возможным вариантом осуществления;
фиг.19 иллюстрирует синтаксическую структуру набора параметров последовательности, включающего в себя информацию, касающуюся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям в соответствии с возможным вариантом осуществления;
на фиг.20 представлена блок-схема, иллюстрирующая способ кодирования видеоинформации применительно к интерпредсказанию с использованием разделения на области согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления; и
на фиг.21 представлена блок-схема, иллюстрирующая способ декодирования видеоинформации применительно к интерпредсказанию с использованием разделения на области согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления.
ЛУЧШИЙ СПОСОБ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом возможного варианта осуществления, предложен способ кодирования видеоинформации, заключающийся в том, что: разделяют видеоданные с получением максимального элемента кодирования; кодируют видеоданные максимального элемента кодирования на основе более глубоких элементов кодирования иерархических структур, при этом элемент кодирования меньшей глубины разделяют по мере увеличения глубины в соответствии, по меньшей мере, с одной зоной разделения максимального элемента кодирования, и определяют глубину кодирования, при которой надлежит выводить результат кодирования, включая интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям; и выводят поток битов, включающий в себя кодированные видеоданные, соответствующие глубине кодирования, по меньшей мере, для одной зоны разделения в соответствии с максимальными элементами кодирования и информацией, касающейся глубины кодирования и режимов кодирования.
Термин «глубина» обозначает количество раз иерархического разделения элемента кодирования, и по мере увеличения глубины, максимальный элемент кодирования можно разделить на более глубокие элементы кодирования в соответствии с глубинами, чтобы получить минимальные элементы кодирования. Глубина увеличивается от меньшей глубины до большей глубины. По мере увеличения глубины, количество раз разделения максимального элемента кодирования увеличивается, а суммарное количество возможных раз разделения максимального элемента кодирования соответствует максимальной глубине. Максимальный размер и максимальную глубину элемента кодирования можно определить заранее.
Определение глубины кодирования может предусматривать избирательное определение того, проводить ли интерпредсказание с использованием тех областей, которые получены путем разделения элемента кодирования согласно произвольным отношениям.
Вывод потока битов может предусматривать включение в него информации, указывающей, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям.
Области, которые получены путем разделения элемента кодирования согласно произвольным отношениям, могут быть областями, которые получены путем разделения высоты и ширины элемента кодирования согласно отношению 1:3 или 3:1.
Максимальный элемент кодирования можно задавать как, по меньшей мере, один из блоков, имеющих размеры 16×16, 32×32, 64×64, 128×128 и 256×256.
Глубину кодирования можно определять как глубину более глубокого элемента кодирования, имеющего наивысшую эффективность кодирования среди результатов кодирования, на основе более глубоких элементов кодирования в соответствии с иерархическими структурами соответствующей зоны разделения, а глубину кодирования можно определять независимо, по меньшей мере, для одной зоны разделения в пределах максимального элемента кодирования.
В соответствии с еще одним аспектом возможного варианта осуществления, предложен способ декодирования видеоинформации, заключающийся в том, что: принимают и синтаксически анализируют поток битов касательно кодированных видеоданных; извлекают кодированные видеоданные в соответствии с максимальными элементами кодирования и информацией, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, из потока битов; и осуществляют декодирование, предусматривающее компенсацию движения с использованием областей, которые получены путем разделения элементов кодирования согласно произвольным отношениям, для элемента кодирования, по меньшей мере, одной глубины кодирования в соответствии с максимальными элементами кодирования на основе информации, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, при этом элементы кодирования, по меньшей мере, одной глубины кодирования определяют как одну из глубин более глубоких элементов кодирования иерархических структур, по меньшей мере, для одной зоны разделения максимального элемента кодирования.
Извлечение кодированных видеоданных может предусматривать дополнительное извлечение информации, указывающей тип области для интерпредсказания, включающий в себя те области, которые получены путем разделения элементов кодирования согласно произвольным отношениям, из потока битов.
Осуществление декодирования может предусматривать избирательное определение того, осуществлять ли компенсацию движения с использованием областей, которые получены путем разделения элементов кодирования согласно произвольным отношениям, на основе информации, указывающей тип области для интерпредсказания, включающий в себя те области, которые получены путем разделения элементов кодирования согласно произвольным отношениям, из потока битов.
В соответствии с еще одним аспектом возможного варианта осуществления, предложено устройство для кодирования видеоинформации, включающее в себя: модуль разделения, дающий максимальный элемент кодирования, предназначенное для разделения видеоданных с получением максимального элемента кодирования; кодер для кодирования видеоданных максимального элемента кодирования на основе более глубоких элементов кодирования иерархических структур, при этом элемент кодирования меньшей глубины разделяется по мере увеличения глубины в соответствии, по меньшей мере, с одной зоной разделения максимального элемента кодирования, и для определения глубины кодирования, при которой надлежит выводить результат кодирования, включая интерпредсказание с использованием областей, полученных путем разделения элементов кодирования согласно произвольным отношениям; и блок вывода, предназначенный для вывода потока битов, включающего в себя кодированные видеоданные, соответствующие глубине кодирования, по меньшей мере, для одной зоны разделения в соответствии с максимальными элементами кодирования и информацией, касающейся глубины кодирования и режимов кодирования.
В соответствии с еще одним аспектом возможного варианта осуществления, предложено устройство для декодирования видеоинформации, включающее в себя: синтаксический анализатор для приема и синтаксического анализа потока битов касательно кодированных видеоданных; модуль извлечения, предназначенный для извлечения кодированных видеоданных в соответствии с максимальными элементами кодирования и информацией, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, из потока битов; и декодер для осуществления декодирования, предусматривающего компенсацию движения с использованием областей, которые получены путем разделения элементов кодирования согласно произвольным отношениям, для элемента кодирования, по меньшей мере, одной глубины кодирования в соответствии с максимальными элементами кодирования на основе информации, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, при этом элементы кодирования, по меньшей мере, одной глубины кодирования определяются как одна из глубин более глубоких элементов кодирования иерархических структур, по меньшей мере, для одной зоны разделения максимального элемента кодирования.
В соответствии с еще одним аспектом возможного варианта осуществления, предложен машиночитаемый носитель записи, имеющий записанную на нем программу для осуществления способа кодирования видеоинформации. В соответствии с еще одним аспектом возможного варианта осуществления, предложен машиночитаемый носитель записи, имеющий записанную на нем программу для осуществления способа декодирования видеоинформации.
ВАРИАНТЫ ИЗОБРЕТЕНИЯ
Ниже, будет приведено более подробное описание возможных вариантов осуществления со ссылками на прилагаемые чертежи, где эти возможные варианты осуществления показаны. В возможных вариантах осуществления, в зависимости от своего контекста, термин «элемент» может относиться или не относиться к единице размера.
В соответствии с возможными вариантами осуществления, термин «элемент кодирования» в нижеследующем тексте означает элемент кодируемых данных, в котором данные изображения кодируются на стороне кодера, и элемент кодированных данных, в котором кодированные данные изображения декодируются на стороне декодера. Кроме того, термин «кодированная глубина» означает глубину, на которой кодируется элемент кодирования.
Термин «изображение» в нижеследующем тексте может обозначать фотографическое изображение для видеоинформации или движущееся изображение, т.е. саму видеоинформацию.
Кодирование и декодирование видеоинформации на основе элемента пространственно-иерархических данных в соответствии с возможным вариантом осуществления будут описаны со ссылками на фиг.1-15, а кодирование и декодирование видеоинформации посредством интерпредсказания с использованием областей, деление на которые проведено согласно произвольному отношению в соответствии с возможным вариантом осуществления, будут описаны со ссылками на фиг.16-21.
На фиг.1 представлена блок-схема устройства 100 для кодирования видеоинформации в соответствии с возможным вариантом осуществления.
Устройство 100 для кодирования видеоинформации включает в себя модуль 110 разделения, дающий максимальный элемент кодирования, модуль 120 определения элементов кодирования и блок 130 вывода.
Средство 110 разделения, дающее максимальный элемент кодирования, может разделять текущий кадр на основе максимального элемента кодирования для текущего кадра изображения. Если текущий кадр больше, чем максимальный элемент кодирования, данные изображения текущего кадра можно разделить с получением, по меньшей мере, одного максимального элемента кодирования. Максимальный элемент кодирования в соответствии с возможным вариантом осуществления может быть элементом данных, имеющим размер 32×32, 64×64, 128×128, 256×256, и т.д., при этом форма элемента данных представляет собой квадрат, имеющий ширину и высоту, выражаемые величинами, которые представляют собой степени двойки. Данные изображения можно выводить в модуль 120 определения элементов кодирования в соответствии, по меньшей мере, с одним максимальным элементом кодирования.
Элемент кодирования в соответствии с возможным вариантом осуществления можно характеризовать максимальным размером и глубиной. Термин «глубина» означает количество раз пространственного разделения для получения данного элемента кодирования из максимального элемента кодирования, и по мере увеличения или нарастания глубины можно получать более глубокие элементы кодирования путем разделения в соответствии с глубинами от максимального элемента кодирования до минимального элемента кодирования. Глубина максимального элемента кодирования является наименьшей глубиной, а глубина минимального элемента кодирования является наибольшей глубиной. Поскольку размер элемента кодирования, соответствующий каждой глубине, уменьшается по мере увеличения глубины максимального элемента кодирования, элемент кодирования, соответствующий меньшей глубине, может включать в себя множество элементов кодирования, соответствующих бóльшим глубинам.
Как описано выше, данные изображения текущего кадра разделяют с получением максимальных элементов кодирования в соответствии с максимальным размером элемента кодирования, а каждый из максимальных элементов кодирования может включать в себя более глубокие элементы кодирования, разделение на которые осуществляется в соответствии с глубинами. Поскольку максимальный элемент кодирования в соответствии с возможным вариантом осуществления разделяют в соответствии с глубинами, данные изображения в пространственной области, включенные в максимальный элемент кодирования, можно иерархически классифицировать в соответствии с глубинами.
Максимальную глубину и максимальный размер элемента кодирования, которые ограничивают суммарное количество раз иерархического разделения высоты и ширины максимального элемента кодирования, можно определять заранее.
Модуль 120 определения элементов кодирования кодирует, по меньшей мере, одну зону разделения, которая получена путем разделения зоны максимального элемента кодирования в соответствии с глубинами, и определяет глубину для вывода заключительных кодированных данных изображения в соответствии с упомянутой, по меньшей мере, одной зоной разделения. Иными словами, модуль 120 определения элементов кодирования определяет кодированную глубину, кодируя данные изображения в более глубоких элементах кодирования, соответствующих глубинам, в соответствии с максимальным элементом кодирования текущего кадра, и выбирают глубину, имеющую наименьшую ошибку кодирования. Таким образом, в конце концов, происходит вывод кодированных данных изображения, соответствующих определенной кодированной глубине. Кроме того, элементы кодирования, соответствующие кодированной глубине, можно рассматривать как кодированные элементы кодирования.
Определенная кодированная глубина и кодированные данные изображения, соответствующие определенной кодированной глубине, выдаются в блок 130 вывода.
Данные изображения в максимальном элементе кодирования кодируются на основе более глубоких элементов кодирования, соответствующих, по меньшей мере, одной глубине, равной максимальной глубине или меньшей, а результаты кодирования данных изображения сравниваются на основе каждого из более глубоких элементов кодирования. Глубину, имеющую наименьшую ошибку кодирования, можно выбрать после сравнения ошибок кодирования более глубоких элементов кодирования. Для каждого максимального элемента кодирования можно выбрать, по меньшей мере, одну кодированную глубину.
Размер максимального элемента кодирования разделяют по мере иерархического разделения элемента кодирования в соответствии с глубинами и по мере увеличения количества элементов кодирования. Кроме того, даже если элементы кодирования соответствуют одной и той же глубине в одном максимальном элементе кодирования, все равно проводится определение того, разбивать ли каждый из элементов кодирования, соответствующих одной и той же глубине, для достижения большей глубины, путем измерения ошибки кодирования данных изображения каждого элемента изображения в отдельности. Соответственно, даже когда данные изображения включены в один максимальный элемент кодирования, эти данные изображения разделяют на зоны в соответствии с глубинами, а ошибки кодирования могут отличаться в соответствии с зонами в упомянутом одном максимальном элементе кодирования, и поэтому кодированные глубины могут отличаться в соответствии с зонами в данных изображения. Таким образом, в одном максимальном элементе кодирования можно определить одну или более кодированных глубин, а данные изображения максимального элемента кодирования можно делить в соответствии с элементами кодирования, по меньшей мере, одной кодированной глубины.
Соответственно, модуль 120 определения элементов кодирования может определять элементы кодирования, имеющие древовидную структуру и включенные в максимальный элемент кодирования. Термин «элементы кодирования, имеющие древовидную структуру» в соответствии с возможным вариантом осуществления включает в себя элементы кодирования, соответствующие глубине, определяемой как являющуюся кодированной глубиной, из числа всех более глубоких элементов кодирования, включенных в максимальный элемент кодирования. Элемент кодирования кодированной глубины может быть иерархически определен в соответствии с глубинами в одной и той же зоне максимального элемента кодирования, и может быть независимо определен в разных зонах. Аналогичным образом, кодированную глубину в текущей зоне можно определять независимо от кодированной глубины в другой зоне.
Максимальная глубина в соответствии с возможным вариантом осуществления является показателем, связанным с количеством раз разделения с переходом от максимального элемента кодирования к минимальному элементу кодирования, т.е. с количеством раз разделения максимального элемента кодирования с получением минимального элемента кодирования. Первая максимальная глубина, соответствующая возможному варианту осуществления, может обозначать суммарное количество раз разделения с переходом от максимального элемента кодирования к минимальному элементу кодирования. Вторая максимальная глубина, соответствующая возможному варианту осуществления, может обозначать суммарное количество уровней глубины от максимального элемента кодирования до минимального элемента кодирования. Например, когда глубина максимального элемента кодирования равна 0, глубину элемента кодирования, для получения которого максимальный элемент кодирования разделяют один раз, можно задать равной 1, а глубину элемента кодирования, для получения которого максимальный элемент кодирования разделяют дважды, можно задать равной 2. В данном случае, если минимальный элемент кодирования представляет собой элемент кодирования, для получения которого максимальный элемент кодирования разделяют четыре раза, существуют 5 уровней глубины - 0, 1, 2, 3 и 4, и поэтому первую максимальную глубину можно задать равной 4, а вторую максимальную глубину можно задать равной 5.
Кодирование с предсказанием и преобразование можно проводить в соответствии с максимальным элементом кодирования. Кодирование с предсказанием и преобразование также проводятся на основе более глубоких элементов кодирования, соответствующих глубине, равной максимальной глубине, или соответствующих глубинам, меньшим чем она, в соответствии с максимальным элементом кодирования. Преобразование можно проводить в соответствии со способом ортогонального преобразования или целочисленного преобразования.
Поскольку количество более глубоких элементов кодирования увеличивается всякий раз, когда максимальный элемент кодирования разделяют в соответствии с глубинами, кодирование, включая кодирование с предсказанием, и преобразование проводят на всех более глубоких элементах кодирования, генерируемых по мере увеличения глубины. Для удобства описания, кодирование с предсказанием и преобразование теперь будут описаны на основе элемента кодирования текущей глубины в максимальном элементе кодирования.
Устройство 100 для кодирования видеоинформации может изменяемо выбирать размер ли форму элемента данных для кодирования данных изображения. Чтобы закодировать данные изображения, проводят операции, такие как кодирование с предсказанием, преобразование, энтропийное кодирование, при этом для всех операций можно использовать один и тот же элемент данных, или для каждой операции можно использовать разные элементы данных.
Например, устройство 100 для кодирования видеоинформации может выбирать не только элемент кодирования с целью кодирования данных изображения, но и элемент данных, отличающийся от элемента кодирования, чтобы осуществить кодирование с предсказанием на упомянутых данных изображения в упомянутом элементе кодирования.
Чтобы провести кодирование с предсказанием в максимальном элементе кодирования, кодирование с предсказанием можно провести на основе элемента кодирования, соответствующего кодированной глубине, т.е. на основе элемента кодирования, который больше не разделяется на элементы кодирования, соответствующие большей глубине. В нижеследующем тексте, элемент кодирования, который больше не разделяется и становится базисным элементом для кодирования с предсказанием, будет теперь именоваться «элементом предсказания». Область, получаемая путем разделения элемента предсказания, может включать в себя элемент предсказания или элемент данных, полученный путем разделения, по меньшей мере, одной из высоты и ширины элемента предсказания.
Например, когда элемент кодирования размером 2N×2N (где N - положительное целое число) больше не разделяется и становится элементом предсказания размером 2N×2N, размер области может составлять 2N×2N, 2N×N, N×2N или N×N. Примеры типа области включают в себя симметричные области, которые получены путем симметричного разделения высоты или ширины элемента предсказания, области, которые получены путем асимметричного разделения высоты или ширины элемента предсказания, такие как 1:n или n:1, области, которые получены путем геометрического разделения элемента предсказания, и области, имеющие произвольные формы.
Режимом предсказания элемента предсказания может быть, по меньшей мере, один из интра-режима (режима внутрикадрового предсказания), интер-режима (режима межкадрового предсказания) и режима пропуска. Например, интра-режим или интер-режим можно осуществлять на области размером 2N×2N, 2N×N, N×2N или N×N. Кроме того, режим пропуска можно осуществлять только на области размером 2N×2N. Кодирование осуществляют независимо на одном элементе предсказания в элементе кодирования, тем самым выбирая режим предсказания, имеющий наименьшую ошибку кодирования.
Устройство 100 для кодирования видеоинформации также может проводить преобразование на данных изображения в элементе кодирования на основе не только элемента кодирования, предназначенного для кодирования данных изображения, но и на основе элемента данных, который отличается от этого элемента кодирования.
Чтобы провести преобразование в элементе кодирования, это преобразование можно осуществить на основе элемента данных, имеющего размер, меньший, чем элемент кодирования или равный ему. Например, элемент данных для преобразования может включать в себя элемент данных для интра-режима и элемент данных для интер-режима.
Элемент данных, используемый в качестве основы для преобразования, будет теперь именоваться «элементом преобразования». В элементе преобразования также можно задать глубину преобразования, указывающую количество раз разделения для достижения элемента преобразования путем разделения высоты и ширины элемента кодирования. Например, в текущем элементе кодирования размером 2N×2N, глубина преобразования может быть равна 0, когда размер элемента преобразования также составляет 2N×2N, может быть равна 1, когда каждая из высоты и ширины текущего элемента кодирования разделена на две равные части, что в сумме дает разделение на 4^1 элементов преобразования, и таким образом получается, что размер элемента преобразования составляет N×N, и глубина преобразования может быть равна 2, когда каждая из высоты и ширины текущего элемента кодирования разделена на четыре равные части, что в сумме дает разделение на 4^2 элементов преобразования, и таким образом получается, что размер элемента преобразования составляет (N/2)×(N/2). Например, элемент преобразования можно задать в соответствии с иерархической древовидной структурой, в которой элемент преобразования меньшей глубины преобразования разделяется на четыре элемента преобразования большей глубины преобразования в соответствии с иерархическими характеристиками глубины преобразования.
Аналогично элементу кодирования, элемент преобразования в элементе кодирования можно рекурсивно разделять на зоны меньшего размера, так что элемент преобразования можно определять независимо в элементах зон. Таким образом, остальные данные в элементе кодирования можно делить в соответствии с преобразованием, имеющим древовидную структуру, соответствующую глубинам преобразования.
Информация кодирования, соответствующая элементам кодирования, соответствующим кодированной глубине, требует не только информации о кодированной глубине, но и также информации, относящейся к кодированию с предсказанием и преобразованию. Соответственно, модуль 120 определения элементов кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но и определяет тип области в элементе предсказания, режим предсказания, соответствующий элементам предсказания, и размер элемента преобразования, предусматриваемый для преобразования.
Ниже, со ссылками на фиг.3-12, будет приведено более подробное описание элементов кодирования, соответствующих древовидной структуре в максимальном элементе кодирования, и способа определения области, соответствующего возможным вариантам осуществления.
Модуль 120 определения элементов кодирования может измерять ошибку кодирования более глубоких элементов кодирования в соответствии с глубинами путем использования оптимизации искажений в зависимости от скорости передачи на основе множителей Лагранжа.
Блок 130 вывода осуществляет вывод данных изображения максимального элемента кодирования, которые закодированы на основе упомянутой, по меньшей мере, одной кодированной глубины, определенной модулем 120 определения элементов кодирования, и информации о режиме кодирования, соответствующей кодированной глубине, в потоках битов.
Кодированные данные изображения могут быть получены путем кодирования остальных данных изображения.
Информация о режиме кодирования, соответствующая кодированной глубине, может включать в себя информацию о кодированной глубине, о типе области в элементе предсказания, режим предсказания и размер элемента преобразования.
Информация о кодированной глубине может быть определена путем использования информации разделения в соответствии с глубинами, которая указывает, осуществляется ли кодирование на элементах кодирования большей глубины вместо текущей глубины. Если текущая глубина текущего элемента кодирования является кодированной глубиной, то происходит кодирование и вывод данных изображения в текущем элементе кодирования, и поэтому информация разделения может быть определена не для разделения текущего элемента кодирования с достижением большей глубины. В альтернативном варианте, если текущая глубина текущего элемента кодирования не является кодированной глубиной, то кодирование проводят на элементе кодирования большей глубины, и поэтому информация разделения может быть определена для разделения текущего элемента кодирования с целью получения элементов кодирования большей глубины.
Если текущая глубина не является кодированной глубиной, то кодирование проводят на элементе кодирования, который разделен с получением, по меньшей мере, одного элемента кодирования большей глубины. Поскольку, по меньшей мере, один элемент кодирования большей глубины существует в одном элементе кодирования текущей глубины, кодирование проводят повторно на каждом элементе кодирования большей глубины, и поэтому кодирование можно проводить рекурсивно для элементов кодирования, имеющих одну и ту же глубину.
Поскольку элементы кодирования, имеющие древовидную структуру, определяются для одного максимального элемента кодирования, а информация, по меньшей мере, об одном режиме кодирования определяется для элемента кодирования кодированной глубины, информация, по меньшей мере, об одном режиме кодирования может быть определена для одного максимального элемента кодирования. Кроме того, кодированная глубина данных изображения максимального элемента кодирования может быть разной в соответствии с ячейками, поскольку данные изображения иерархически разделяются в соответствии с глубинами, и поэтому для данных изображения можно задавать информацию о кодированной глубине и режиме кодирования.
Соответственно, блок 130 вывода может присваивать информацию кодирования о соответствующей кодированной глубине и режиме кодирования, по меньшей мере, одному из элемента кодирования, элемента предсказания и минимального элемента, включенного в максимальный элемент кодирования.
Минимальный элемент в соответствии с возможным вариантом осуществления представляет собой прямоугольный элемент данных, получаемый путем разделения минимального элемента кодирования, составляющего наибольшую глубину, на 4. В альтернативном варианте, минимальный элемент может быть максимальным прямоугольным элементом данных, который может быть включен во все элементы кодирования, элементы предсказания, элементы области и элементы преобразования, включенные в максимальный элемент кодирования.
Например, информацию кодирования, выводимую посредством блока 130 вывода, можно подразделить на информацию кодирования, соответствующую элементам кодирования, и информацию кодирования, соответствующую элементам предсказания. Информация кодирования, соответствующая элементам кодирования, может включать в себя информацию о режиме предсказания и о размере областей. Информация кодирования, соответствующая элементам предсказания, может включать в себя информацию о направлении оценки интер-режима, о показателе опорного изображения интер-режима, о векторе движения, о составляющей цветности интра-режима и о способе интерполяции интра-режима. Кроме того, в набор параметров последовательности (НПП (SPS)) или заголовок потока битов может быть включена информация о максимальном размере элемента кодирования, определенная в соответствии с кадрами, фрагментами или GOP, и информация о максимальной глубине.
В устройстве 100 для кодирования видеоинформации, более глубокий элемент кодирования может быть элементом кодирования, получаемым путем деления высоты или ширины элемента кодирования меньшей глубины, который находится одним уровнем выше, на два. Иными словами, когда размер элемента кодирования текущей глубины составляет 2N×2N, размер элемента кодирования большей глубины составляет N×N. Кроме того, элемент кодирования текущей глубины, имеющий размер 2N×2N, может включать в себя максимум 4 элемента кодирования большей глубины.
Соответственно, устройство 100 для кодирования видеоинформации может формировать элементы кодирования, имеющие древовидную структуру, путем определения элементов кодирования, имеющих оптимальную форму и оптимальный размер, для каждого максимального элемента кодирования на основе размера максимального элемента кодирования и максимальной глубины, определенных с учетом характеристик текущего кадра. Кроме того, поскольку кодирование можно проводить на каждом максимальном элементе кодирования путем использования любого из различных режимов предсказания и преобразований, оптимальный режим кодирования можно определить с учетом характеристик элемента кодирования для различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение и большое количество данных кодируют в обычном макроблоке, то количество макроблоков на кадр излишне увеличивается. Соответственно, количество порций сжатой информации, генерируемой для каждого макроблока, увеличивается, и поэтому передать сжатую информацию трудно, а эффективность сжатия данных уменьшается. Однако эффективность сжатия изображения можно увеличить за счет использования устройства 100 для кодирования видеоинформации, поскольку элемент кодирования корректируется с учетом характеристик изображения при одновременном увеличении максимального размера элемента кодирования с учетом размера изображения.
На фиг.2 представлена блок-схема устройства 200 декодирования видеоинформации в соответствии с возможным вариантом осуществления.
Устройство 200 декодирования видеоинформации включает в себя приемник 210, модуль 220 извлечения данных изображения и информации кодирования, и декодер 230 данных изображения. Определения различных терминов, таких как «элемент кодирования», «глубина», «элемент предсказания», «элемент преобразования» и «информация о различных режимах кодирования», для различных операций устройства 200 декодирования видеоинформации идентичны тем, которые описаны со ссылками на фиг.1 и устройство 100 для кодирования видеоинформации.
Приемник 210 принимает и синтаксически анализирует поток битов кодированной видеоинформации. Модуль 220 извлечения данных изображения и информации кодирования извлекает данные изображения для каждого элемента кодирования из синтаксически анализируемого потока битов, в котором элементы кодирования имеют древовидную структуру, в соответствии с каждым максимальным элементом кодирования, и выводит извлеченные данные изображения в декодер 230 данных изображения. Модуль 220 извлечения данных изображения и информации кодирования может извлекать информацию о максимальном размере элемента кодирования текущего кадра из заголовка около текущего кадра или НПП.
Кроме того, модуль 220 извлечения данных изображения и информации кодирования извлекает информацию о кодированной глубине и режиме кодирования для элементов кодирования, имеющих древовидную структуру, в соответствии с каждым максимальным элементом кодирования из синтаксически анализируемого потока битов. Извлеченная информация о кодированной глубине и режиме кодирования выводится в декодер 230 данных изображения. Иными словами, данные изображения в потоке битов разделяются с получением максимального элемента кодирования, так что декодер 230 данных изображения декодирует данные изображения для каждого максимального элемента кодирования.
Информацию о кодированной глубине и режиме кодирования в соответствии с максимальным элементом кодирования можно задавать для информации, по меньшей мере, об одном элементе кодирования, соответствующем кодированной глубине, а информация о режиме кодирования может включать в себя информацию о типе области соответствующего элемента кодирования, соответствующего кодированной глубине, о режиме предсказания и размере элемента преобразования. Кроме того, в качестве информации о кодированной глубине можно извлекать информацию разделения в соответствии с глубинами.
Информация о кодированной глубине и режиме кодирования в соответствии с каждым максимальным элементом кодирования, извлекаемая модулем 220 извлечения данных изображения и информации кодирования, представляет собой информацию о кодированной глубине и режиме кодирования, определяемую для генерирования минимальной ошибки кодирования, когда кодер, такой как устройство 100 для кодирования видеоинформации, повторно осуществляет кодирование для каждого более глубокого элемента кодирования в соответствии с глубинами, соответствующими каждому максимальному элементу кодирования. Соответственно, устройство 200 декодирования видеоинформации может восстанавливать изображение путем декодирования данных изображения в соответствии с кодированной глубиной и режимом кодирования, в котором генерируется минимальная ошибка кодирования.
Поскольку информация кодирования о кодированной глубине и режиме кодирования может быть присвоена заранее определенному элементу данных из числа соответствующих элемента кодирования, элемента предсказания и минимального элемента, модуль 220 извлечения данных изображения и информации кодирования может извлекать информацию о кодированной глубине и режиме кодирования в соответствии с заранее определенными элементами данных. Заранее определенные элементы данных, которым присвоена одна и та же информация о кодированной глубине и режиме кодирования, могут быть получены как элементы данных, включенные в один и тот же максимальный элемент кодирования.
Декодер 230 данных изображения восстанавливает текущий кадр путем декодирования данных изображения в каждом максимальном элементе кодирования на основе информации о кодированной глубине и режиме кодирования в соответствии с максимальными элементами кодирования. Иными словами, декодер 230 данных изображения может декодировать кодированные данные изображения на основе извлеченной информации о типе области, режиме предсказания и элементе преобразования для каждого элемента кодирования из числа элементов кодирования, имеющих древовидную структуру, заключенных в каждом максимальном элементе кодирования. Процесс декодирования может предусматривать предсказание, включающее в себя интрапредсказание (внутрикадровое предсказание) и концентрацию движения, и обратное преобразование. Обратное преобразование можно проводить в соответствии со способом обратного ортогонального преобразования или обратного целочисленного преобразования.
Декодер 230 данных изображения может осуществлять интрапредсказание или компенсацию движения в соответствии с областью и режимом предсказания каждого элемента кодирования на основе информации о типе области и режиме предсказания элемента предсказания элемента кодирования в соответствии с кодированными глубинами.
Кроме того, декодер 230 данных изображения может осуществлять обратное преобразование в соответствии с каждым элементом преобразования в элементе кодирования на основе информации о размере элемента преобразования элемента кодирования в соответствии с кодированными глубинами, чтобы осуществить обратное преобразование в соответствии с максимальными элементами кодирования.
Декодер 230 данных изображения может определять, по меньшей мере, одну кодированную глубину текущего максимального элемента кодирования путем использования информации разделения в соответствии с глубинами. Если эта информация разделения указывает, что данные изображения больше не разделяются на текущей глубине, то текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные, по меньшей мере, одного элемента кодирования в соответствии с каждой кодированной глубиной в текущем максимальном элементе кодирования путем использования информации о типе области элемента предсказания, режиме предсказания и размере элемента преобразования для каждого элемента кодирования, соответствующего кодированной глубине, и выводить данные изображения текущего максимального элемента кодирования.
Иными словами, элементы данных, содержащие информацию кодирования, включающую в себя информацию разделения, можно собирать путем наблюдения за набором информации кодирования, присвоенным заранее определенному элементу данных из числа элемента кодирования, элемента предсказания и минимального элемента, а собранные элементы данных можно рассматривать как элемент данных, подлежащих кодированию декодером 230 данных изображения в одном и том же режиме кодирования.
Устройство 200 декодирования видеоинформации может получать информацию, по меньшей мере, об одном элементе кодирования, который генерирует минимальную ошибку кодирования, когда кодирование рекурсивно проводится для каждого максимального элемента кодирования, и может использовать эту информацию для декодирования текущего кадра. Иными словами, можно декодировать элементы кодирования, имеющие древовидную структуру, определенные как являющиеся оптимальными элементами кодирования в каждом максимальном элементе кодирования. Кроме того, максимальный размер элемента кодирования определяется с учетом разрешения и количества данных изображения.
Соответственно, даже если данные изображения имеют высокое разрешение и большое количество данных, эти данные изображения можно эффективно кодировать и восстанавливать путем использования размера элемента кодирования и режима кодирования, которые адаптивно определены в соответствии с характеристиками данных изображения, и путем использования информации об оптимальном режиме кодирования, принимаемой из кодера.
Теперь, со ссылками на фиг.3-13, будет описан способ определения элементов кодирования, имеющих древовидную структуру, элемента предсказания и элемента преобразования в соответствии с возможным вариантом осуществления.
На фиг.3 представлен пояснительный чертеж для описания концепции элементов кодирования в соответствии с возможным вариантом осуществления.
Размер элемента кодирования можно выразить в виде «ширина × высота», и он может составлять 64×64, 32×32, 16×16 и 8×8. Элемент кодирования размером 64×64 можно разделять на области размером 64×64, 64×32, 32×64 или 32×32, а элемент кодирования размером 32×32 можно разделять на области размером 32×32, 32×16, 16×32 или 16×16; элемент кодирования размером 16×16 можно разделять на области размером 16×16, 16×8, 8×16 или 8×8, а элемент кодирования размером 8×8 можно разделять на области размером 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310 разрешение составляет 1920×1080, максимальный размер элемента кодирования составляет 64×64, а максимальная глубина составляет 2. В видеоданных 320 разрешение составляет 1920×1080, максимальный размер элемента кодирования составляет 64×64, а максимальная глубина составляет 3. В видеоданных 330 разрешение составляет 352×288, максимальный размер элемента кодирования составляет 16×16, а максимальная глубина составляет 1. Максимальная глубина, показанная на фиг.3, обозначает суммарное количество разделений от максимального элемента кодирования до минимального элемента декодирования.
Если разрешение является высоким или количество данных является большим, максимальный размер элемента кодирования может оказаться настолько большим, что не только увеличится эффективность кодирования, но и окажется возможным точное отражение характеристик изображения. Соответственно, максимальный размер элемента кодирования видеоданных 310 и 320, имеющих большее разрешение, чем видеоданные 330, может составлять 64.
Поскольку максимальная глубина видеоданных 310 составляет 2, элементы 315 кодирования видеоданных 310 могут включать в себя максимальный элемент кодирования, имеющий размер вдоль длинной оси, составляющий 64, и элементы кодирования, имеющие размеры вдоль длинных осей, составляющие 32 и 16, поскольку глубины увеличиваются до двух уровней путем двукратного разделения максимального элемента кодирования. Кстати, поскольку максимальная глубина видеоданных 330 составляет 1, элементы 335 кодирования видеоданных 330 могут включать в себя максимальный элемент кодирования, имеющий размер вдоль длинной оси, составляющий 16, и элементы кодирования, имеющие размер вдоль длинной оси, составляющий 8, поскольку глубины увеличиваются до одного уровня путем однократного разделения максимального элемента кодирования.
Поскольку максимальная глубина видеоданных 320 составляет 3, элементы 325 кодирования видеоданных 320 могут включать в себя максимальный элемент кодирования, имеющий размер вдоль длинной оси, составляющий 64, и элементы кодирования, имеющие размеры вдоль длинных осей, составляющие 32, 16 и 8, поскольку глубины увеличиваются до 3 уровней путем трехкратного разделения максимального элемента кодирования. Поскольку глубина увеличивается, можно точно выражать подробную информацию.
На фиг.4 представлена блок-схема кодера 400 изображения на основе элементов кодирования в соответствии с возможным вариантом осуществления.
Кодер 400 изображения осуществляет операции модуля 120 определения элементов кодирования устройства 100 для кодирования видеоинформации, чтобы декодировать данные изображения. Иными словами, модуль 410 интрапредсказания осуществляет интрапредсказание в интра-режиме на элементах кодирования из числа включенных в текущий кадр 405, а модуль 420 оценки движения и модуль 425 компенсации движения осуществляют интер-оценку (межкадровую оценку) и компенсацию движения в интер-режиме на элементах кодирования из числа включенных в текущий кадр 405 и опорный кадр 495.
Данные, выводимые из модуля 410 интрапредсказания, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся как квантованный коэффициент преобразования с помощью модуля 430 преобразования и модуля 440 квантования. Квантованный коэффициент преобразования восстанавливают как данные в пространственной области с помощью модуля 460 обратного квантования и модуля 470 обратного преобразования, а восстановленные данные в пространственной области выводятся как опорный кадр 495 после постобработки с помощью блока 480 деблокировки и блока 490 фильтрации в цепи обратной связи. Квантованный коэффициент преобразования можно выводить как поток 455 битов с помощью энтропийного кодера 450.
Чтобы можно было применить кодер 400 изображения в устройстве 100 для кодирования видеоинформации, все компоненты кодера 400 изображения, т.е. модуль 410 интрапредсказания, модуль 420 оценки движения, модуль 425 компенсации движения, модуль 430 преобразования, модуль 440 квантования, энтропийный кодер 450, модуль 460 обратного квантования, модуль 470 обратного преобразования, блок 480 деблокировки и блок 490 фильтрации в цепи обратной связи, осуществляют операции на основе каждого элемента кодирования из числа элементов кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждого максимального элемента кодирования.
В частности, модуль 410 интрапредсказания, модуль 420 оценки движения и модуль 425 компенсации движения определяют области и режим предсказания каждого элемента кодирования из числа элементов кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущего максимального элемента кодирования, а модуль 430 преобразования определяет размер элемента преобразования в каждом элементе кодирования из числа элементов кодирования, имеющих древовидную структуру.
На фиг.5 представлена блок-схема декодера 500 изображения на основе элементов кодирования в соответствии с возможным вариантом осуществления.
Модуль 510 синтаксического анализа синтаксически анализирует данные изображения, подлежащие декодированию, и информацию о кодировании, требуемую для декодирования, из потока 505 битов. Декодированные данные изображения выводятся как данные, подвергнутые обратному квантованию, с помощью энтропийного декодера 520 и модуля 530 обратного квантования, и эти данные, подвергнутые обратному квантованию, восстанавливаются с получением данных изображения в пространственной области с помощью модуля 540 обратного преобразования.
Модуль 550 интрапредсказания осуществляет интрапредсказание на элементах кодирования в интра-режиме по отношению к данным изображения в пространственной области, а модуль 560 компенсации движения осуществляет компенсацию движения на элементах кодирования в интер-режиме путем использования опорного кадра 585.
Данные изображения в пространственной области, которые прошли через модуль 550 интрапредсказания и модуль 560 компенсации движения, можно выводить как восстановленный кадр 595 после постобработки с помощью блока 570 деблокировки и блока 580 фильтрации в контуре обратной связи. Кроме того, данные изображения, подвергнутые постобработке с помощью блока 570 деблокировки и блока 580 фильтрации в контуре обратной связи, можно выводить как опорный кадр 585.
Чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видеоинформации, декодер 500 изображения может проводить операции, которые проводятся после модуля 510 синтаксического анализа.
Чтобы можно было применить декодер 500 изображения в устройстве 200 для декодирования видеоинформации, все компоненты декодера 500 изображения, т.е. модуль 510 синтаксического анализа, энтропийный декодер 520, модуль 530 обратного квантования, модуль 540 обратного преобразования, модуль 550 интрапредсказания, модуль 560 компенсации движения, блок 570 деблокировки и блок 580 фильтрации в цепи обратной связи проводят операции на основе элементов кодирования, имеющих древовидную структуру, для каждого максимального элемента кодирования.
В частности, модуль 550 интрапредсказания и модуль 560 компенсации движения проводят операции на основе областей и режима предсказания для каждого из элементов кодирования, имеющих древовидную структуру, модуль 540 обратного преобразования проводит операции на основе размера элемента преобразования для каждого элемента кодирования.
На фиг.6 представлен пояснительный чертеж, иллюстрирующий более глубокие элементы кодирования, соответствующие глубинам, и области в соответствии с возможным вариантом осуществления.
Устройство 100 для кодирования видеоинформации и устройство 200 декодирования видеоинформации используют иерархические элементы кодирования с учетом характеристик изображения. Максимальную высоту, максимальную ширину и максимальную глубину элементов кодирования можно адаптивно определять в соответствии с характеристиками изображения, или пользователь может задавать их по-другому. Размеры более глубоких элементов кодирования в соответствии с глубинами можно определять в соответствии с заранее определенным максимальным размером элемента кодирования.
В иерархической структуре 600 элементов кодирования в соответствии с возможным вариантом осуществления, каждая из максимальной высоты и максимальной ширины элементов кодирования составляет 64, а максимальная глубина составляет 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, каждую из высоты и ширины более глубокого элемента кодирования разделяют. Кроме того, элемент предсказания и области, которые являются базами для кодирования с предсказанием каждого более глубокого элемента кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Иными словами, элемент 610 кодирования представляет собой максимальный элемент кодирования в иерархической структуре 600, причем его глубина составляет 0, а размер, т.е. произведение высоты на ширину, составляет 64×64. Глубина увеличивается вдоль вертикальной оси, и присутствуют элемент 620 кодирования, имеющий размер 32×32 и глубину 1, элемент 630 кодирования, имеющий размер 16×16 и глубину 2, элемент 640 кодирования, имеющий размер 8×8 и глубину 3, и элемент 650 кодирования, имеющий размер 4×4 и глубину 4. Элемент 650 кодирования, имеющий размер 4×4 и глубину 4, представляет собой минимальный элемент кодирования.
Элемент предсказания и области элемента кодирования расположены вдоль горизонтальной оси в соответствии с каждой глубиной. Иными словами, если элемент 610 кодирования, имеющий размер 64×64 и глубину 0, представляет собой элемент предсказания, то этот элемент предсказания можно разделить на области, заключенные в элементе 610 кодирования, т.е. область 610, имеющую размер 64×64, области 612, имеющие размер 64×32, области 614, имеющие размер 32×64, или области 616, имеющие размер 32×32.
Аналогично, элемент предсказания элемента 620 кодирования, имеющего размер 32×32 и глубину 1, можно разделить на области, заключенные в элементе 620 кодирования, т.е. область 620, имеющую размер 32×32, области 622, имеющие размер 32×16, области 624, имеющие размер 16×32, и области 626, имеющие размер 16×16.
Аналогично, элемент предсказания элемента 630 кодирования, имеющего размер 16×16 и глубину 2, можно разделить на области, заключенные в элементе 630 кодирования, т.е. область, имеющую размер 16×16, заключенную в элементе 630 кодирования, области 632, имеющие размер 16×8, области 634, имеющие размер 8×16, и области 636, имеющие размер 8×8.
Аналогично, элемент предсказания элемента 640 кодирования, имеющего размер 8×8 и глубину 3, можно разделить на области, заключенные в элементе 640 кодирования, т.е. область, имеющую размер 8×8, заключенную в элементе 640 кодирования, области 642, имеющие размер 8×4, области 644, имеющие размер 4×8, и области 646, имеющие размер 4×4.
Элемент 650 кодирования, имеющий размер 4×4 и глубину 4, представляет собой минимальный элемент кодирования и элемент кодирования наибольшей глубины. Элемент предсказания элемента 650 кодирования присваивается только области, имеющей размер 4×4.
Чтобы определить упомянутую, по меньшей мере, одну кодированную глубину элементов кодирования, составляющих максимальный элемент 610 кодирования, модуль 120 определения элементов кодирования устройства 100 для кодирования видеоинформации осуществляет кодирование для элементов кодирования, соответствующих каждой глубине и заключенных в максимальном элементе 610 кодирования.
Количество более глубоких элементов кодирования, соответствующих глубинам и включающих в себя данные в одном и том же диапазоне и одного и того же размера, увеличивается по мере увеличения глубины. Например, для того, чтобы охватить данные, которые заключены в одном элементе кодирования, соответствующем глубине 1, требуются четыре элемента кодирования, соответствующих глубине 2. Соответственно, чтобы сравнить результаты кодирования одних и тех же данных в соответствии с глубинами, кодируют каждый из элемента кодирования, соответствующего глубине 1, и четырех элементов кодирования, соответствующих глубине 2.
Чтобы осуществить кодирование для текущей глубины из числа глубин, можно выбрать наименьшую ошибку кодирования для текущей глубины путем осуществления кодирования для каждого элемента предсказания в элементах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. В альтернативном варианте, поиск минимальной ошибки кодирования можно проводить путем сравнения наименьших ошибок кодирования в соответствии с глубинами посредством проведения кодирования для каждой глубины по мере увеличения глубины вдоль вертикальной оси иерархической структуры 600. Глубину и область, имеющую минимальную ошибку кодирования в элементе 610 кодирования, можно выбрать как кодированную глубину и тип области элемента 610 кодирования.
На фиг.7 представлен пояснительный чертеж для описания взаимосвязи между элементом 710 кодирования и элементами 720 преобразования в соответствии с возможным вариантом осуществления.
Устройство 100 для кодирования видеоинформации или устройство 200 для декодирования видеоинформации кодирует или декодирует изображение в соответствии с элементами кодирования, имеющими размеры, меньшие, чем максимальный элемент кодирования, или равные ему, для каждого максимального элемента кодирования. Размеры элементов преобразования, предназначенных для преобразования во время кодирования, можно выбирать на основе элементов данных, которые не больше, чем соответствующий элемент кодирования.
Например, в устройстве 100 для кодирования видеоинформации или устройстве 200 для декодирования видеоинформации, если размер элемента 710 кодирования составляет 64×64, то преобразование можно проводить путем использования элементов 720 преобразования, имеющих размер 32×32.
Кроме того, данные элемента 710 кодирования, имеющего размер 64×64, можно кодировать путем проведения преобразования на каждом из элементов преобразования, имеющих размер 32×32, 16×16, 8×8 и 4×4, которые меньше, чем 64×64, а потом можно выбрать элемент преобразования, имеющий наименьшую ошибку кодирования.
На фиг.8 представлен пояснительный чертеж для описания информации кодирования элементов кодирования, соответствующих кодированной глубине, в соответствии с возможным вариантом осуществления.
Блок 130 вывода устройства 100 для кодирования видеоинформации может кодировать и передавать информацию 800 о типе области, информацию 810 о режиме предсказания и информацию 820 о размере элемента преобразования для каждого элемента кодирования, соответствующего кодированной глубине, как информацию о режиме кодирования.
Информация 800 указывает информацию о форме области, получаемой путем разделения элемента предсказания текущего элемента кодирования, причем эта область представляет собой элемент данных для кодирование с предсказанием текущего элемента кодирования. Например, текущий элемент CU_0 кодирования, имеющий размер 2N×2N, можно разделить с получением любой из области 802, имеющей размер 2N×2N, области 804, имеющей размер 2N×N, области 806, имеющей размер N×2N, и области 808, имеющей размер N×N. В данном случае, информацию 800 о типе области задают для того, чтобы указать одну из области 804, имеющей размер 2N×N, области 806, имеющей размер N×2N, и области 808, имеющей размер N×N.
Информация 810 указывает режим предсказания каждой области. Например, информация 810 может указывать режим кодирования с предсказанием, проводимого в области, указанной посредством информации 800, т.е. интра-режим 812, интер-режим 814, или режим 816 пропуска.
Информация 820 указывает элемент преобразования, на основе которого проводится преобразование на текущем элементе кодирования. Например, элемент преобразования может быть первым элементом 822 интрапреобразования (внутрикадрового преобразования), вторым элементом 824 интрапреобразования, первым элементом 826 интерпреобразования (межкадрового преобразования), или вторым элементом 828 интерпреобразования.
Модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видеоинформации может извлекать и использовать информацию 800, 810 и 820 для декодирования в соответствии с каждым более глубоким элементом кодирования.
На фиг.9 представлен пояснительный чертеж более глубоких элементов кодирования, соответствующих глубинам, в соответствии с возможным вариантом осуществления.
Информацию разделения можно использовать для указания изменения глубины. Эта информация разделения указывает, разделяется ли элемент кодирования текущей глубины на элементы кодирования большей глубины.
Элемент 910 предсказания, предназначенный для кодирования с предсказанием элемента 900 кодирования, имеющего глубину 0 и размер 2N_0×2N_0, может включать в себя области типа 912 области, имеющие размер 2N_0×2N_0, типа 914 области, имеющие размер 2N_0×N_0, типа 916 области, имеющие размер N_0×2N_0, и типа 918 области, имеющие размер N_0×N_0. На фиг.9 изображены лишь типы 912-818 областей, которые получены путем симметричного разделения элемента 910 предсказания, но тип области ими не ограничивается, и области элемента 910 предсказания могут включать в себя асимметричные области, области, имеющие заранее определенную форму, и области, имеющие геометрическую форму.
Кодирование с предсказанием проводится повторно в одной области, имеющей размер 2N_0×2N_0, двух областях, имеющих размер 2N_0×N_0, двух областях, имеющих размер N_0×2N_0, и четырех областях, имеющих размер N_0×N_0, соответствующих каждому типу области. Кодирование с предсказанием в интра-режиме и интер-режиме можно осуществлять в областях, имеющих размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска можно проводить только в области, имеющей размер 2N_0×2N_0.
Ошибки кодирования, включая кодирование с предсказанием в пределах типов 912-918 областей, сравнивают, и среди этих типов областей определяют наименьшую ошибку кодирования. Если ошибка кодирования является наименьшей, в одном из типов 912-916 областей можно не разделять элемент 910 предсказания с достижением большей глубины.
Если ошибка кодирования является наименьшей в типе 918 области, то глубину изменяют с 0 до 1, разделяя область, относящуюся к типу 918 области, на операции 920, и повторно проводят кодирование на элементах 930 кодирования, имеющих глубину 2 и размер N_0×N_0, чтобы найти минимальную ошибку кодирования.
Элемент 940 предсказания, предназначенный для кодирования с предсказанием элемента 930 кодирования, имеющего глубину 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя области, относящиеся к типу 943 области, имеющие размер 2N_1×2N_1, типу 944 области, имеющие размер 2N_1×N_1, типу 946 области, имеющие размер N_1×2N_1, и типу 948 области, имеющие размер N_1×N_1.
Если ошибка кодирования является наименьшей в типе 948 области, то глубину изменяют с 1 до 2, чтобы разделить область, относящуюся к типу 948 области, на операции 950, и осуществляют повторное кодирование на элементах 960 кодирования, которые имеют глубину 2 и размер N_2×N_2, чтобы найти минимальную ошибку кодирования.
Когда максимальная глубина равна d, операцию разделения в соответствии с каждой глубиной можно проводить до момента, когда глубина становится равной d-1, а информацию разделения можно кодировать до момента, когда глубина принимает одно из значений от 0 до d-2. Иными словами, когда кодирование проводят до момента, когда глубина становится равной d-1 после разделения элемента кодирования, соответствующего глубине d-2, на операции 970, элемент 990 предсказания, предназначенный для кодирования с предсказанием элемента 980 кодирования, имеющего глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя области, относящиеся к типу 992 области, имеющие размер 2N_(d-1)×2N_(d-1), типу 994 области, имеющие размер 2N_(d-1)×N_(d-1), типу 996 области, имеющие размер N_(d-1)×2N_(d-1), и типу 998 области, имеющие размер N_(d-1)×N_(d-1).
Кодирование с предсказанием можно осуществлять повторно в одной области, имеющей размер 2N_(d-1)×2N_(d-1), двух областях, имеющих размер 2N_(d-1)×N_(d-1), двух областях, имеющих размер N_(d-1)×2N_(d-1), четырех областях, имеющих размер N_(d-1)×N_(d-1), из числа типов 992 - 998 областей, чтобы найти тип области, имеющий минимальную ошибку кодирования.
Даже когда тип 998 области имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, элемент CU_(d-1) кодирования, имеющий глубину d-1, больше не разделяется с достижением большей глубины, и кодированная глубина для элементов кодирования, составляющих текущий максимальный элемент 900 кодирования, определяется как равная d-1, а тип области текущего максимального элемента 900 кодирования может быть определен как N_(d-1)×N_(d-1). Кроме того, поскольку максимальная глубина равна d, а минимальный элемент 980 кодирования, имеющий наибольшую глубину d-1, больше не разделяется с достижением большей глубины, информацию разделения для минимального элемента 980 кодирования не задают.
Элемент 999 данных может быть «минимальным элементом» для текущего максимального элемента кодирования. В соответствии с возможным вариантом осуществления, минимальный элемент может быть прямоугольным элементом данных, полученным путем разделения минимального элемента 980 кодирования на 4. Путем повторного проведения кодирования, устройство 100 для кодирования видеоинформации может выбрать глубину, имеющую наименьшую ошибку кодирования, путем сравнения ошибок кодирования в соответствии с глубинами элемента 900 кодирования, чтобы определить кодированную глубину, и задавать соответствующий тип области и режим предсказания как режим кодирования кодированной глубины.
А если так, то минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех глубинах от 1 до d, а глубину, имеющую наименьшую ошибку кодирования можно определить как кодированную глубину. Кодированную глубину, тип области элемента предсказания и режим предсказания можно кодировать и передавать как информацию о режиме кодирования. Кроме того, поскольку элемент кодирования разделяют с глубины 0 до кодированной глубины, только информацию разделения согласно кодированной глубине задают так, что она представляет собой 0, а информацию разделения согласно глубинам, в которые кодированная глубина не входит, задают так, что она представляет собой 1.
Модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видеоинформации может выделять и использовать информацию о кодированной глубине и элемент предсказания элемента 900 кодирования с целью декодирования области 912. Устройство 200 декодирования видеоинформации может определять глубину, на которой информация разделения представляет собой 0, как кодированную глубину путем использования информации разделения в соответствии с глубинами, и использовать информацию о режиме кодирования согласно соответствующей глубине для декодирования.
На фиг.10-12 представлены пояснительные чертежи для описания взаимосвязи между элементами 1010 кодирования, элементами 1060 предсказания и элементами 1070 преобразования в соответствии с возможным вариантом осуществления.
Элементы 1010 кодирования представляют собой элементы кодирования, имеющие древовидную структуру и соответствующие кодированным глубинам, определенным устройством 100 для кодирования видеоинформации, в максимальном элементе кодирования. Элементы 1060 предсказания представляют собой области элементов предсказания каждого из элементов 1010 кодирования, а элементы 1070 преобразования представляют собой элементы преобразования каждого из элементов 1010 кодирования.
Когда глубина максимального элемента кодирования равна 0 в элементах 1010 кодирования, глубины элементов 1012 и 1054 кодирования равны 1, глубины элементов 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины элементов 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, а глубины элементов 1040, 1042, 1044 и 1046 кодирования равны 4.
В элементах 1060 предсказания, некоторые элементы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получены путем разделения элементов кодирования в элементах 1010 кодирования. Иными словами, типы областей в элементах 1014, 1022, 1050 и 1054 кодирования предусматривают размер 2N×N, типы областей в элементах 1016, 1048 и 1052 кодирования предусматривают размер N×2N, а тип области элемента 1032 кодирования предусматривает размер N×N. Элементы предсказания и области элементов 1010 кодирования меньше, чем каждый элемент кодирования, или равны ему по величине.
На данных изображения элемента 1052 кодирования в элементах 1070 преобразования в элементе данных, который меньше, чем элемент 1052 кодирования, проводят преобразование или обратное преобразование. Кроме того, элементы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в элементах 1070 преобразования отличаются размерами и формами от элементов кодирования в элементах 1060 предсказания. Иными словами, устройства 100 и 200 для кодирования и декодирования видеоинформации могут осуществлять интрапредсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование отдельно на некотором элементе данных в одном и том же элементе кодирования.
Соответственно, чтобы определить оптимальный элемент кодирования, кодирование осуществляют рекурсивно на каждом из элементов кодирования, имеющих иерархическую структуру, в каждой зоне максимального элемента кодирования, и таким образом можно получить рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разделения об элементе кодирования, информацию о типе области, информацию о режиме предсказания и информацию о размере элемента преобразования. Таблица 1 иллюстрирует информацию кодирования, которую можно задать посредством устройств 100 и 200 кодирования и декодирования видеоинформации.
Таблица 1 | |||||
Информация разделения: 0 (Кодирование на элементе кодирования, имеющем размер 2N×2N и текущую глубину d) | Информация разделения: 1 | ||||
Режим предсказания | Тип области | Размер элемента Преобразования | Повторное кодирование элементов кодирования, имеющих бóльшую глубину d+1 | ||
Интра-, интер-, пропуск (только 2N×2N) | Симметричный тип области | Асимметричный тип области | Информация разделения элемента преобразования: 0 | Информация разделения элемента преобразования: 1 | |
2N×2N, 2N×N, N×2N, N×N | 2N×nU, 2N×nD, nL×2N, nR×2N | 2N×2N | N×N (Симметричный тип), (N/2)×(N/2) (Асимметричный тип) |
Блок 130 вывода устройства 100 для кодирования видеоинформации может выводить информацию кодирования об элементах кодирования, имеющих древовидную структуру, а модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видеоинформации может извлекать информацию кодирования об элементах кодирования, имеющих древовидную структуру, из принимаемого потока битов.
Информация разделения указывает, разделяют ли текущий элемент кодирования на элементы кодирования большей глубины. Если информация разделения согласно текущей глубине d представляет собой 0, глубина, на которой текущий элемент кодирования больше не разделяют с достижением большей глубины, является кодированной глубиной, и поэтому для кодированной глубины можно определить информацию о типе области, режиме предсказания и размере элемента преобразования. Если текущий элемент кодирования дополнительно разделяют в соответствии с информацией разделения, кодирование проводят независимо на четырех разделенных элементах кодирования большей глубины.
Режим предсказания может быть одним из интра-режима, интер-режима и режима пропуска. Интра-режим и интер-режим могут быть определены во всех типах областей, а режим пропуска определяется только в типе области, предусматривающем размер 2N×2N.
Информация о типе области может указывать симметричные типы областей, предусматривающие размеры 2N×2N, 2N×N, N×2N и N×N, которые получаются путем симметричного разделения высоты или ширины элемента предсказания, и асимметричные типы областей, предусматривающие размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получаются путем асимметричного разделения высоты или ширины элемента предсказания. Асимметричные типы областей, предусматривающие размеры 2N×nU и 2N×nD, можно рекурсивно получать путем разделения высоты элемента предсказания в отношениях 1:3 и 3:1 соответственно, а асимметричные типы областей, предусматривающие размеры nL×2N и nR×2N, можно получать путем разделения ширины элемента предсказания в отношениях 1:3 и 3:1 соответственно.
Размер элемента преобразования можно задавать в соответствии с двумя типами в интра-режиме и двумя типами в интер-режиме. Иными словами, если информация разделения элемента преобразования представляет собой 0, размер элемента преобразования может составлять 2N×2N, что является размером текущего элемента кодирования. Если информация разделения элемента преобразования представляет собой 1, элементы преобразования можно получать путем разделения текущего элемента кодирования. Кроме того, если тип области текущего элемента кодирования, имеющего размер 2N×2N, является симметричным типом области, размер элемента преобразования может составлять N×N, а если тип области текущего элемента кодирования является асимметричным типом области, размер элемента преобразования может составлять (N/2)×(N/2).
Информация кодирования об элементы кодирования, имеющих древовидную структуру, может включать в себя, по меньшей мере, один элемент кодирования, соответствующий кодированной глубине, элемент предсказания и минимальный элемент. Элемент кодирования, соответствующий кодированной глубине, может включать в себя, по меньшей мере, один из элемента предсказания и минимального элемента, содержащего ту же самую информацию кодирования.
Соответственно, определяют, заключены ли смежные элементы данных в одном и том же элементе кодирования, соответствующем кодированной глубине, путем сравнения информации кодирования смежных элементов данных. Кроме того, соответствующий элемент кодирования, который соответствует кодированной глубине, определяют путем использования информации кодирования элемента данных, и таким образом можно определить распределение кодированных глубин в максимальном элементе кодирования.
Соответственно, если текущий элемент кодирования предсказывают на основе информации кодирования смежных элементов данных, оказывается возможным непосредственное обращение к информации кодирования элементов данных в более глубоких элементах кодирования, смежных с текущим элементом кодирования, а также использование этой информации.
В альтернативном варианте, если текущий элемент кодирования предсказывают на основе информации кодирования смежных элементов данных, то поиск элементов данных, смежных с текущим элементом кодирования, осуществляют с помощью кодированной информации элементов данных, а к найденным смежным элементам кодирования можно обращаться для предсказания текущего элемента кодирования.
На фиг.13 представлен пояснительный чертеж для описания взаимосвязи между элементом кодирования, элементом предсказания или областью и элементом преобразования в соответствии с информацией о режиме кодирования из таблицы 1.
Максимальный элемент кодирования 1300 включает в себя элементы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования согласно кодированным глубинам. В данном случае, поскольку элемент 1318 кодирования представляет собой элемент кодирования согласно кодированной глубине, информацию разделения можно задать так, что она будет представлять собой 0. Информацию о типе области элемента 1318 кодирования, имеющего размер 2N×2N, можно задать как соответствующую одному из типа 1322 области, предусматривающего размер 2N×2N, типа 1324 области, предусматривающего размер 2N×N, типа 1326 области, предусматривающего размер N×2N, типа 1328 области, предусматривающего размер N×N, типа 1332 области, предусматривающего размер 2N×nU, типа 1334 области, предусматривающего размер 2N×nD, типа 1336 области, предусматривающего размер nL×2N, и типа 1338 области, предусматривающего размер nR×2N.
Когда тип области задают как симметричный, т.е. как являющийся типом 1322, 1324, 1326 или 1328 области, задают элемент 1342 преобразования, имеющий размер 2N×2N, если информация разделения (флаг размера элемента преобразования (ЭПРЕОБ)) для элемента преобразования представляет собой 0, и задают элемент 1344 преобразования, имеющий размер N×N, если флаг размера ЭПРЕОБ имеет значение 1.
Когда тип области задают как асимметричный, т.е. как являющийся типом 1332, 1334, 1336 или 1338 области, задают элемент 1352 преобразования, имеющий размер 2N×2N, если флаг размера ЭПРЕОБ имеет значение 0, и задают элемент 1354 преобразования, имеющий размер (N/2)×(N/2), если флаг размера ЭПРЕОБ имеет значение 1.
Обращаясь к фиг.13, отмечаем, что флаг размера ЭПРЕОБ - это флаг, имеющий значение либо 0, либо 1, но флаг размера ЭПРЕОБ не ограничивается одним битом, и можно предусмотреть иерархическое разделение элемента преобразования, имеющего древовидную структуру, когда флаг размера ЭПРЕОБ увеличивается от 0.
В этом случае, наряду с максимальным размером и минимальным размером элемента преобразования, размер элемента преобразования, который фактически использовался, можно выразить с помощью флага размера ЭПРЕОБ для элемента преобразования в соответствии с возможным вариантом осуществления. В соответствии с возможным вариантом осуществления, устройство 100 для кодирования видеоинформации выполнено с возможностью кодирования информации о максимальном размере элемента преобразования, информации о минимальном размере элемента преобразования, а также флага максимального размера ЭПРЕОБ. Результат кодирования информации о максимальном размере элемента преобразования, информации о минимальном размере элемента преобразования, а также флага максимального размера ЭПРЕОБ, можно вставлять в НПП. В соответствии с возможным вариантом осуществления, устройство 200 декодирования видеоинформации может декодировать видеоинформацию с использованием информации о максимальном размере элемента преобразования, информации о минимальном размере элемента преобразования и флага максимального размера ЭПРЕОБ.
Например, если размер текущего элемента кодирования составляет 64×64, а максимальный размер элемента преобразования составляет 32×32, то размер элемента преобразования может составлять 32×32, когда флаг размера ЭПРЕОБ имеет значение 0, может составлять 16×16, когда флаг размера ЭПРЕОБ имеет значение 1, и может составлять 8×8, когда флаг размера ЭПРЕОБ имеет значение 2.
В качестве еще одного примера, отметим, что если размер текущего элемента кодирования составляет 32×32, а минимальный размер элемента преобразования составляет 32×32, то размер элемента преобразования может составлять 32×32, когда флаг размера ЭПРЕОБ имеет значение 0. В данном случае, нельзя задать флаг размера ЭПРЕОБ имеющим значение, отличное от 0, поскольку размер элемента преобразования не может быть меньше, чем 32×32.
В качестве еще одного примера, отметим, что если размер текущего элемента кодирования составляет 64×64, а флаг максимального размера ЭПРЕОБ имеет значение 1, то флаг размера ЭПРЕОБ может иметь значение 0 или 1. В данном случае, нельзя задать флаг размера ЭПРЕОБ имеющим значение, отличное от 0 или 1.
Таким образом, если определено, что флаг максимального размера ЭПРЕОБ - это «MaxTransformSizeIndex» (Признак макс. размера преобр.), минимальный размер элемента преобразования - это «MinTransformSize» (Мин. размер преобр.), а размер элемента преобразования - это «RootTuSize» (Корневой размер ЭПРЕОБ), когда флаг размера ЭПРЕОБ имеет значение 0, то минимальный размер текущего элемента преобразования - «CurrMinTuSize» («Мин. размер тек. ЭПРЕОБ»), который можно определить в текущем элементе кодирования, может быть определен посредством уравнения (1):
Мин. размер тек. ЭПРЕОБ = max(Мин. размер преобр., Корневой размер ЭПРЕОБ/(2^Признак макс. размера преобр.)) (1)
По сравнению с минимальным размером текущего элемента преобразования - «Мин. размер тек. ЭПРЕОБ», который можно определить в текущем элементе кодирования, размер элемента преобразования - «Корневой размер ЭПРЕОБ», когда флаг размера ЭПРЕОБ имеет значение 0, может обозначать максимальный размер элемента преобразования, который можно выбрать в системе. В уравнении (1), выражение «Корневой размер ЭПРЕОБ/(2^Признак макс. размера преобр.)» обозначает размер элемента преобразования, когда этот размер элемента преобразования - «Корневой размер ЭПРЕОБ» (если флаг размера ЭПРЕОБ имеет значение 0) - подвергнут разделению некоторое количество раз, соответствующее флагу максимального размера ЭПРЕОБ, а выражение «Мин. размер тек. ЭПРЕОБ» обозначает минимальный размер элемента преобразования. Таким образом, меньшее из значений «Корневой размер ЭПРЕОБ/(2^Признак макс. размера преобр.)» и «Мин. размер преобр.» может быть минимальным размером текущего элемента преобразования - «Мин. размер тек. ЭПРЕОБ» - в текущем элементе кодирования.
В соответствии с возможным вариантом осуществления, максимальный размер элемента преобразования - «Корневой размер ЭПРЕОБ» - можно изменять в соответствии с типом режима предсказания.
Например, если текущий режим предсказания - это интер-режим, то «Корневой размер ЭПРЕОБ» можно определить с помощью уравнения (2), приводимого ниже. В уравнении (2), выражение «Макс. размер преобр.» обозначает максимальный размер элемента преобразования, а выражение «Размер ЭПРЕД» обозначает размер текущего элемента предсказания.
Корневой размер ЭПРЕОБ = min(Макс. размер преобр., Размер ЭПРЕД) (2)
То есть, если текущий режим предсказания - это интер-режим, то размер элемента преобразования - «Корневой размер ЭПРЕОБ», когда флаг размера ЭПРЕОБ имеет значение 0, может быть меньшим значением из максимального размера элемента преобразования и размера элемента текущего преобразования.
Если режим предсказания текущего элемента области - это интра-режим, то «Корневой размер ЭПРЕОБ» можно определить с помощью нижеследующего уравнения (3). В уравнении (3), выражение «Размер области» обозначает размер текущего элемента области.
Корневой размер ЭПРЕОБ = min(Макс. размер преобр., Размер области) (3)
То есть, если текущий режим предсказания - это интра-режим, то размер элемента преобразования - «Корневой размер ЭПРЕОБ», когда флаг размера ЭПРЕОБ имеет значение 0, может быть меньшим значением из максимального размера элемента преобразования и размера текущего элемента области.
Однако максимальный размер текущего элемента преобразования, т.е. «Корневой размер ЭПРЕОБ», который изменяется в соответствии с типом режима предсказания в элементе области, - это лишь пример, который не носит ограничительный характер.
На фиг.14 представлена блок-схема последовательности операций, иллюстрирующая способ кодирования видеоинформации в соответствии с возможным вариантом осуществления.
На операции 1210 текущий кадр разделяют с получением, по меньшей мере, одного максимального элемента кодирования. Максимальную глубину, указывающую количество возможных раз разделения, можно определить заранее.
На операции 1220 кодированную глубину для вывода окончательного результата кодирования в соответствии, по меньшей мере, с одной зоной разделения, которая получается путем разделения зоны каждого максимального элемента кодирования в соответствии с глубинами, определяют путем кодирования, упомянутой, по меньшей мере, одной зоны разделения, и определяют элемент кодирования в соответствии с древовидной структурой.
Максимальный элемент кодирования пространственно разделяют всякий раз, когда увеличивается глубина, и таким образом разделяют на элементы кодирования большей глубины. Каждый элемент кодирования можно разделять на элементы кодирования другой большей глубины, подвергая его пространственному разделению независимо от смежных элементов кодирования. Кодирование осуществляют повторно на каждом элементе кодирования в соответствии с глубинами.
Кроме того, для каждого более глубокого элемента кодирования определяют - в соответствии с типами областей - элемент преобразования, имеющий наименьшую ошибку кодирования. Чтобы определить кодированную глубину, на которой ошибка кодирования является минимальной в каждом максимальном элементе кодирования, можно измерять ошибки кодирования и сравнивать их во всех более глубоких элементах кодирования в соответствии с глубинами.
На операции 1230 кодированные данные изображения, составляющие конечный результат кодирования в соответствии с кодированной глубиной, выводят для каждого максимального элемента кодирования вместе с информацией кодирования о кодированной глубине и режиме кодирования. Информация о режиме кодирования может включать в себя информацию о кодированной глубине или информацию разделения, информацию о типе области элемента предсказания, режиме предсказания и размере элемента преобразования. Кодированную информацию о режиме кодирования можно передавать в декодер вместе с кодированными данными изображения.
На фиг.15 представлена блок-схема последовательности операций, иллюстрирующая способ декодирования видеоинформации в соответствии с возможным вариантом осуществления.
На операции 1310 осуществляют прием и синтаксический анализ потока битов кодированной видеоинформации.
На операции 1320 извлекают из потока битов, подвергнутого синтаксическому анализу, кодированные данные изображения текущего кадра, присвоенные максимальному элементу кодирования, и информацию кодирования о кодированной глубине и режиме кодирования в соответствии с максимальными элементами кодирования. Кодированная глубина каждого максимального элемента кодирования - глубина, соответствующая наименьшей ошибке кодирования в каждом максимальном элементе кодирования. При кодировании каждого максимального элемента кодирования, данные изображения кодируют на основе, по меньшей мере, одного элемента данных, полученного путем иерархического разделения каждого максимального элемента кодирования в соответствии с глубинами.
В соответствии с информацией о кодированной глубине и режиме кодирования, максимальный элемент кодирования можно разделять на элементы кодирования, имеющие древовидную структуру. Каждый из элементов кодирования, имеющих древовидную структуру, определяют как элемент кодирования, соответствующий кодированной глубине, и оптимально кодируют для вывода с наименьшей ошибкой кодирования. Соответственно, эффективность кодирования и декодирования можно повысить путем декодирования каждой порции кодированных данных изображения в элементах кодирования после определения, по меньшей мере, одной кодированной глубины в соответствии с элементами кодирования.
На операции 1330 данные изображения каждого максимального элемента кодирования декодируют на основе информации кодирования о кодированной глубине и режиме кодирования в соответствии с максимальными элементами кодирования. Декодированные данные изображения можно воспроизводить посредством устройства воспроизведения, запоминать на носителе информации или передавать через сеть.
На фиг.16 представлена блок-схема устройства 1400 для кодирования видеоинформации применительно к интерпредсказанию с использованием разделения областей согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления.
Устройство 1400 для кодирования видеоинформации включает в себя модуль 1410 разделения, дающее максимальный элемент кодирования, кодер 1420 и блок 1430 вывода.
Модуль 1410, дающий максимальный элемент кодирования, может разделять видеоданные с получением максимального элемента кодирования. Максимальные видеоданные, разделенные с получением максимального элемента кодирования, выдаются в блок 1430 вывода. Максимальный элемент кодирования может быть задан ранее в элементах данных, таких как последовательность кадров, кадр, фрагмент, элемент кодирования, и т.д.
Максимальные видеоданные могут быть избирательно заданы, по меньшей мере, как один из блоков, имеющих соответствующие размеры 16×16, 32×32, 64×64, 128×128 и 256×256.
Кодер 1420 кодирует видеоданные максимального элемента кодирования, разделенные с помощью модуля 1410 разделения, дающего максимальный элемент кодирования. Кодер 1420 кодирует видеоданные, по меньшей мере, для одной зоны разделения максимального элемента кодирования на основе более глубоких элементов кодирования иерархических структур. Во время операции кодирования упомянутых более глубоких элементов кодирования, осуществляют интерпредсказание, чтобы найти аналогичную зону кодирования путем использования областей, заключенных в более глубоких элементах кодирования, и оценить информацию о движении согласно областям.
Интерпредсказание может предусматривать использование областей, полученных путем разделения элемента кодирования согласно произвольным отношениям. Примеры элемента предсказания и областей, показанные на фиг.3-13, включают в себя области, имеющие размеры 2N×2N, 2N×N, N×2N, и N×N, полученные разделением из элемента кодирования, имеющего размер 2N×2N. Кодер 1420 может осуществлять интерпредсказание в соответствии с типами областей, включающих в себя области, полученные разделением согласно произвольным отношениям или согласно асимметричным отношениям, а также области, полученные путем разделения ширины или высоты элемента кодирования в отношением 1:1.
Например, области, получаемые путем разделения элемента кодирования согласно произвольным отношениям, можно получать путем разделения ширины или высоты элемента кодирования в отношении 1:3 или 3:1. Области можно разделять в различных произвольных отношениях, таких как 1:2, 2:1, 1:3, 3:1, 2:3, 3:2, 1:4, 4:1, и т.д.
Типы областей могут включать в себя области, полученные путем асимметричного разделения элемента кодирования, а также области, полученные путем разделения согласно произвольным отношениям. Типы областей для интерпредсказания элемента кодирования могут не ограничиваться присутствием в их числе областей, разделенных в конкретном направлении согласно произвольным отношениям, и могут включать в себя области, имеющие произвольные формы.
Кодер 1420 может избирательно определять, проводить ли интерпредсказание путем использования областей, полученных путем разделения элемента кодирования согласно произвольным отношениям. Информацию, указывающую, проводить ли интерпредсказание путем использования областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, можно кодировать отдельно и включать в поток битов.
Кодер 1420 кодирует видеоданные максимального элемента кодирования в соответствии с зонами разделения на основе более глубоких элементов кодирования в соответствии с иерархическими структурами, выбирает результаты кодирования в соответствии с глубинами и выбирает глубину, соответствующую наивысшей эффективности кодирования. Выбранная глубина представляет собой глубину кодирования для зоны разделения соответствующего максимального элемента кодирования. Кодирование информации, касающейся глубины кодирования, происходит в результате кодирования соответствующего элемента кодирования. Глубину кодирования, по меньшей мере, для одной зоны разделения в пределах максимального элемента кодирования определяют независимо, и поэтому для одиночного максимального элемента кодирования можно определить, по меньшей мере, одну глубину кодирования.
Блок 1430 вывода осуществляет вывод потока битов, включающего в себя информацию, касающуюся кодированных видеоданных, соответствующих глубинам кодирования в соответствии с максимальными элементами кодирования и зонами разделения, глубин кодирования и режимов кодирования. Блок 1430 вывода может осуществлять вывод потока битов, включающего в себя информацию, касающуюся того, включают ли в себя типы областей для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям. Информацию, касающуюся того, включают ли в себя типы областей для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям, можно задавать в соответствии с элементами данных, такими как последовательность кадров, фрагмент, элемент кодирования, и т.д., и можно включать в набор параметров последовательности потока битов, заголовок фрагмента и информацию кодирования, соответствующую элементам кодирования.
В элементе кодирования может быть записано количество данных, гораздо большее, чем количество данных некоторого заданного макроблока, и поэтому одиночный элемент кодирования может включать в себя зоны, имеющие разные характеристики изображения. Чтобы провести кодирование с предсказанием элемента кодирования, предпочтительно разделять элемент кодирования на зоны в соответствии с характеристиками изображения и генерировать области для кодирования с предсказанием элемента кодирования путем сбора из соседних зон, имеющих одинаковые характеристики изображения как область.
Хотя видеоданные можно разделять на зоны, имеющие разные характеристики изображения относительно центра элемента кодирования, чем больше размер элемента кодирования, тем выше вероятность, что граница между различимыми зонами представляет собой любую сторону - левую, правую, верхнюю или нижнюю. Если для точного осуществления кодирования с предсказанием на элементе кодирования, в котором граница между различимыми зонами представляет одну сторону, используются только области, полученные путем разделения ширины и высоты элемента кодирования в отношении 1:1, то текущий элемент кодирования нужно разделить с получением элемента кодирования большей глубины, чтобы генерировать малые области, включающие в себя единственную независимую зону.
Вместе с тем, если интерпредсказание проводят путем использования областей, разделение на которые проведено согласно произвольным отношениям, подобно тому, как это делает устройство 1400 для кодирования видеоинформации в соответствии с данным вариантом осуществления, то интерпредсказание проводится путем использования областей, которые разделены с получением одной стороны на текущей глубине, при этом нет нужды дополнительно разделять текущий более глубокий элемент кодирования с получением бóльших глубин. Следовательно, если области элемента кодирования включают в себя области, разделение на которые проведено согласно произвольным отношениям, или области, имеющие произвольные формы, а также области, полученные путем разделения ширины или высоты элемента кодирования в отношении 1:1, то на элементе кодирования, имеющем большой размер, можно провести более эффективное и точное кодирование с предсказанием.
Помимо этого, кодирование с предсказанием, предусматривающее использование областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, или областей, имеющих произвольные формы, можно проводить избирательно в соответствии с рабочими параметрами кодера и/или декодера видеоинформации, требованиями пользователя по поводу предоставления услуг кодирования и/или декодирования видеоинформации, и средой передачи потока битов, касающегося кодированной видеоинформации.
На фиг.17 представлена блок-схема устройства 1500 для декодирования видеоинформации применительно к интерпредсказанию с использованием разделения областей согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления.
Обращаясь к фиг.17, отмечаем, что устройство 1500 для декодирования видеоинформации включает в себя модуль 1510 синтаксического анализа, модуль 1520 извлечения и декодер 1530. Модуль 1510 синтаксического анализа принимает поток битов, касающийся кодированной видеоинформации, и осуществляет синтаксический анализ символов принимаемого потока битов. Модуль 1520 извлечения извлекает видеоданные, закодированные в соответствии с максимальными элементами кодирования, и информацию, касающуюся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, из потока битов, подвергнутого синтаксическому анализу.
Модуль 1520 извлечения может также извлекать информацию, касающуюся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям из потока битов. Информацию, касающуюся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям, можно извлекать из набора параметров последовательности потока битов, заголовка фрагмента, информации кодирования для элементов кодирования, и т.д.
Декодер 1530 принимает видеоданные и информацию кодирования, извлеченные из модуля 1520 извлечения, и декодирует видеоданные на основе информации кодирования. Более конкретно, декодер 1530 декодирует видеоданные для элемента кодирования согласно, по меньшей мере, одной глубине кодирования в соответствии с максимальными элементами кодирования на основе информации, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования.
В частности, декодер 1530 может избирательно проводить компенсацию движения путем использования областей, полученных путем разделения элемента кодирования согласно произвольным отношениям в соответствии с информацией, касающейся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям, извлеченным с помощью модуль 1520 извлечения.
То есть декодер 1530 может проводить компенсацию движения путем использования вектора движения, предсказанного в соответствии с типом области, включающим в себя области, полученные путем асимметричного разделения элемента кодирования согласно произвольным отношениям, таким как 1:2, 2:1, 1:3, 3:1, 2:3, 3:2, 1:4, 4:1, и т.д., а также области, полученные путем разделения элемента кодирования в произвольном отношении 1:1. Кроме того, декодер 1530 может проводить компенсацию движения путем использования областей, имеющих произвольные формы, а также областей, полученных путем разделения элемента кодирования в некотором направлении.
Декодер 1530 может избирательно проводить компенсацию движения в соответствии с областями, имеющую некоторые ширины и глубины при произвольных отношениях, посредством определения того, кодируется ли интерпредсказание путем использования областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, и тем самым - точного восстановления элемента кодирования, различаемого применительно к зонам, имеющим различные характеристики изображения.
Устройство 1500 для декодирования видеоинформации может восстанавливать и воспроизводить видеоданные, декодированные в соответствии с максимальными элементами кодирования.
Следовательно, если осуществляется кодирование с предсказанием или декодирование, проводимое с использованием областей, разделение на которые осуществлено согласно произвольным отношениям, подобно тому, как это делают устройство 1400 для кодирования видеоинформации и устройство 1500 для декодирования видеоинформации, то интерпредсказание осуществляется путем использования областей, которые разделены с получением одной стороны на текущей глубине, при этом нет нужды дополнительно разделять текущий более глубокий элемент кодирования с получением бóльших глубин. Следовательно, области, разделение на которые проведено согласно произвольным отношениям, можно использовать для проведения более эффективного и точного кодирования с предсказанием или декодирования на элементе кодирования, имеющем большой размер.
На фиг.18 представлен пояснительный чертеж возможных областей, полученных путем разделения элемента кодирования согласно произвольным отношениям в соответствии с возможным вариантом осуществления.
Обращаясь к фиг.18, отмечаем, что тип области для кодирования с предсказанием элемента кодирования может включать в себя области, полученные путем разделения высоты и ширины элемента кодирования согласно произвольным отношениям. Например, тип области элемента 1600 кодирования, имеющего размер 64×64, может включать в себя области, полученные путем разделения элемента 1600 кодирования согласно отношению 1:3 или 3:1, а также области, имеющие размеры 64×32, 32×64 и 32×32, полученные путем разделения высоты или ширины элемента 1600 кодирования в отношении 1:1.
Более конкретно, тип области элемента 1600 кодирования, имеющего размер 64×64, может включать в себя области 1610 и 1620, имеющие размеры 64×16 и 64×48, соответственно, полученные путем разделения высоты элемента кодирования 1600 согласно отношению 1:3 или 3:1. Помимо этого, тип области элемента 1600 кодирования, имеющего размер 64×64, может включать в себя области 1630 и 1640, имеющие размеры 64×16 и 64×48, полученные путем разделения ширины элемента кодирования 1600 согласно отношению 1:3 или 3:1.
Фиг.19 иллюстрирует синтаксическую структуру набора 1700 параметров последовательности, включающего в себя информацию, касающуюся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям в соответствии с возможным вариантом осуществления.
Обращаясь к фиг.19, отмечаем, что «набор параметров последовательности» (sequence_parameter_set) представляет собой синтаксическую структуру набора 1700 параметров последовательности для текущего фрагмента изображения. Информация, касающаяся того, включает ли в себя тип области для интерпредсказания те области, которые получены путем разделения элемента кодирования согласно произвольным отношениям, вставлена в синтаксическую структуру набора 1700 параметров последовательности для текущего фрагмента изображения.
«Ширина кадра» (picture_width) - это синтаксическая структура ширины входного изображения. «Высота кадра» (picture_height) - это синтаксическая структура высоты входного изображения, «Размер максимального элемента кодирования» (max_coding_unit_depth) - это синтаксическая структура размера максимального элемента кодирования. «Максимальная глубина элемента кодирования» (max_coding_unit_depth) - это синтаксическая структура максимальной глубины.
Пример параметра последовательности может определять информацию, указывающую, является ли декодирование уровня элемента кодирования независимым, то есть «флаг использования независимого декодирования ЭК» (use_independent_cu_decode_flag), информацию, указывающую, является ли синтаксический анализ уровня элемента кодирования независимым, то есть «флаг использования независимого синтаксического анализа ЭК» (use_independent_cu_parse_flag), доступность операции управления точностью вектора движения (ВД), то есть «флаг использования управления точностью ВД» (use_mv_accuracy_control_flag), доступность операции интрапредсказания при произвольной направленности, информацию, то есть «флаг использования интрапредсказания в произвольном направлении» (use_arbitrary_direction_intra_flag), доступность операции кодирования с предсказанием и/или декодирования применительно к частотной области в соответствии с преобразованием частоты, то есть «флаг использования предсказания в частотной области» (use_frequency_domain_prediction_flag), доступность операции преобразования вращения, то есть «флаг использования преобразования вращения» (use_rotational_transform_flag), доступность кодирования и/или декодирования с использованием карты значимости дерева, то есть «флаг использования карты значимости дерева (use_tree_significant_map_flag)), доступность операции многопараметрического интракодирования с предсказанием, то есть «флаг использования многопараметрического интрапредсказания» (use_multi_parameter_intra_prediction_flag), доступность операции усовершенствованного кодирования с предсказанием вектора движения, то есть «флаг, использования усовершенствованного кодирования с предсказанием вектора движения» (use_advanced_motion_vector_prediction_flag), доступность операции адаптивной фильтрации в цепи обратной связи, то есть «флаг использования адаптивного фильтра в контуре обратной связи» (use_adaptive_loop_filter_flag), доступность операции адаптивной фильтрации в цепи обратной связи для структуры квадрадерева, то есть «флаг использования адаптивного фильтра в цепи обратной связи для структуры квадрадерева» (use_quadtree_adaptive_loop_filter_flag), доступность операции квантования с использованием значения «дельта» параметра квантования (ПКВАНТ), то есть «флаг использования значения «дельта» ПКВАНТ (use_delta_qp_flag)), доступность операции генерирования случайного шума, то есть «флаг использования генерирования случайного шума» (use_random_noise_generation_flag), и информацию, указывающую, допускаются ли области, имеющие произвольные области для интерпредсказания элемента кодирования, то есть «флаг использования областей с произвольным движением» (use_arbitrary_motion_partition_flag).
В частности, в соответствии с доступностью операции адаптивной фильтрации в цепи обратной связи, то есть «флагом использования адаптивного фильтра в контуре обратной связи» (use_adaptive_loop_filter_flag), и доступностью операции адаптивной фильтрации в цепи обратной связи для структуры квадрадерева, то есть «флагом использования адаптивного фильтра в цепи обратной связи для структуры квадрадерева» (use_quadtree_adaptive_loop_filter_flag), набор 1700 параметров последовательности может определять длину фильтра для адаптивного фильтра в контуре обратной связи, то есть alf_filter_length, тип адаптивного фильтра в контуре обратной связи, то есть alf_filter_type, опорное значение для квантования коэффициента адаптивного фильтра в контуре обратной связи, то есть alf_qbits, и количество цветовых компонент адаптивной фильтрации в контуре обратной связи, то есть alf_num_color.
Информация, касающаяся корреляций между глубиной элемента кодирования, инструментом кодирования и рабочим режимом, которые используются в устройстве 1400 для кодирования видеоинформации и устройстве 1500 для декодирования видеоинформации, может включать в себя рабочий режим mbp_mode[uiDepth] интерпредсказания, соответствующий глубине uiDepth элемента кодирования, и рабочий режим significant_map_mode[uiDepth], указывающий тип значимой карты среди значимых карт дерева. Более конкретно, набор 1700 параметров последовательности может задавать корреляции между интерпредсказанием и соответствующим рабочим режимом в соответствии с глубиной элемента кодирования, или корреляции между кодированием и декодированием с использованием значимой карты дерева и соответствующего рабочего режима.
Набор 1700 параметров последовательности может также задавать выражаемую в битах глубину выборки на входе input_sample_bit_depth и выражаемую в битах глубину внутренней выборки internal_sample_bit_depth.
Устройство 1500 для декодирования видеоинформации может считывать параметр последовательности, извлекать информацию, указывающую, обеспечиваются ли области, имеющие произвольные области для интерпредсказания элемента кодирования, то есть «флаг использования областей с произвольным движением» (use_arbitrary_motion_partition_flag), из считываемого параметра последовательности, и определять, проводить ли интерпредсказание с использованием областей, полученных путем разделения элемента кодирования соответствующей последовательности согласно произвольным отношениям.
Информация, указывающая, обеспечиваются ли области, имеющие произвольные области для интерпредсказания элемента кодирования, то есть «флаг использования областей с произвольным движением» (use_arbitrary_motion_partition_flag), которая (который) используется устройством 1400 для кодирования видеоинформации и устройством 1500 для декодирования видеоинформации, не ограничивается набором 1700 параметров последовательности согласно фиг.22 и может кодироваться и/или декодироваться в элементах максимального элемента кодирования, фрагмента, кадра, изображения, ЗГИ, т.д.
Если информация, указывающая, обеспечиваются ли области, имеющие произвольные области для интерпредсказания элемента кодирования, то есть «флаг использования областей с произвольным движением» (use_arbitrary_motion_partition_flag), имеет значение «истинно» в заголовке фрагмента, интерпредсказание проводят с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям в соответствующем фрагменте. Если информация имеет значение «ложно», интерпредсказание проводят с использованием областей, полученных путем разделения ширины или высоты элемента кодирования согласно отношению 1:1 в соответствующем фрагменте.
НА фиг.20 представлена блок-схема последовательности операций, иллюстрирующая способ кодирования видеоинформации применительно к интерпредсказанию с использованием областей, разделенных согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления.
Обращаясь к фиг.20, отмечаем, что на операции 1810 видеоданные разделяют с получением максимального элемента кодирования.
На операции 1820 видеоданные максимального элемента кодирования кодируют на основе более глубоких элементов кодирования иерархических структур в соответствии, по меньшей мере, с одной зоной разделения максимального элемента кодирования, и определяют глубину кодирования, на которой надлежит выводить результат. При интерпредсказании можно избирательно использовать области, полученные путем разделения элемента кодирования согласно произвольным отношениям. Проводить ли интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, - это можно задать в соответствии с элементами данных, такими как последовательность кадров, кадр, фрагмент, элемент кодирования, и т.д.
На операции 1830 выводят поток битов, включающий в себя кодированные видеоданные, соответствующие глубинам кодирования для зон разделения в соответствии с максимальными элементами кодирования, и информацию кодирования, касающуюся глубины кодирования и режимов кодирования. Информацию, указывающую, проводится ли интерпредсказание путем использования областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, можно кодировать и вставлять в поток битов, после чего можно осуществлять вывод потока битов.
На фиг.21 представлена блок-схема последовательности операций, иллюстрирующая способ декодирования видеоинформации применительно к интерпредсказанию с использованием разделения областей согласно произвольным отношениям в соответствии с еще одним возможным вариантом осуществления.
Обращаясь к фиг.21, на операции 1910 осуществляют прием потока битов, касающегося кодированных видеоданных, и осуществляют синтаксический анализ символов потока битов.
На операции 1920 извлекают кодированные видеоданные, соответствующие максимальным элементам кодирования, и информацию кодирования, касающуюся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования, из потока битов. Информацию, касающуюся того, проводить ли интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, можно извлекать из потока битов. Информацию, указывающую проводится ли интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, можно извлекать из набора параметров последовательности, заголовка фрагмента, информации кодирования для элементов кодирования, и т.д.
На операции 1930 можно провести декодирование, включающее в себя компенсацию движения с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, для элемента кодирования, по меньшей мере, одной глубины кодирования согласно максимальным элементам кодирования на основе информация, касающейся глубин кодирования и режимов кодирования в соответствии с максимальными элементами кодирования. Проводить ли декодирование, включающее в себя компенсацию движения с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, можно решить путем избирательного проведения в соответствии с информацией, указывающей, проводится ли интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, извлеченной из потока битов.
Если интерпредсказание с использованием областей, полученных путем разделения элемента кодирования согласно произвольным отношениям, проводится подобно способу кодирования видеоинформации и способу декодирования видеоинформации согласно вариантам осуществления данного изобретения, то интерпредсказание проводят путем использования областей, которые разделяют с получением одной стороны на текущей глубине, при этом нет нужды дополнительно разделять текущий более глубокий элемент кодирования с получением бóльших глубин.
Кроме того, можно осуществить выбор того, включают ли в себя области элемента кодирования те области, разделение на которые проведено согласно произвольным отношениям, или области, имеющие произвольные формы, а также области, полученные путем разделения ширины или высоты элемента кодирования согласно отношению 1:1, и таким образом обычная система кодирования и/или декодирования, которая не поддерживает разделение областей согласно произвольным отношениям, может использовать способ кодирования видеоинформации и способ декодирования видеоинформации согласно вариантам осуществления данного изобретения. Следовательно, в соответствии со способами кодирования и декодирования видеоинформации согласно вариантам осуществления данного изобретения, можно избирательно проводить более эффективное и точное кодирование с предсказанием.
Возможные варианты осуществления можно записать в форме компьютерных программ и воплотить в цифровых компьютерах общего назначения, которые могут осуществлять выполнение программ с использованием машиночитаемого носителя информации. Примеры машиночитаемого носителя информации включают в себя магнитные носители информации (т.е. постоянные запоминающие устройства (ПЗУ), флоппи-диски, жесткие диски и т.д.) и оптические носители записи (например, постоянные запоминающие устройства на компакт-дисках (CD-ROM) или универсальные цифровые диски (DVD)). Возможные варианты осуществления можно также воплотить в форме процессоров компьютеров и аппаратных средств.
Хотя это изобретение конкретно проиллюстрировано и описано со ссылками на возможные варианты его осуществления, специалисты в данной области техники поймут, что в рамках существа и объема притязаний, определяемых нижеследующей формулой изобретения, можно провести различные изменения в его форме и деталях. Возможные варианты осуществления следует рассматривать лишь как приведенные в описательном смысле, а не в целях ограничения. Следовательно, объем изобретения определяется не только подробным описанием изобретения, но и прилагаемой формулой изобретения, и любые различия в пределах этого объема нужно будет толковать, как охватываемые данным изобретением.
Класс H04N7/12 системы, в которых телевизионный сигнал передается по одному каналу или по нескольким параллельным каналам при ширине полосы пропускания каждого канала меньшей, чем ширина спектра телевизионного сигнала
Класс G06T7/20 анализ движения
Класс G06K9/36 предварительная обработка изображения, те обработка информации изображения без установления его идентичности