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