Способ и устройство для кодирования видео с учетом порядка сканирования блоков кодирования, имеющих иерархическую структуру, и способ и устройство для декодирования видео с учетом порядка сканирования блоков кодирования, имеющих иерархическую структуру
Иллюстрации
Показать всеИзобретение относится к области кодирования и декодирования видео. Техническим результатом является повышение эффективности кодирования или декодирования видеоконтента высокого разрешения или высокого качества. Указанный технический результат достигается тем, что способ декодирования видео включает прием и синтаксический анализ битового потока кодированного видео и декодирование кодированных данных изображения для максимального блока кодирования на основании информации о глубине кодирования и режиме кодирования для максимального блока кодирования с учетом растрового порядка сканирования для максимального блока кодирования и зигзагообразного порядка сканирования для блоков кодирования максимального блока кодирования по глубинам. 6 н. и 9 з.п. ф-лы, 29 ил., 1 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видео.
Уровень техники
По мере продолжения разработки и поставки аппаратных средств для воспроизведения и хранения видеоконтента высокого разрешения или высокого качества продолжает возрастать необходимость в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В видеокодеке из уровня техники видео кодируется согласно ограниченному способу кодирования, основанному на макроблоке, имеющем заданный размер. В дополнение, в видеокодеке из уровня техники видеоданные кодируются и декодируются посредством сканирования макроблоков согласно растровому способу.
Раскрытие изобретения
Устройства и способы, соответствующие примерным вариантам осуществления, предусматривают порядок сканирования данных, ассоциированный с кодированием и декодированием видео, и окрестное взаимное расположение между данными.
Решение задачи
Согласно аспекту примерного варианта осуществления, предложен способ декодирования видео, способ включает в себя прием и синтаксический анализ битового потока кодированного видео; извлечение из битового потока кодированных данных изображения текущего кадра кодированного видео, назначенных в максимальный блок кодирования текущего кадра, и информации о глубине кодирования и режиме кодирования согласно максимальному блоку кодирования, при этом максимальный блок кодирования является блоком кодирования текущего кадра, имеющим максимальный размер; и декодирование кодированных данных изображения для максимального блока кодирования на основании информации о глубине кодирования и режиме кодирования для максимального блока кодирования, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для блоков кодирования максимального блока кодирования по глубинам, при этом максимальный блок кодирования пространственно разбивается на по меньшей мере один блок кодирования согласно по меньшей мере одной глубине, и по мере того, как глубина возрастает от самой верхней глубины, максимальный блок кодирования иерархически разбивается от максимального блока кодирования, соответствующего самой верхней глубине, до по меньшей мере одного минимального блока кодирования, соответствующего самой нижней глубине, из по меньшей мере одной глубины, при этом по меньшей мере один блок кодирования является более глубоким блоком кодирования.
Полезные эффекты изобретения
Применимость информации об окрестности может быть проверена, и к информации об окрестности можно обращаться, чтобы декодировать заданный блок кодирования, принимая во внимание порядок сканирования различных иерархических блоков данных, такой как растровый порядок сканирования для максимальных блоков кодирования или блоков прогнозирования, либо зигзагообразный порядок сканирования, или растровый порядок сканирования для минимальных блоков. Окрестная информация согласно примерному варианту осуществления может включать в себя информацию о блоках данных, расположенных на левой нижней стороне текущего блока данных.
Краткое описание чертежей
Вышеприведенные и/или другие аспекты будут более понятными из подробного описания их примерных вариантов осуществления со ссылкой на сопровождающие чертежи, на которых:
фиг.1 - структурная схема устройства для кодирования видео согласно примерному варианту осуществления;
фиг.2 - структурная схема устройства для декодирования видео согласно примерному варианту осуществления;
фиг.3 - схема для описания концепции блоков кодирования согласно примерному варианту осуществления;
фиг.4 - структурная схема кодировщика изображения, основанного на блоках кодирования, согласно примерному варианту осуществления;
фиг.5 - структурная схема декодера изображения, основанного на блоках кодирования, согласно примерному варианту осуществления;
фиг.6 - схема, иллюстрирующая более глубокие блоки кодирования по глубинам и блокам прогнозирования согласно примерному варианту осуществления;
фиг.7 - схема для описания взаимного расположения между блоком кодирования и блоками преобразования согласно примерному варианту осуществления;
фиг.8 - схема для описания информации о кодировании блоков кодирования, соответствующих глубине кодирования, согласно примерному варианту осуществления;
фиг.9 - схема более глубоких блоков кодирования по глубинам, согласно примерному варианту осуществления;
фиг. с 10 по 12 - схемы для описания взаимного расположения между блоками кодирования, блоками прогнозирования и блоками преобразования согласно примерному варианту осуществления;
фиг.13 - схема для описания взаимного расположения между блоком кодирования, блоком прогнозирования и блоком преобразования согласно режиму кодирования, по примерному варианту осуществления;
фиг.14 иллюстрирует растровый порядок сканирования максимального блока кодирования согласно примерному варианту осуществления;
фиг.15 иллюстрирует растровый порядок сканирования минимальных блоков согласно примерному варианту осуществления;
фиг.16 иллюстрирует зигзагообразный порядок сканирования минимальных блоков согласно примерному варианту осуществления;
фиг.17 иллюстрирует зависимость между местоположениями и индексами сканирования блока кодирования, блока прогнозирования, раздела и блока преобразования согласно примерному варианту осуществления;
фиг.18 иллюстрирует индекс сканирования блока кодирования согласно примерному варианту осуществления;
фиг.19 иллюстрирует порядок сканирования блоков кодирования по индексам сканирования блоков кодирования, согласно примерному варианту осуществления;
фиг.20 иллюстрирует индексы сканирования разделов по типам разделов согласно примерному варианту осуществления;
фиг.21 иллюстрирует блоки данных, которые могут использоваться в качестве информации об окрестности текущего блока данных, согласно примерному варианту осуществления;
фиг.22 иллюстрирует максимальные блоки кодирования, смежные с текущим максимальным блоком кодирования, согласно примерному варианту осуществления;
фиг.23 иллюстрирует макроблоки, удовлетворяющие растровому способу сканирования;
фиг.24 иллюстрирует текущий блок прогнозирования, удовлетворяющий зигзагообразному порядку сканирования, согласно примерному варианту осуществления;
фиг.25 иллюстрирует минимальные блоки, смежные с текущим разделом, согласно примерному варианту осуществления;
фиг.26 - схема для пояснения способа прогнозирования вектора движения с использованием информации об окрестности, согласно примерному варианту осуществления;
фиг.27 иллюстрирует способ интерполяции, использующий информацию об окрестности, согласно примерному варианту осуществления настоящего изобретения;
фиг.28 - блок-схема последовательности операций способа, иллюстрирующая способ кодирования видео посредством использования информации об окрестности, согласно примерному варианту осуществления; и
фиг.29 - блок-схема последовательности операций способа, иллюстрирующая способ декодирования видео посредством использования информации об окрестности, согласно примерному варианту осуществления.
Осуществление изобретения
Согласно аспекту примерного варианта осуществления, предложен способ декодирования видео, причем способ включает в себя прием и синтаксический анализ битового потока кодированного видео; извлечение из битового потока кодированных данных изображения текущего кадра кодированного видео, назначенных в максимальный блок кодирования текущего кадра, и информации о глубине кодирования и режиме кодирования согласно максимальному блоку кодирования, при этом максимальный блок кодирования является блоком кодирования текущего кадра, имеющим максимальный размер; и декодирование кодированных данных изображения для максимального блока кодирования на основании информации о глубине кодирования и режиме кодирования для максимального блока кодирования, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для блоков кодирования максимального блока кодирования по глубинам, при этом максимальный блок кодирования пространственно разбивается на по меньшей мере один блок кодирования согласно по меньшей мере одной глубине, и по мере того, как глубина возрастает от самой верхней глубины, максимальный блок кодирования иерархически разбивается от максимального блока кодирования, соответствующего самой верхней глубине, до по меньшей мере одного минимального блока кодирования, соответствующего самой нижней глубине, из по меньшей мере одной глубины, при этом по меньшей мере один блок кодирования является более глубоким блоком кодирования.
Декодирование кодированных данных изображения может включать в себя анализ иерархической структуры по меньшей мере одного более глубокого блока кодирования для максимального блока кодирования посредством использования информации о глубине кодирования и режиме кодирования для максимального блока кодирования.
Декодирование кодированных данных изображения может включать в себя поиск местоположения максимального блока кодирования на основании адреса максимального блока кодирования согласно растровому порядку сканирования.
Декодирование кодированных данных изображения может включать в себя поиск местоположения минимального блока на основании индекса минимального блока согласно зигзагообразному порядку сканирования для максимального блока кодирования.
Декодирование кодированных данных изображения может включать в себя поиск местоположения минимального блока на основании индекса минимального блока согласно растровому порядку сканирования для максимального блока кодирования.
Декодирование кодированных данных изображения может включать в себя взаимное преобразование индекса минимального блока согласно зигзагообразному порядку сканирования и индекса минимального блока согласно растровому порядку сканирования друг в друга для максимального блока кодирования.
Местоположение максимального блока кодирования может быть выражено в качестве местоположения пикселя, расположенного на левом верхнем краю максимального блока кодирования, то есть относительно местоположения отсчета, расположенного на левом верхнем краю текущего кадра.
Местоположение минимального блока может быть выражено в качестве местоположения пикселя, расположенного на левом верхнем краю минимального блока, то есть относительно местоположения отсчета, расположенного на левом верхнем краю максимального блока кодирования.
При декодировании кодированных данных изображения к информации об окрестности можно обращаться посредством проверки применимости информации об окрестности, принимая во внимание порядок сканирования максимального блока кодирования, блока прогнозирования, раздела и минимального блока.
Декодирование кодированных данных изображения может включать в себя проверку применимости максимального блока кодирования.
В случае, ином чем случай, при котором максимальный блок кодирования не включен в текущий кадр, случай, где максимальный блок кодирования не включен в текущую серию последовательных макроблоков, и случай, где адрес максимального блока кодирования находится позже адреса текущего максимального блока кодирования, в показателях порядка сканирования, могут использоваться данные, соответствующие максимальному блоку кодирования.
Декодирование кодированных данных изображения может включать в себя проверку применимости по меньшей мере одного более глубокого блока кодирования, включенного в максимальный блок кодирования.
В случае, ином чем случай, при котором максимальный блок кодирования не включен в текущий кадр, случай, где максимальный блок кодирования не включен в текущую серию последовательных макроблоков, случай, где адрес максимального блока кодирования находится позже, чем адрес текущего максимального блока, кодирования в показателях порядка сканирования, и случай, где индекс минимального блока на левом верхнем краю более глубокого блока кодирования согласно зигзагообразному порядку сканирования находится позже в показателях порядка сканирования, чем индекс минимального блока, согласно зигзагообразному порядку сканирования, могут использоваться данные, соответствующие более глубокому блоку кодирования.
Декодирование кодированных данных изображения может включать в себя проверку по меньшей мере одного максимального блока кодирования, смежного с максимальным блоком кодирования, и применимости по меньшей мере одного смежного максимального блока кодирования.
По меньшей мере один максимальный блок кодирования, смежный с максимальным блоком кодирования, может включать в себя по меньшей мере один из максимального блока кодирования на левой стороне максимального блока кодирования, максимального блока кодирования на верхней стороне максимального блока кодирования, максимального блока кодирования на правой верхней стороне максимального блока кодирования и максимального блока кодирования на левой верхней стороне максимального блока кодирования.
Декодирование кодированных данных изображения дополнительно может включать в себя проверку по меньшей мере одного минимального блока, смежного с текущим блоком прогнозирования, включенным в максимальный блок кодирования, и применимости по меньшей мере одного смежного минимального блока.
По меньшей мере один минимальный блок, смежный с текущим блоком прогнозирования, может включать в себя по меньшей мере один из минимального блока на левой стороне текущего блока прогнозирования, минимального блока на верхней стороне текущего блока прогнозирования, минимального блока на правой верхней стороне текущего блока прогнозирования, минимального блока на левой верхней стороне текущего блока прогнозирования и минимального блока на левой нижней стороне текущего блока прогнозирования.
Декодирование кодированных данных изображения дополнительно может включать в себя проверку местоположения и применимости по меньшей мере одной границы, смежной с максимальным блоком кодирования.
По меньшей мере одна граница, смежная с максимальным блоком кодирования, может включать в себя по меньшей мере один из максимального блока кодирования на левой стороне максимального блока кодирования, максимального блока кодирования на верхней стороне максимального блока кодирования, максимального блока кодирования на правой верхней стороне максимального блока кодирования и максимального блока кодирования на левой верхней стороне максимального блока кодирования.
Минимальный блок может быть назначен информацией о кодировании, включающей в себя по меньшей мере одну из информации о соответствующем более глубоком блоке кодирования, информации о разбиении соответствующего более глубокого блока кодирования на блок прогнозирования или раздел и информации о режиме прогнозирования блока прогнозирования или раздела.
Декодирование кодированных данных изображения дополнительно может включать в себя проверку применимости более глубокого блока кодирования или блока прогнозирования, который включает в себя минимальный блок, на основании информации о кодировании, назначенной в минимальный блок.
Максимальный блок кодирования может включать в себя множество блоков кодирования, и когда первый блок кодирования из множества блоков кодирования, который является смежным со вторым блоком кодирования из множества блоков кодирования, сканируется позже, чем второй блок кодирования согласно растровому порядку сканирования, и первый блок кодирования сканируется раньше, чем второй блок кодирования, согласно зигзагообразному порядку сканирования, к первому блоку кодирования можно обращаться для декодирования второго блока кодирования.
Когда первый блок кодирования находится на левой нижней стороне второго блока кодирования, к первому блоку кодирования можно обращаться для декодирования второго блока кодирования.
Когда первый блок кодирования находится на левой нижней стороне второго блока кодирования, к правой границе первого блока кодирования можно обращаться для декодирования второго блока кодирования.
Согласно аспекту еще одного примерного варианта осуществления, предложен способ кодирования видео, причем способ включает в себя разбиение текущего кадра видео на максимальный блок кодирования; определение глубины кодирования для выдачи окончательного результата кодирования согласно по меньшей мере одной области разбиения, полученной разбиением области максимального блока кодирования по глубинам, кодированием по меньшей мере одной области разбиения на основании по меньшей мере одной глубины, которая возрастает пропорционально количеству раз, которое разбивается область максимального блока кодирования; и кодирование и выдачу данных изображения, кодированных на глубине кодирования, определенной для максимального блока кодирования, и информации о глубине кодирования и режиме кодирования, при этом кодирование выполняется, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для по меньшей мере одного блока кодирования, включенного в максимальный блок кодирования.
В способе к информации об окрестности, включающей в себя блок данных, расположенный на левой нижней стороне текущего блока данных, можно обращаться для кодирования данных изображения, соответствующих текущему блоку данных.
Информация об окрестности может включать в себя максимальный блок кодирования на левой стороне максимального блока кодирования, максимальный блок кодирования на верхней стороне максимального блока кодирования, максимальный блок кодирования на правой верхней стороне максимального блока кодирования и максимальный блок кодирования на левой верхней стороне максимального блока кодирования.
Информация об окрестности может включать в себя минимальный блок на левой стороне текущего блока прогнозирования, минимальный блок на верхней стороне текущего блока прогнозирования, минимальный блок на правой верхней стороне текущего блока прогнозирования, минимальный блок на левой верхней стороне текущего блока прогнозирования и минимальный блок на левой нижней стороне текущего блока прогнозирования.
Информация об окрестности может включать в себя правую границу блока кодирования, расположенного на левой нижней стороне текущего блока прогнозирования.
Максимальный блок кодирования может включать в себя множество блоков кодирования, и когда первый блок кодирования из множества блоков кодирования, который является смежным со вторым блоком кодирования из множества блоков кодирования, сканируется позже, чем второй блок кодирования согласно растровому порядку сканирования, и первый блок кодирования сканируется раньше, чем второй блок кодирования, согласно зигзагообразному порядку сканирования, первый блок кодирования может использоваться в качестве информации об окрестности, которая используется для кодирования второго блока кодирования.
Первый блок кодирования может быть на левой нижней стороне второго блока кодирования.
Согласно аспекту еще одного примерного варианта осуществления, предложено устройство для декодирования видео, устройство включает в себя приемник, который принимает и синтаксически анализирует битовый поток кодированного видео; выделитель данных изображения и информации о кодировании, который извлекает из битового потока кодированные данные изображения текущего кадра кодированного видео, назначенные в максимальный блок кодирования текущего кадра, и информацию о глубине кодирования и режиме кодирования согласно максимальному блоку кодирования, при этом максимальный блок кодирования является блоком кодирования текущего кадра, имеющим максимальный размер; и декодер данных изображения, который декодирует кодированные данные изображения для максимального блока кодирования на основании информации о глубине кодирования и режиме кодирования для максимального блока кодирования, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для блоков кодирования по глубинам, при этом по мере того, как глубина возрастает от самой верхней глубины, максимальный блок кодирования иерархически разбивается от максимального блока кодирования, соответствующего самой верхней глубине, до минимальных блоков кодирования, соответствующих самой нижней глубине.
Согласно аспекту еще одного примерного варианта осуществления, предложено устройство для кодирования видео, устройство включает в себя разделитель максимального блока кодирования, который разбивает текущий кадр видео на максимальный блок кодирования, определитель блока кодирования, который определяет глубину кодирования для выдачи окончательного результата кодирования согласно по меньшей мере одной области разбиения, полученной разбиением области максимального блока кодирования по глубинам, кодированием по меньшей мере одной области разбиения на основании глубины, которая возрастает пропорционально количеству раз, которое разбивает область максимального блока кодирования; и модуль вывода, который кодирует и выдает данные изображения, кодированные на глубине кодирования, определенной для максимального блока кодирования, и информацию о кодовой глубине и режиме кодирования, при этом кодирование выполняется, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для по меньшей мере одного блока кодирования, включенного в максимальный блок кодирования.
Согласно аспекту еще одного примерного варианта осуществления, предложен машиночитаемый носитель записи, имеющий записанную на нем программу для выполнения способа декодирования видео.
Согласно аспекту еще одного примерного варианта осуществления, предложен машиночитаемый носитель записи, имеющий записанную на нем программу для выполнения способа кодирования видео.
Согласно аспекту еще одного примерного варианта осуществления, предложен способ декодирования видео, способ включает в себя извлечение из битового потока кодированных данных изображения текущего кадра видео, назначенных в максимальный блок кодирования текущего кадра, и информации о глубине кодирования согласно максимальному блоку кодирования, при этом максимальный блок кодирования является блоком кодирования текущего кадра, имеющим максимальный размер; и декодирование кодированных данных изображения для максимального блока кодирования на основании информации о глубине кодирования, принимая во внимание растровый порядок сканирования для максимального блока кодирования и зигзагообразный порядок сканирования для блоков кодирования максимального блока кодирования по глубинам, при этом максимальный блок кодирования пространственно разбивается на по меньшей мере один блок кодирования согласно по меньшей мере одной глубине, и по мере того, как глубина возрастает от самой верхней глубины, максимальный блок кодирования иерархически разбивается от максимального блока кодирования, соответствующего самой верхней глубине, до по меньшей мере одного минимального блока кодирования, соответствующего самой нижней глубине, из по меньшей мере одной глубины, при этом по меньшей мере один блок кодирования является более глубоким блоком кодирования.
Вариант осуществления изобретения
В дальнейшем, примерные варианты осуществления будут более полно описаны со ссылкой на прилагаемые чертежи, на всем протяжении которых одинаковые номера ссылок указывают ссылкой на идентичные элементы. Выражения, такие как «по меньшей мере один из», перед списком элементов модифицируют весь список элементов и не модифицируют отдельные элементы списка.
В дальнейшем блок кодирования представляет собой блок данных кодирования, в котором данные изображения закодированы на стороне кодировщика, и блок данных кодирования, в котором кодированные данные изображения декодируются на стороне декодера, согласно примерным вариантам осуществления. К тому же, глубина кодирования указывает глубину, на которую закодирован блок кодирования.
В дальнейшем, «изображение» может обозначать неподвижное изображение для видео или движущееся изображение, то есть само видео.
Фиг.1 - структурная схема устройства 100 кодирования видео согласно примерному варианту осуществления. Со ссылкой на фиг.1, устройство 100 кодирования видео включает в себя разделитель 110 максимального блока кодирования, определитель 120 блока кодирования и модуль 130 вывода.
Разделитель 110 максимального блока кодирования может разбивать текущий кадр на основании максимального блока кодирования для текущего кадра изображения. Если текущий кадр является большим, чем максимальный блок кодирования, данные изображения текущего кадра могут разбиваться на по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования согласно примерному варианту осуществления может быть блоком данных, имеющим размер 32x32, 64x64, 128x128, 256x256 и т.д., при этом формой блока данных является квадрат, имеющий ширину и высоту в качестве квадратов 2. Данные изображения могут выдаваться в определитель 120 блока кодирования согласно по меньшей мере одному максимальному блоку кодирования.
Блок кодирования согласно примерному варианту осуществления может характеризоваться максимальным размером и глубиной. Глубина обозначает количество раз, которое блок кодирования пространственно разбивает из максимального блока кодирования. Соответственно, по мере возрастания глубины блоки кодирования с большей глубиной могут разбиваться согласно глубинам от максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования является самой верхней глубиной, а глубина минимального блока кодирования является самой нижней глубиной. Поскольку размер блока кодирования, соответствующего каждой глубине, уменьшается по мере возрастания глубины максимального блока кодирования, блок кодирования, соответствующий верхней глубине, может включать в себя множество блоков кодирования, соответствующих более низким глубинам.
Как описано выше, данные изображения текущего кадра разбиваются на один или более максимальных блоков кодирования согласно максимальному размеру блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубокие блоки кодирования, которые разбиты по глубинам. Поскольку максимальный блок кодирования согласно примерному варианту осуществления разбивается по глубинам, данные изображения пространственной области, включенные в максимальный блок кодирования, могут иерархически классифицироваться согласно глубинам.
Могут быть заданы максимальная глубина и максимальный размер блока кодирования, которые ограничивают суммарное количество раз, которое иерархически разбиваются высота и ширина максимального блока кодирования.
Определитель 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 кодирования видео также может выполнять преобразование над данными изображения в блоке кодирования не только на основании блока кодирования для кодирования данных изображения, но также на основании блока данных, который отличен от блока кодирования.
Для того чтобы выполнять преобразование в блоке кодирования, преобразование может выполняться на осн