Способ кодирования видео и устройство кодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой, и способ декодирования видео и устройство декодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой
Иллюстрации
Показать всеИзобретение относится к кодированию видео и декодированию видео, которые выполняют преобразование между пространственной областью и областью преобразования. Техническим результатом является повышение эффективности сжатия изображения и, соответственно, повышение эффективности кодирования и декодирования видео. В способе кодирования видео разбивают картинки видео на блоки кодирования, имеющие максимальный размер. Кодируют картинки на основании блоков кодирования согласно глубинам, которые получены иерархическим разбиением каждого максимального блока кодирования по глубинам, и на основании типа раздела, определенного согласно глубинам блоков кодирования по глубинам. При этом тип раздела включает в себя блок данных, имеющий такой же размер, как текущий блок кодирования, и частичный блок данных, полученный разбиением высоты или ширины текущего блока кодирования. Определяют блоки кодирования согласно кодовым глубинам в отношении каждого из блоков кодирования по глубинам, и таким образом, определяют блоки кодирования, имеющие древовидную структуру. Выводят кодированные данные. 6 н. и 9 з.п. ф-лы, 15 ил., 1 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию видео и декодированию видео, которые выполняют преобразование между пространственной областью и областью преобразования.
УРОВЕНЬ ТЕХНИКИ
В то время как продолжают разрабатываться и поставляться аппаратные средства для воспроизведения и хранения видеоконтента высокого разрешения или высокого качества, продолжает возрастать необходимость в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В традиционном видеокодеке, видео кодируется согласно ограниченному способу кодирования, основанному на макроблоке, имеющем предварительно определенный размер. К тому же, традиционный видеокодек выполняет преобразование и обратное преобразование над макроблоком посредством использования блока, имеющего одинаковый размер, и таким образом кодирует и декодирует видеоданные.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Настоящее изобретение предусматривает кодирование видео и декодирование видео, которые выполняют преобразование между пространственной областью и областью преобразования посредством использования иерархического разделения предсказания.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, причем способ включает в себя операции: приема битового потока в отношении кодированного видео и синтаксического анализа битового потока; извлечения информации о структуре блока кодирования, указывающей размер и переменную глубину блока кодирования, то есть блока данных для декодирования картинки видео, информации о кодовой глубине и режиме кодирования в отношении блоков кодирования, имеющих древовидную структуру упомянутой картинки, из битового потока; и определения блоков кодирования, имеющих древовидную структуру, на основании информации о структуре блока кодирования и информации о кодовой глубине и режиме кодирования, определения типа раздела на основании глубины текущего блока кодирования, и декодирования упомянутой картинки на основании блоков кодирования и типа раздела.
ПОЛЕЗНЫЕ ЭФФЕКТЫ
Эффективность сжатия изображения может быть увеличена, поскольку блок кодирования регулируется иерархически наряду с учетом характеристик изображения при увеличении максимального размера блока кодирования наряду с учетом размера изображения. Поскольку кодер передает кодированные видеоданные с информацией о кодовой глубине и режиме кодирования, декодер может декодировать каждый фрагмент кодированных данных изображения после определения по меньшей мере одной кодовой глубины согласно блокам кодирования, имеющим древовидную структуру, так что может быть улучшена эффективность кодирования и декодирования изображения.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - структурная схема устройства для кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Фиг. 2 - структурная схема устройства для декодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Фиг. 3 - схема для описания концепции блоков кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 4 - структурная схема кодера изображения, основанного на блоках кодирования, согласно варианту осуществления настоящего изобретения.
Фиг. 5 - структурная схема декодера изображения, основанного на блоках кодирования, согласно варианту осуществления настоящего изобретения.
Фиг. 6 - схема, иллюстрирующая более глубокие блоки кодирования по глубинам и разделы согласно варианту осуществления настоящего изобретения.
Фиг. 7 - схема для описания взаимосвязи между блоком кодирования и блоками преобразования согласно варианту осуществления настоящего изобретения.
Фиг. 8 - схема для описания информации о кодировании блоков кодирования, соответствующей кодовой глубине, согласно варианту осуществления настоящего изобретения.
Фиг. 9 - схема более глубоких блоков кодирования по глубинам согласно варианту осуществления настоящего изобретения.
Фиг. 10-12 - схемы для описания взаимосвязи между блоками кодирования, блоками предсказания и блоками преобразования согласно варианту осуществления настоящего изобретения.
Фиг. 13 - схема для описания взаимосвязи между блоком кодирования, блоком предсказания или разделом, и блоком преобразования согласно информации о режиме кодирования по таблице 1.
Фиг. 14 - блок-схема, иллюстрирующая способ кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Фиг. 15 - блок-схема, иллюстрирующая способ декодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Согласно аспекту настоящего изобретения, предусмотрен способ декодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, причем способ включает в себя операции: приема битового потока в отношении кодированного видео и синтаксического анализа битового потока; извлечения информации о структуре блока кодирования, указывающей размер и переменную глубину блока кодирования, то есть блока данных для декодирования картинки видео, информации о кодовой глубине и режиме кодирования в отношении блоков кодирования, имеющих древовидную структуру упомянутой картинки из битового потока; и определения блоков кодирования, имеющих древовидную структуру, на основании информации о структуре блока кодирования и информации о кодовой глубине и режиме кодирования, определения типа раздела на основании глубины текущего блока кодирования, и декодирования упомянутой картинки на основании блоков кодирования и типа раздела.
Тип раздела может включать в себя блок данных, имеющий такой же размер, как текущий блок кодирования, и частичный блок данных, полученный разбиением одной из высоты и ширины текущего блока кодирования.
Согласно еще одному аспекту настоящего изобретения, предусмотрен способ кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, причем способ включает в себя операции: разбиения картинки видео на один или более максимальных блоков кодирования, которые являются блоками кодирования, имеющими максимальный размер; кодирования упомянутой картинки на основании блоков кодирования согласно глубинам, которые получены иерархическим разбиением каждого из одного или более максимальных блоков кодирования по глубинам в каждом из одного или более максимальных блоков кодирования и на основании типа раздела, определенного согласно глубинам блоков кодирования по глубинам, определения блоков кодирования согласно кодовым глубинам в отношении каждого из блоков кодирования по глубинам, и таким образом, определения блоков кодирования, имеющих древовидную структуру; и вывода данных, которые кодированы на основании типа раздела и блоков кодирования, имеющих древовидную структуру, информации о кодовых глубинах и режиме кодирования и информации о структуре блока кодирования, указывающей размер и переменную глубину блока кодирования.
Согласно еще одному аспекту настоящего изобретения, предусмотрено устройство декодирования видео, включающее в себя процессор декодирования видео и использующее блок предсказания на основании блоков кодирования, имеющих древовидную структуру, причем устройство декодирования видео включает в себя приемник для приема битового потока в отношении кодированного видео, а затем синтаксического анализа битового потока; модуль извлечения для извлечения информации о структуре блока кодирования, указывающей размер и переменную глубину блока кодирования, то есть блока данных для декодирования картинки видео, информации о кодовой глубине и режиме кодирования в отношении блоков кодирования, имеющих древовидную структуру упомянутой картинки из битового потока; и декодер для определения блоков кодирования, имеющих древовидную структуру, на основании информации о структуре блока кодирования и информации о кодовой глубине и режиме кодирования, определения типа раздела на основании глубины текущего блока кодирования, и декодирования упомянутой картинки на основании блоков кодирования и типа раздела, ассоциированный с процессором декодирования видео.
Согласно еще одному аспекту настоящего изобретения, предусмотрено устройство кодирования видео, включающее в себя процессор кодирования видео и использующее блок предсказания на основании блоков кодирования, имеющих древовидную структуру, причем устройство кодирования видео включает в себя модуль разбиения на максимальные блоки кодирования для разбиения картинки видео на один или более максимальных блоков кодирования, которые являются блоками кодирования, имеющими максимальный размер; определитель блока кодирования для кодирования упомянутой картинки на основании блоков кодирования согласно глубинам, которые получены иерархическим разбиением каждого из одного или более максимальных блоков кодирования по глубинам в каждом из одного или более максимальных блоков кодирования и на основании типа раздела, определенного согласно глубинам блоков кодирования по глубинам, определения блоков кодирования согласно кодовым глубинам в отношении каждого из блоков кодирования по глубинам, и таким образом, определения блоков кодирования, имеющих древовидную структуру, ассоциированный с процессором кодирования видео; и модуль вывода для вывода данных, которые кодированы на основании типа раздела и блоков кодирования, имеющих древовидную структуру, информации о кодовых глубинах и режиме кодирования и информации о структуре блока кодирования, указывающей размер и переменную глубину блока кодирования.
Согласно еще одному аспекту настоящего изобретения, предусмотрен компьютерно-читаемый носитель записи, содержащий записанную на нем программу для исполнения способа кодирования видео посредством использования компьютера. Согласно еще одному аспекту настоящего изобретения, предусмотрен компьютерно-читаемый носитель записи, содержащий записанную на нем программу для исполнения способа декодирования видео посредством использования компьютера.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В дальнейшем, настоящее изобретение будет полнее описано со ссылкой на прилагаемые чертежи, на которых показаны примерные варианты осуществления изобретения. В вариантах осуществления изобретения, термин 'изображение' может совместно указывать не только на неподвижное изображение, но также на движущуюся картинку, такую как видео.
В дальнейшем, устройства и способы кодирования и декодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру, будут подробно описаны со ссылкой на фиг. 1-15.
Фиг. 1 - структурная схема устройства для кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру 100, согласно варианту осуществления настоящего изобретения.
Устройство для кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру 100, включает в себя модуль 110 разбиения на максимальные блоки кодирования, определитель 120 блока кодирования и модуль 130 вывода. В дальнейшем, для удобства описания, устройство для кодирования видео посредством использования блока предсказания на основании блоков кодирования, имеющих древовидную структуру 100, указывается ссылкой как 'устройство 100 кодирования видео'.
Модуль 110 разбиения на максимальные блоки кодирования может разбивать текущую картинку на основании максимального блока кодирования для текущей картинки изображения. Если текущая картинка является большей, чем максимальный блок кодирования, данные изображения текущей картинки могут разбиваться на по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования согласно варианту осуществления настоящего изобретения может быть блоком данных, имеющим размер 32x32, 64x64, 128x128, 256x256 и т.д., при этом формой блока данных является квадрат, имеющий ширину и высоту в качестве квадратов 2. Данные изображения могут выдаваться в определитель 120 блока кодирования согласно по меньшей мере одному максимальному блоку кодирования.
Блок кодирования согласно варианту осуществления настоящего изобретения может характеризоваться максимальным размером и глубиной. Глубина обозначает количество раз, которое блок кодирования подвергнут пространственному разбиению из максимального блока кодирования и, по мере как глубина увеличивается, более глубокие блоки кодирования согласно глубинам могут разбиваться от максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования является самой верхней глубиной, а глубина минимального блока кодирования является самой низкой глубиной. Поскольку размер блока кодирования, соответствующего каждой глубине, уменьшается по мере того, как увеличивается глубина максимального блока кодирования, блок кодирования, соответствующий верхней глубине, может включать в себя множество блоков кодирования, соответствующих более низким глубинам.
Как описано выше, данные изображения текущей картинки разбиваются на максимальные блоки кодирования согласно максимальному размеру блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубокие блоки кодирования, которые разбиты по глубинам. Поскольку максимальный блок кодирования согласно варианту осуществления настоящего изобретения разбивается по глубинам, данные изображения пространственной области, включенные в максимальный блок кодирования, могут иерархически классифицироваться согласно глубинам.
Могут быть предварительно определены максимальная глубина и максимальный размер блока кодирования, которые ограничивают суммарное количество раз, которое иерархически разбиваются высота и ширина максимального блока кодирования.
Определитель 120 блока кодирования кодирует по меньшей мере одну область разбиения, полученную разбиением области максимального блока кодирования по глубинам, и определяет глубину для вывода окончательно кодированных данных изображения в по меньшей мере одну область разбиения.
Другими словами, определитель 120 блока кодирования определяет кодовую глубину, кодируя данные изображения в более глубоких блоках кодирования по глубинам, согласно максимальному блоку кодирования текущей картинки, и выбирая глубину, имеющую меньшую ошибку кодирования. Таким образом, в заключение выводятся кодированные данные изображения блока кодирования, соответствующего определенной кодовой глубине. К тому же, блоки кодирования, соответствующие кодовой глубине, могут рассматриваться в качестве кодированных блоков кодирования.
Определенная кодовая глубина и кодированные данные изображения согласно определенной кодовой глубине выдаются в модуль 130 вывода.
Данные изображения в максимальном блоке кодирования кодируются на основании более глубоких блоков кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основании каждого из более глубоких блоков кодирования. Глубина, имеющая меньшую ошибку кодирования, может выбираться после сравнения ошибок кодирования более глубоких блоков кодирования. По меньшей мере одна кодовая глубина может выбираться для каждого максимального блока кодирования.
Размер максимального блока кодирования разбивается по мере того, как блок кодирования иерархически разбивается по глубинам, и по мере того, как увеличивается количество блоков кодирования. К тому же, даже если блоки кодирования соответствуют одной и той же глубине в одном максимальном блоке кодирования, следует ли разбивать каждый из блоков кодирования, соответствующих одной и той же глубине, до более низких глубин, определяется посредством измерения ошибки кодирования данных изображения каждого блока кодирования в отдельности. Соответственно, даже когда данные изображения включены в один максимальный блок кодирования, данные изображения разбиваются на области по глубинам, и ошибки кодирования могут различаться согласно областям в одном максимальном блоке кодирования, и таким образом, кодовые глубины могут различаться по областям в данных изображения. Таким образом, одна или более кодовых глубин могут определяться в одном максимальном блоке кодирования, а данные изображения максимального блока кодирования могут разбиваться по блокам кодирования по меньшей мере одной кодовой глубины.
Соответственно, определитель 120 блока кодирования может определять блоки кодирования, имеющие древовидную структуру, включенные в максимальный блок кодирования. 'Блоки кодирования, имеющие древовидную структуру', согласно варианту осуществления настоящего изобретения, включают в себя блоки кодирования, соответствующие глубине, определенной, чтобы быть кодовой глубиной, из числа всех более глубоких блоков кодирования, включенных в максимальный блок кодирования. Блок кодирования кодовой глубины может иерархически определяться согласно глубинам в одной и той же области максимального блока кодирования и может независимо определяться в разных областях. Подобным образом, кодовая глубина в текущей области может независимо определяться по кодовой глубине в другой области.
Максимальная глубина согласно варианту осуществления настоящего изобретения является индексом, имеющим отношение к количеству раз разбиения от максимального блока кодирования до минимального блока кодирования. Максимальная глубина согласно варианту осуществления настоящего изобретения может обозначать общее количество раз разбиения от максимального блока кодирования до минимального блока кодирования. Например, когда глубина максимального блока кодирования имеет значение 0, глубина блока кодирования, на которой максимальный блок кодирования разбит один раз, может быть установлена в 1, а глубина блока кодирования, при которой максимальный блок кодирования разбит дважды, может быть установлена в 2. Здесь, если максимальный блок кодирования является блоком кодирования, в котором максимальный блок кодирования разбит четыре раза, существует 5 уровней глубины, по глубинам 0, 1, 2, 3 и 4, и таким образом, максимальная глубина может быть установлена в 4.
Кодирование с предсказанием и преобразование могут выполняться согласно максимальному блоку кодирования. Кодирование с предсказанием и преобразование также выполняются на основании более глубоких блоков кодирования согласно глубине, равной, или глубинам, меньшим чем максимальная глубина, согласно максимальному блоку кодирования. Преобразование может выполняться согласно способу частотного преобразования, ортогонального преобразования или целочисленного преобразования.
Поскольку количество более глубоких блоков кодирования увеличивается всякий раз, когда максимальный блок кодирования разбивается согласно глубинам, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми из более глубоких блоков кодирования по мере того, как углубляется глубина. Для удобства описания, кодирование с предсказанием и преобразование далее будут описаны на основании блока кодирования текущей глубины, в максимальном блоке кодирования.
Устройство 100 кодирования видео может по-разному выбирать размер или форму блока данных для кодирования данных изображения. Для того чтобы кодировать данные изображения, выполняются такие операции, как кодирование с предсказанием, преобразование и энтропийное кодирование, и, в это время, один и тот же блок данных может использоваться для всех операций, или разные блоки данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только блок кодирования для кодирования данных изображения, но также блок данных, отличный от блока кодирования, с тем чтобы выполнять кодирование с предсказанием над данными изображения в блоке кодирования.
Для того чтобы выполнять кодирование с предсказанием в максимальном блоке кодирования, кодирование с предсказанием может выполняться на основании блока кодирования, соответствующего кодовой глубине, то есть на основании блока кодирования, который больше не разбивается на блоки кодирования, соответствующие более низкой глубине. В дальнейшем, блок кодирования, который больше не разбивается и становится базовым блоком для кодирования с предсказанием, далее будет указываться ссылкой как 'блок предсказания'. Раздел, полученный разбиением блока предсказания, может включать в себя блок предсказания или блок данных, полученные разбиением по меньшей мере одной из высоты и ширины блока предсказания.
Например, когда блок кодирования 2Nx2N (где N - положительное целое число) больше не разбивается и становится блоком предсказания 2Nx2N, размером раздела могут быть 2Nx2N, 2NxN или Nx2N. Примеры типа раздела включают в себя симметричные разделы, которые получены симметричным разбиением высоты или ширины блока предсказания, разделы, полученные асимметричным разбиением высоты или ширины блока предсказания, таким как 1:n или n:1, разделы, которые получены геометрическим разбиением блока предсказания, и разделы, имеющие произвольные формы.
Размер типа раздела или блока предсказания блока кодирования может определяться согласно тому, выполняется ли разбиение над текущим блоком кодирования с текущей глубиной или более низкой глубиной.
Когда тип раздела текущего блока кодирования является симметричным типом раздела, симметричный тип раздела текущего блока кодирования может включать в себя раздел, имеющий такой же размер, как текущий блок кодирования, и раздел, полученный делением высоты или ширины текущего блока кодирования на два. То есть симметричный тип раздела блока кодирования, имеющего размер 2Nx2N, может включать в себя разделы 2Nx2N, 2NxN или Nx2N.
Когда текущий блок кодирования больше не разбивается на блоки кодирования более низкой глубины, симметричный тип раздела текущего блока кодирования может включать в себя разделы, имеющие такой же размер, как блоки кодирования более низкой глубины. То есть, когда текущий блок кодирования является минимальным блоком кодирования, который не может разбиваться на блоки кодирования более низкой глубины, и который из числа текущих максимальных блоков кодирования, симметричный тип раздела текущего блока кодирования может включать в себя не только разделы 2Nx2N, 2NxN и Nx2N, но также может включать в себя раздел, имеющий размер NxN.
Подобным образом, когда текущий блок кодирования является блоком кодирования самой низкой глубины из числа текущих максимальных блоков кодирования, симметричный тип разбиения текущего блока кодирования может включать в себя не только разделы 2Nx2N, 2NxN и Nx2N, но также может включать в себя раздел, имеющий размер NxN.
Например, когда блок кодирования, имеющий текущую глубину и размер 2Nx2N, разбит один раз и, таким образом, разделен на блоки кодирования, имеющие более низкую глубину и размер NxN, внутрикадровое предсказание и межкадровое предсказание могут выполняться над блоком кодирования, имеющим размер NxN, посредством раздела, имеющего размер NxN. Таким образом, для того чтобы избежать повторения излишней последовательности операций, в структуре иерархических блоков кодирования согласно настоящему варианту осуществления, тип раздела, имеющий размер NxN, может не устанавливаться для блока кодирования, имеющего размер 2Nx2N.
Однако, когда текущий блок кодирования, имеющий размер 2Nx2N, является минимальным блоком кодирования, текущий блок кодирования больше не разбивается на блоки кодирования, имеющие размер NxN, так что внутрикадровое предсказание или межкадровое предсказание могут выполняться над текущим блоком кодирования посредством использования разделов, имеющих размер NxN. Таким образом, тип раздела минимального блока кодирования, имеющего размер 2Nx2N, может включать в себя разделы 2Nx2N, 2NxN, Nx2N и NxN.
Режим предсказания блока предсказания может быть по меньшей мере одним из внутрикадрового режима, межкадрового режима и режима пропуска. Например, кодирование с предсказанием во внутрикадровом режиме и межкадровом режиме может выполняться над разделом 2Nx2N, 2NxN или Nx2N.
То есть, в по меньшей мере одном из случаев, в котором текущий блок кодирования не является минимальным блоком кодирования, в котором текущий блок кодирования разбит на блоки кодирования более низкой глубины, и в котором текущий блок кодирования не является блоком кодирования самой низкой глубины из числа текущих максимальных блоков кодирования, внутрикадровое предсказание и межкадровое предсказание, которые выполняются посредством использования раздела NxN, могут пропускаться.
Однако, когда текущий блок кодирования является минимальным блоком кодирования, поскольку внутрикадровое предсказание и межкадровое предсказание не могут выполняться над блоком кодирования более низкой глубины, внутрикадровое предсказание и межкадровое предсказание могут выполняться над минимальным блоком кодирования посредством использования разделов 2Nx2N, 2NxN, Nx2N и NxN.
К тому же, режим пропуска может выполняться только над разделом 2Nx2N. Кодирование выполняется независимо над одним блоком предсказания в блоке кодирования, тем самым выбирая режим предсказания, вызывающий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование над данными изображения в блоке кодирования не только на основании блока кодирования для кодирования данных изображения, но также на основании блока данных, который отличен от блока кодирования.
Для того чтобы выполнять преобразование в блоке кодирования, преобразование может выполняться на основании блока преобразования, имеющего размер, меньший чем или равный блоку кодирования. Например, блок преобразования для преобразования может включать в себя блок преобразования для внутрикадрового режима и блок преобразования для межкадрового режима.
Подобно блоку кодирования, имеющему древовидную структуру, блок преобразования в блоке кодирования может соответственно разбиваться на области с меньшим размером. Таким образом, остаточные данные в блоке кодирования могут быть разбиты согласно преобразованию, имеющему древовидную структуру по глубинам преобразования.
Глубина преобразования, указывающая количество раз разбиения, чтобы достичь блока преобразования посредством разбиения высоты и ширины блока кодирования, также может устанавливаться в блоке преобразования. Например, в текущем блоке кодирования 2Nx2N, глубина преобразования может иметь значение 0, когда размером блока преобразования также является 2Nx2N, может иметь значение 1, когда размером блока преобразования, таким образом, является NxN, и может иметь значение 2, когда размер блока преобразования, таким образом, является N/2xN/2. То есть блок преобразования может устанавливаться согласно иерархической древовидной структуре согласно иерархическим характеристикам глубин преобразования.
Информация о кодировании согласно блокам кодирования, соответствующим кодовой глубине, требует не только информации о кодовой глубине, но также об информации, имеющей отношение к кодированию с предсказанием и преобразованию. Соответственно, определитель 120 блока кодирования не только определяет кодовую глубину, имеющую минимальную ошибку кодирования, но также определяет тип раздела в блоке предсказания, режим предсказания согласно блокам предсказания и размер блока преобразования для преобразования.
Блоки кодирования согласно древовидной структуре в максимальном блоке кодирования и способ определения раздела, согласно вариантам осуществления настоящего изобретения, позже будут описаны подробно со ссылкой на фиг. 3-13.
Определитель 120 блока кодирования может измерять ошибку кодирования более глубоких блоков кодирования согласно глубине, используя оптимизацию случайного искажения, основанную на коэффициентах Лагранжа.
Модуль 130 вывода выдает данные изображения максимального блока кодирования, которые кодированы на основании по меньшей мере одной кодовой глубины, определенной определителем 120 блока кодирования, и информацию о режиме кодирования согласно кодовой глубине, в битовых потоках.
Кодированные данные изображения могут быть получены кодированием остаточных данных изображения.
Информация о режиме кодирования согласно кодовой глубине может включать в себя информацию о кодовой глубине, о типе раздела в блоке предсказания, режиме предсказания и размере блока преобразования.
Информация о кодовой глубине может определяться посредством использования информации о разбиении по глубинам, которая указывает, выполняется ли кодирование на блоках кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущего блока кодирования является кодовой глубиной, данные изображения в текущем блоке кодирования кодируются и выдаются, и, таким образом, информация о разбиении может быть определена, чтобы не разбивать текущий блок кодирования до более низких глубин. В качестве альтернативы, если текущая глубина текущего блока кодирования не является кодовой глубиной, кодирование выполняется над блоком кодирования более низкой глубины и, таким образом, информация о разбиении может быть определена, чтобы разбивать текущий блок кодирования для получения блоков кодирования более низкой глубины.
Если текущая глубина не является кодовой глубиной, кодирование выполняется над блоком кодирования, который разбит на блок кодирования более низкой глубины. Поскольку по меньшей мере один блок кодирования более низкой глубины существует в одном блоке кодирования текущей глубины, кодирование выполняется повторно над каждым блоком кодирования более низкой глубины и, таким образом, кодирование может выполняться рекурсивно для блоков кодирования, имеющих одинаковую глубину.
Поскольку блоки кодирования, имеющие древовидную структуру, определены для одного максимального блока кодирования, и информация о по меньшей мере одном режиме кодирования определена для блока кодирования кодовой глубины, информация о по меньшей мере одном режиме кодирования может быть определена для одного максимального блока кодирования. К тому же, глубина данных изображения максимального блока кодирования может быть разной по местоположениям, поскольку данные изображения иерархически разбиваются согласно глубинам, и таким образом, информация о кодовой глубине и режиме кодирования может устанавливаться для данных изображения.
Соответственно, модуль 130 вывода может назначать информацию о кодировании касательно соответствующей кодовой глубины и режима кодирования на по меньшей мере один из блока кодирования, блока предсказания и минимального блока, включенных в максимальный блок кодирования. Модуль 130 вывода может вставлять информацию о соответствующей кодовой глубине и соответствующем режиме кодирования в заголовок битового потока для передачи кодированных видеоданных, набора параметров последовательности (SPS) или набора параметров картинки (PPS), и может выводить их.
Минимальный блок согласно варианту осуществления настоящего изобретения может быть прямоугольным блоком данных, полученным разбиением минимального блока кодирования, составляющего самую нижнюю глубину, на 4. Минимальный блок согласно варианту осуществления настоящего изобретения может быть максимальным прямоугольным блоком данных, который может быть включен во все из блоков кодирования, блоков предсказания, блоков разбиения и блоков преобразования, включенных в максимальный блок кодирования.
Например, информация о кодировании, выдаваемая через модуль 130 вывода, может классифицироваться на информацию о кодировании по блокам кодирования и информацию о кодировании по блокам предсказания. Информация о кодировании по блокам кодирования включает в себя информацию о режиме предсказания и информацию о размере разделов. Информация о кодировании согласно блокам предсказания может включать в себя информацию об оцененном направлении межкадрового режима, об индексе опорного изображения межкадрового режима, о векторе движения, о составляющей цветности внутрикадрового режима и о способе интерполяции внутрикадрового режима.
К тому же, информация о структуре блока кодирования касательно размера и переменной глубины блока кодирования, определенных согласно последовательностям, картинкам, вырезкам или GOP, может вставляться в SPS, PPS или заголовок битового потока.
Переменная глубина может указывать не только максимальную допустимую глубину текущих блоков кодирования, имеющих древовидную структуру, но также может указывать самую низкую глубину блока кодирования, имеющего минимальный размер, количество уровней глубины или изменение глубины.
Количество уровней глубины может указывать количество уровней глубины или более глубоких блоков кодирования согласно глубинам, которые могут существовать в текущих блоках кодирования, имеющих древовидную структуру. Изменение глубины может указывать величину изменения более глубоких блоков кодирования согласно глубинам, которые могут существовать в текущих блоках кодирования, имеющих древовидную структуру.
Информация о переменной глубине может быть установлена согласно последовательностям, картинкам, вырезкам или GOP. То есть, информация о переменной глубине и информация о максимальном размере или информация о минимальном размере блока кодирования из числа текущих блоков кодирования, имеющих древовидную структуру, может устанавливаться для каждого из блоков данных последовательностей, картинок, вырезок или GOP.
Таким образом, модуль 130 вывода может учитывать информацию о кодировании, включающую в себя, в качестве информации о структуре блока кодирования, по меньшей мере две из информации о переменной глубине, информации о максимальном размере блока кодирования и информации о минимальном размере блока кодирования, может вставлять информацию о кодировании в заголовок битового потока, то есть, SPS или PPS, а затем может выводить битовый поток. Переменная глубина, максимальный размер и минимальный размер блока кодирования определяются согласно последовательностям, картинкам, вырезкам или GOP соответственно. В дополнение, информация о кодировании, выведенная из модуля 130 вывода, может включать в себя индексы преобразования. Информация об индексе преобразования может указывать информацию о структуре блока преобразования, который используется для преобразования текущего блока кодирования. Информация об индексе преобразования может указывать, разбивается ли текущий блок преобразования на более низкоуровневые блоки преобразования.
В устройстве 100 кодирования видео, более глубокий блок кодирования может быть блоком кодирования, полученным посредством деления на две высоты или ширины блока кодирования более высокой глубины, который находится на один уровень выше. Другими словами, когда размер блока кодирования текущей глубины имеет значение 2Nx2N, размер блока кодирования более низкой глубины имеет значение NxN. К тому же, блок кодирования текущей глубины, имеющий размер 2Nx2N, может включать в себя ма