Способ и устройство для кодирования видео и способ и устройство для декодирования видео

Иллюстрации

Показать все

Изобретение относится к технологиям обработки видеоданных. Техническим результатом является обеспечение эффективного декодирования видео за счет использования иерархического блока кодирования, имеющего различный размер. Предложен способ декодирования видео. Способ включает в себя этап, на котором осуществляют анализ, из потока битов кодированного видео, информации о размере блока кодирования для определения максимального размера блока кодирования и определения множества максимальных блоков кодирования, используя максимальный размер блока кодирования, который определен согласно информации о размере блока кодирования. А также согласно способу осуществляют анализ, из упомянутого потока битов, информации разделения, указывающей, разделен ли блок кодирования, и определяют на основании информации разделения, по меньшей мере, один блок кодирования, который иерархически разделен из текущего максимального блока кодирования из упомянутого множества максимальных блоков кодирования. 2 н. и 2 з.п. ф-лы, 15 ил., 1 табл.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[1] Примерные варианты осуществления относятся к кодированию и декодированию видео.

УРОВЕНЬ ТЕХНИКИ

[2] Поскольку аппаратное обеспечение для воспроизведения и сохранения видео контента с высоким разрешением или высоким качеством развивается и поставляется, потребность в видео кодеке для эффективного кодирования или декодирования видео контента с высоким разрешением или высоким качеством увеличивается. В обычном видео кодеке видео закодировано согласно ограниченному способу кодирования, основанному на макроблоке, имеющем заранее определенный размер.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

Техническая проблема

[3] Примерные варианты осуществления обеспечивают кодирование и декодирование изображения, на основании иерархического блока кодирования, имеющего различный размер.

Решение проблемы

[4] Согласно аспекту примерного варианта осуществления предоставлен способ кодирования видео, причем способ содержит: разделение текущей картинки в по меньшей мере один максимальный блок кодирования; определение кодированной глубины, чтобы вывести окончательный результат кодирования согласно по меньшей мере одной области разделения, полученной посредством разделения области каждого по меньшей мере одного максимального блока кодирования согласно глубинам, посредством кодирования по меньшей мере одной области разделения на основании глубины, которая углубляется в пропорции к количеству раз, сколько область каждого максимального блока кодирования разделяется; и вывод данных изображения, составляющих окончательный результат кодирования согласно по меньшей мере одной области разделения, и информации кодирования о кодированной глубине и режиме предсказания, согласно каждому максимальному блоку кодирования.

Выгодные эффекты изобретения

[5] Когда данные изображения имеют высокое разрешение и большое количество данных, данные изображения могут быть эффективно декодированы и восстановлены посредством использования размера блока кодирования и режима кодирования, которые адаптивно определены согласно характеристикам данных изображения, посредством использования информации об оптимальном режиме кодирования, принятом от кодера.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[6] Вышеупомянутые и другие признаки примерного варианта осуществления станут более очевидными посредством подробного описания примерных вариантов его осуществления со ссылками на прилагаемые чертежи, на которых:

[7] ФИГ. 1 является блок-схемой устройства для кодирования видео, согласно примерному варианту осуществления;

[8] ФИГ. 2 является блок-схемой устройства для декодирования видео, согласно примерному варианту осуществления;

[9] ФИГ. 3 является диаграммой для описания понятия блоков кодирования согласно примерному варианту осуществления;

[10] ФИГ. 4 является блок-схемой кодера изображения на основании блоков кодирования согласно примерному варианту осуществления;

[11] ФИГ. 5 является блок-схемой декодера изображения на основании блоков кодирования согласно примерному варианту осуществления;

[12] ФИГ. 6 является диаграммой, иллюстрирующей более глубокие блоки кодирования согласно глубинам, и сегменты согласно примерному варианту осуществления;

[13] ФИГ. 7 является диаграммой для описания соотношения между блоком кодирования и блоками преобразования, согласно примерному варианту осуществления;

[14] ФИГ. 8 является диаграммой для описания информации кодирования блоков кодирования, соответствующих кодированной глубине, согласно примерному варианту осуществления;

[15] ФИГ. 9 является диаграммой более глубоких блоков кодирования согласно глубинам, согласно примерному варианту осуществления;

[16] ФИГ. 10-12 являются диаграммами для описания соотношения между блоками кодирования, блоками предсказания и блоками преобразования, согласно примерному варианту осуществления;

[17] ФИГ. 13 является диаграммой для описания соотношения между блоком кодирования, блоком или сегментом предсказания, и блоком преобразования, согласно информации кодирования режима из Таблицы 1;

[18] ФИГ. 14 является последовательностью операций, иллюстрирующей способ кодирования видео, согласно примерному варианту осуществления; и

[19] ФИГ. 15 является последовательностью операций, иллюстрирующей способ декодирования видео, согласно примерному варианту осуществления.

ЛУЧШИЙ РЕЖИМ ДЛЯ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ

[20] Согласно аспекту примерного варианта осуществления предоставлен способ кодирования видео, причем способ содержит этапы: разделение текущей картинки на по меньшей мере один максимальный блок кодирования; определение кодированной глубины, чтобы вывести окончательный результат кодирования согласно по меньшей мере одной области разделения, полученной посредством разделения области каждого по меньшей мере одного максимального блока кодирования согласно глубинам, посредством кодирования по меньшей мере одной область разделения, на основании глубины, которая углубляется в пропорции к количеству раз, когда область каждого максимального блока кодирования была разделена; и вывод данных изображения, составляющих окончательный результат кодирования согласно по меньшей мере одной области разделения, и кодирование информации о кодированной глубине и режиме предсказания, согласно каждому максимальному блоку кодирования.

[21] Блок кодирования может быть охарактеризован максимальным размером и глубиной.

[22] Глубина обозначает количество раз, сколько блок кодирования был иерархически разделен, и когда глубина углубляется, более глубокие блоки кодирования согласно глубинам могут быть разделены из максимального блока кодирования, чтобы получить минимальные блоки кодирования. Глубина углубляется от верхней глубины к более низкой глубине. Когда глубина углубляется, количество раз, сколько максимальный блок кодирования разделяется, увеличивается, и общее количество возможных раз, сколько максимальный блок кодирования разделяется, соответствует максимальной глубине. Максимальный размер и максимальная глубина блока кодирования могут быть заранее определены.

[23] Способ может также включать в себя заранее определение максимальной глубины, указывающей общее количество раз, сколько высота и ширина по меньшей мере одного максимального блока кодирования иерархически разделяются, и максимальный размер по меньшей мере одного максимального блока кодирования.

[24] Данные изображения могут быть закодированы на основании более глубоких блоков кодирования согласно по меньшей мере одной глубине для каждого из по меньшей мере одного максимального блока кодирования, и когда глубина углубляется, блоки кодирования могут быть иерархически разделены из каждого максимального блока кодирования.

[25] Определение кодированной глубины может включать в себя выполнение кодирования с предсказанием согласно блокам кодирования, соответствующим текущей глубине и сегментам, полученным посредством разделения по меньшей мере одного из высоты и ширины блоков кодирования, соответствующих текущей глубине, согласно более глубоким блокам кодирования согласно глубинам для каждого максимального блока кодирования.

[26] Определение кодированной глубины может включать в себя выполнение преобразования над блоком данных, имеющим меньшую высоту или ширину, чем блоки кодирования, соответствующие текущей глубине, согласно более глубоким блокам кодирования согласно глубинам для максимального блока кодирования.

[27] Определение кодированной глубины может также включать в себя определение кодированной глубины, имеющей минимальную ошибку кодирования, посредством сравнения результатов кодирования согласно глубинам для каждого максимального блока кодирования, и определение по меньшей мере одного из типа сегмента и режима предсказания блока данных, который выполнил кодирование с предсказанием в каждом блоке кодирования, соответствующем кодированной глубине, и размера блока данных, который выполнил преобразование в блоках кодирования, соответствующих кодированной глубине.

[28] Режим предсказания может быть независимо определен согласно блокам кодирования, соответствующим кодированной глубине, и включать в себя по меньшей мере один из внутреннего (intra-) режима, внешнего (inter-) режима и режима пропуска.

[29] Информация о режиме кодирования может включать в себя по меньшей мере одно из кодированной глубины для каждого максимального блока кодирования, информации о типе сегмента блока данных, который выполнил кодирование с предсказанием согласно блокам кодирования, соответствующим кодированной глубине, информации о режиме предсказания согласно сегментам блоков кодирования, соответствующих кодированной глубине, и информации о размере блока данных, который выполнил преобразование согласно блокам кодирования, соответствующим кодированной глубине.

[30] Способ может также включать в себя кодирование информации разделения, указывающей, выполнено ли кодирование над блоками кодирования более низкой глубины вместо текущей глубины, согласно глубинам в каждом максимальном блоке кодирования. Способ может также включать в себя, если кодирование выполнено над блоками кодирования более низкой глубины на основании информации разделения текущей глубины, повторяющимся образом выполнение кодирования над каждым частичным блоком кодирования, полученным посредством разделения блока кодирования, соответствующего текущей глубине.

[31] Глубина максимального блока кодирования может быть наиболее верхней глубиной, и более глубокие блоки кодирования согласно глубинам, составляющие область разделения согласно глубинам, могут быть блоками кодирования, полученными посредством деления высоты и ширины блока кодирования более верхней глубины на два. Сегменты, соответствующие текущей глубине, могут быть блоками данных, полученными посредством деления по меньшей мере одного из высоты и ширины блока данных, соответствующего текущей глубине, на два.

[32] Ошибка кодирования может быть измерена посредством использования способа оптимизации частота-искажение, на основании множителей Лагранжа.

[33] Кодирование с предсказанием во внутреннем режиме и кодирование с предсказанием во внешнем режиме могут быть выполнены согласно блокам данных, полученным посредством деления блоков кодирования, соответствующих текущей глубине, или по меньшей мере одного из высоты и ширины блоков кодирования, соответствующих текущей глубине, на два.

[34] Согласно другому аспекту примерного варианта осуществления представлен способ декодирования видео, причем способ содержит этапы: прием и анализ потока битов кодированного видео; извлечение данных изображения текущей картинки, назначенной по меньшей мере одному максимальному блоку кодирования, и информации о кодированной глубине и режиме кодирования согласно по меньшей мере одному максимальному блоку кодирования, из потока битов; и декодирование данных изображения в каждом из по меньшей мере одного максимального блока кодирования на основании информации о кодированной глубине и режиме кодирования для каждого максимального блока кодирования, при этом глубина углубляется в пропорции к количеству раз, сколько область каждого максимального блока кодирования разделяется, и глубина, для которой окончательный результат кодирования выводится согласно по меньшей мере одной области разделения, которая получена посредством разделения области каждого максимального блока кодирования согласно глубинам, посредством кодирования по меньшей мере одной области разделения каждого максимального блока кодирования во время кодирования текущей картинки, определяется как по меньшей мере одна кодированная глубина для каждого максимального блока кодирования.

[35] Способ может также включать в себя извлечение информации о максимальной глубине, указывающей общее количество раз, сколько высота и ширина каждого максимального блока кодирования иерархически разделены, и информации о максимальном размере каждого максимального блока кодирования из потока битов.

[36] Декодирование может включать в себя выполнение кодирования с предсказанием над блоками кодирования, соответствующими кодированной глубине для каждого максимального блока кодирования, на основании информации о кодированной глубине и информации о типе сегмента и режиме предсказания блока данных, чтобы выполнить декодирование с предсказанием, из извлеченной информации о режиме кодирования для каждого максимального блока кодирования.

[37] Декодирование может включать в себя выполнение обратного преобразования над каждым блоком кодирования, соответствующим кодированной глубине для каждого максимального блока кодирования, на основании информации о кодированной глубине и размере блока данных, чтобы выполнить обратное преобразование для каждого максимального блока кодирования.

[38] Способ может также включать в себя извлечение информации разделения, указывающей, выполнено ли декодирование над блоками кодирования, соответствующими более низкой глубине вместо текущей глубины согласно глубинам для каждого максимального блока кодирования, из потока битов.

[39] Согласно другому аспекту примерного варианта осуществления, обеспечено устройство для кодирования видео, при этом устройство содержит: модуль разделения максимального блока кодирования для того, чтобы разделить текущую картинку на по меньшей мере один максимальный блок кодирования; модуль определения блока кодирования для определения кодированный глубины для вывода окончательного результата кодирования согласно по меньшей мере одной области разделения, полученной посредством разделения области каждого из по меньшей мере одного максимального блока кодирования согласно глубинам, посредством кодирования по меньшей мере одной области разделения, на основании глубины, которая углубляется в пропорции к количеству раз, сколько область каждого максимального блока кодирования была разделена; и модуль вывода для вывода данных изображения, составляющих окончательный результат кодирования согласно по меньшей мере одной области разделения, и информации кодирования о кодированной глубине и режиме предсказания, согласно каждому максимальному блоку кодирования.

[40] Согласно другому аспекту примерного варианта осуществления, обеспечено устройство для декодирования видео, причем устройство содержит: приемник для приема и анализа потока битов кодированного видео; модуль извлечения данных изображения и информации кодирования для извлечения данных изображения текущей картинки, назначенной на по меньшей мере один максимальный блок кодирования, и информации о кодированной глубине и режиме кодирования согласно по меньшей мере одному максимальному блоку кодирования, из потока битов; и декодер для декодирования данных изображения в каждом максимальном блоке кодирования на основании информации о кодированной глубине и режиме кодирования для каждого из по меньшей мере одного максимального блока кодирования, в котором глубина углубляется в пропорции к количеству раз, сколько область каждого максимального блока кодирования была разделена, и глубина, для которой окончательный результат кодирования выводят согласно по меньшей мере одной области разделения, которая получена посредством разделения области каждого максимального блока кодирования согласно глубинам посредством кодирования по меньшей мере одной области разделения каждого максимального блока кодирования во время кодирования текущей картинки, определяется как по меньшей мере одна кодированная глубина для каждого максимального блока кодирования.

[41] Согласно другому аспекту примерного варианта осуществления обеспечен считываемый компьютером носитель записи, имеющий записанную на нем программу для выполнения способа кодирования видео.

[42] Согласно другому аспекту примерного варианта осуществления обеспечен считываемый компьютером носитель записи, имеющий записанную на нем программу для выполнения способа декодирования видео.

РЕЖИМ ДЛЯ РЕАЛИЗАЦИИ ИЗОБРЕТЕНИЯ

[43] Ниже примерные варианты осуществления описаны более полно со ссылками на сопроводительные чертежи, на которых показаны примерные варианты осуществления. В примерных вариантах осуществления "блок" может или не может относиться к единице размера, в зависимости от его контекста.

[44] В дальнейшем «блок кодирования» является блоком данных кодирования, в котором данные изображения закодированы на стороне кодера, и блоком данных кодирования, в котором кодированные данные изображения декодируются на стороне декодера, согласно примерным вариантам осуществления. Кроме того, «кодированная глубина» означает глубину, где блок кодирования закодирован.

[45] В дальнейшем «изображение» может обозначать неподвижное изображение для видео или движущееся изображение, то есть непосредственно видео.

[46] ФИГ. 1 является блок-схемой устройства 100 кодирования видео, согласно примерному варианту осуществления.

[47] Устройство 100 кодирования видео включает в себя модуль 110 разделения максимального блока кодирования, модуль 120 определения блока кодирования и модуль 130 вывода.

[48] Модуль 110 разделения максимального блока кодирования может разделять текущую картинку на основании максимального блока кодирования для текущей картинки изображения. Если текущая картинка больше, чем максимальный блок кодирования, данные изображения текущей картинки могут быть разделены в по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования согласно примерному варианту осуществления может быть блоком данных, имеющим размер 32×32, 64×64, 128×128, 256×256, и т.д., в котором формой блока данных является квадрат, имеющий ширину и высоту в степени 2. Данные изображения могут быть выведены на модуль 120 определения блока кодирования согласно по меньшей мере одному максимальному блоку кодирования.

[49] Блок кодирования согласно примерному варианту осуществления может быть охарактеризован максимальным размером и глубиной. Глубина обозначает количество раз, сколько блок кодирования пространственно разделен из максимального блока кодирования, и когда глубина углубляется или увеличивается, более глубокие блоки кодирования согласно глубинам могут быть разделены от максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования является самой верхней глубиной, и глубина минимального блока кодирования является самой нижней глубиной. Так как размер блока кодирования, соответствующего каждой глубине, уменьшается, когда углубляется глубина максимального блока кодирования, блок кодирования, соответствующий более верхней глубине, может включать в себя множество блоков кодирования, соответствующих более низким глубинам.

[50] Как описано выше, данные изображения текущей картинки разделяются в максимальные блоки кодирования согласно максимальному размеру блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубокие блоки кодирования, которые разделены согласно глубинам. Так как максимальный блок кодирования согласно примерному варианту осуществления разделяется согласно глубинам, данные изображения пространственной области, включенной в максимальный блок кодирования, могут быть иерархически классифицированы согласно глубинам.

[51] Максимальная глубина и максимальный размер блока кодирования, которые ограничивают общее количество раз, сколько высота и ширина максимального блока кодирования иерархически разделяются, могут быть заранее определены.

[52] Модуль 120 определения блока кодирования кодирует по меньшей мере одну область разделения, полученную посредством разделения области максимального блока кодирования согласно глубинам, и определяет глубину, чтобы вывести окончательно кодированные данные изображения согласно по меньшей мере одной области разделения. Другими словами, модуль 120 определения блока кодирования определяет кодированную глубину посредством кодирования данных изображения в более глубокие блоки кодирования согласно глубинам, согласно максимальному блоку кодирования текущей картинки, и выбора глубины, имеющей наименьшую ошибку кодирования. Таким образом, кодированные данные изображения блока кодирования, соответствующего определенной кодированной глубине, окончательно выводятся. Кроме того, блоки кодирования, соответствующие кодированной глубине, могут быть расценены как кодированные блоки кодирования.

[53] Определенная кодированная глубина и кодированные данные изображения согласно определенной кодированной глубине выводятся к модулю 130 вывода.

[54] Данные изображения в максимальном блоке кодирования закодированы на основании более глубоких блоков кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основании каждого из более глубоких блоков кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких блоков кодирования. По меньшей мере одна кодированная глубина может быть выбрана для каждого максимального блока кодирования.

[55] Размер максимального блока кодирования делится, когда блок кодирования иерархически разделяется согласно глубинам, и когда количество блоков кодирования увеличивается. Кроме того, даже если блоки кодирования соответствуют одной и той же глубине в одном максимальном блоке кодирования, определяют, разделять ли каждый из блоков кодирования, соответствующих одной и той же глубине, до более низкой глубины, посредством измерения ошибки кодирования данных изображения каждого блока кодирования отдельно. Соответственно, даже когда данные изображения включены в один максимальный блок кодирования, эти данные изображения разделяются на области согласно глубинам, и ошибки кодирования могут отличаться согласно областям в одном максимальном блоке кодирования, и таким образом кодированные глубины могут отличаться согласно областям в данных изображения. Таким образом, одна или более кодированных глубин могут быть определены в одном максимальном блоке кодирования, и данные изображения максимального блока кодирования могут быть разделены согласно блокам кодирования по меньшей мере одной кодированной глубины.

[56] Соответственно, модуль 120 определения блока кодирования может определить блоки кодирования, имеющие структуру дерева, включенные в максимальный блок кодирования. «Блоки кодирования, имеющие структуру дерева» согласно примерному варианту осуществления, включают в себя блоки кодирования, соответствующие глубине, определенной, чтобы быть кодированной глубиной, из числа всех более глубоких блоков кодирования, включенных в максимальный блок кодирования. Блок кодирования кодированной глубины может быть иерархически определен согласно глубинам в одной и той же области максимального блока кодирования, и может быть независимо определен в различных областях. Аналогично, кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.

[57] Максимальная глубина согласно примерному варианту осуществления является индексом, относящимся к количеству раз разделения от максимального блока кодирования до минимального блока кодирования. Первая максимальная глубина согласно примерному варианту осуществления может обозначать общее количество раз разделения от максимального блока кодирования до минимального блока кодирования. Вторая максимальная глубина согласно примерному варианту осуществления может обозначать общее количество уровней глубины от максимального блока кодирования до минимального блока кодирования. Например, когда глубина максимального блока кодирования равна 0, глубина блока кодирования, в котором максимальный блок кодирования разделен однажды, может быть установлена в 1, и глубина блока кодирования, в котором максимальный блок кодирования разделен дважды, может быть установлена в 2. Здесь, если минимальным блоком кодирования является блок кодирования, в котором максимальный блок кодирования разделен четыре раза, существуют 5 уровней глубины из глубин 0, 1, 2, 3 и 4, и таким образом первая максимальная глубина может быть установлена в 4, и вторая максимальная глубина может быть установлена в 5.

[58] Кодирование с предсказанием и преобразование могут быть выполнены согласно максимальному блоку кодирования. Кодирование с предсказанием и преобразование также выполняют на основании более глубоких блоков кодирования согласно глубине, равной, или глубинам, меньшим, чем максимальная глубина, согласно максимальному блоку кодирования. Преобразование может быть выполнено согласно способу ортогонального преобразования или целочисленному преобразованию.

[59] Так как количество более глубоких блоков кодирования увеличивается всякий раз, когда максимальный блок кодирования разделяют согласно глубинам, кодирование, включающее в себя кодирование с предсказанием, и преобразование выполняют над всеми более глубокими блоками кодирования, генерируемыми, когда глубина углубляется. Для удобства описания кодирование с предсказанием и преобразование описаны ниже на основании блока кодирования текущей глубины в максимальном блоке кодирования.

[60] Устройство 100 кодирования видео может переменным образом выбирать размер или форму блока данных для кодирования данных изображения. Чтобы закодировать данные изображения, операции, такие как кодирование с предсказанием, преобразование и статистическое кодирование, выполняются, и в этот момент один и тот же блок данных может использоваться для всех операций, или различные блоки данных могут использоваться для каждой операции.

[61] Например, устройство 100 кодирования видео может выбрать не только блок кодирования для кодирования данных изображения, но также и блок данных, отличающийся от блока кодирования, чтобы выполнить кодирование с предсказанием над данными изображения в блоке кодирования.

[62] Чтобы выполнить кодирование с предсказанием в максимальном блоке кодирования, кодирование с предсказанием может быть выполнено на основании блока кодирования, соответствующего кодированной глубине, то есть, на основании блока кодирования, который больше не разделен на блоки кодирования, соответствующие более низкой глубине. В дальнейшем блок кодирования, который больше не разделяется и становится базовым блоком для кодирования с предсказанием, будет называться как «блок предсказания». Сегмент, полученный посредством разделения блока предсказания, может включать в себя блок предсказания или блок данных, полученный посредством разделения по меньшей мере одной из высоты и ширины блока предсказания.

[63] Например, когда блок кодирования 2N×2N (где N-положительное целое число) больше не разделяется, и становится блоком предсказания 2N×2N, и размер сегмента может быть 2N×2N, 2N×N, N×2N или N×N. Примеры типа сегмента включают в себя симметричные сегменты, которые получают посредством симметричного разделения высоты или ширины блока предсказания, сегменты, полученные посредством асимметричного разделения высоты или ширины блока предсказания, такого как 1:n или n:1, сегменты, которые получены посредством геометрического разделения блока предсказания, и сегменты, имеющее произвольные формы.

[64] Режим предсказания блока предсказания может быть по меньшей мере одним из внутреннего режима, внешнего режима и режима пропуска. Например, внутренний режим или внешний режим могут быть выполнены над сегментами 2N×2N, 2N×N, N×2N или N×N. Кроме того, режим пропуска может быть выполнен только над сегментом 2N×2N. Кодирование независимо выполняют над одним блоком предсказания в блоке кодирования, таким образом выбирая режим предсказания, имеющий наименьшую ошибку кодирования.

[65] Устройство 100 кодирования видео может также выполнить преобразование над данными изображения в блоке кодирования на основании не только блока кодирования для кодирования данных изображения, но также и на основании блока данных, который отличается от блока кодирования.

[66] Чтобы выполнить преобразование в блоке кодирования, преобразование может быть выполнено на основании блока данных, имеющего размер, меньший чем или равный блоку кодирования. Например, блок данных для преобразования может включать в себя блок данных для внутреннего режима и блок данных для внешнего режима.

[67] Блок данных, используемый как основа преобразования, будет называться как «блок преобразования». Глубина преобразования, указывающая количество раз разделения, чтобы достигнуть блока преобразования посредством разделения высоты и ширины блока кодирования, может также быть установлена в блоке преобразования. Например, в текущем блоке кодирования 2N×2N глубина преобразования может быть равна 0, когда размер блока преобразования также равен 2N×2N, может быть равна 1, когда каждая из высоты и ширины текущего блока кодирования делится на две равные части, полностью разделены в 4˄1 блоков преобразования, и размер блока преобразования равен таким образом N×N, и может быть равна 2, когда каждая из высоты и ширины текущего блока кодирования делится на четыре равные части, полностью разделены на 4˄2 блоков преобразования, и размер блока преобразования таким образом равен N/2×N/2. Например, блок преобразования может быть установлен согласно иерархической структуре дерева, в которой блок преобразования более верхней глубины преобразования разделен на четыре блока преобразования более низкой глубины преобразования согласно иерархическим характеристикам глубины преобразования.

[68] Аналогично блоку кодирования, блок преобразования в блоке кодирования может быть рекурсивно разделен на меньшие размерные области, так чтобы блок преобразования мог быть определен независимо в единицах областей. Таким образом, остаточные данные в блоке кодирования могут быть разделены согласно преобразованию, имеющему структуру дерева согласно глубинам преобразования.

[69] Информация кодирования согласно блокам кодирования, соответствующим кодированной глубине, требует не только информации о кодированной глубине, но также и об информации, относящейся к кодированию с предсказанием и преобразованию. Соответственно, модуль 120 определения блока кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также и определяет тип сегмента в блоке предсказания, режим предсказания согласно блокам предсказания и размер блока преобразования для преобразования.

[70] Блоки кодирования согласно структуре дерева в максимальном блоке кодирования и способ определения сегмента, согласно примерным вариантам осуществления, будет описано подробно ниже со ссылками на фиг. 3-12.

[71] Модуль 120 определения блока кодирования может измерять ошибку кодирования более глубоких блоков кодирования согласно глубинам посредством использования оптимизации частота-искажение, на основании множителей Лагранжа.

[72] Модуль 130 вывода выводит данные изображения максимального блока кодирования, который закодирован на основании по меньшей мере одной кодированной глубины, определенной модулем 120 определения блока кодирования, и информации о режиме кодирования согласно кодированной глубине, в потоках битов.

[73] Кодированные данные изображения могут быть получены посредством кодирования остаточных данных изображения.

[74] Информация о режиме кодирования согласно кодированной глубине может включать в себя информацию о кодированной глубине, о типе сегмента в блоке предсказания, режиме предсказания и размере блока преобразования.

[75] Информация о кодированной глубине может быть определена посредством использования информации разделения согласно глубинам, которая указывает, выполняется ли кодирование над блоками кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущего блока кодирования является кодированной глубиной, данные изображения в текущем блоке кодирования кодируют и выводят, и таким образом информация разделения может быть определена, чтобы не разделять текущий блок кодирования до более низкой глубины. Альтернативно, если текущая глубина текущего блока кодирования не является кодированной глубиной, кодирование выполняют над блоком кодирования более низкой глубины, и таким образом информация разделения может быть определена, чтобы разделять текущий блок кодирования, чтобы получить блоки кодирования более низкой глубины.

[76] Если текущая глубина не является кодированной глубиной, кодирование выполняют над блоком кодирования, который разделен в блок кодирования более низкой глубины. Так как по меньшей мере один блок кодирования более низкой глубины существует в одном блоке кодирования текущей глубины, кодирование повторяющимся образом выполняется над каждым блоком кодирования более низкой глубины, и таким образом кодирование может быть рекурсивно выполнено для блоков кодирования, имеющих одну и ту же глубину.

[77] Так как блоки кодирования, имеющие структуру дерева, определены для одного максимального блока кодирования, и информация о по меньшей мере одном режиме кодирования определена для блока кодирования кодированной глубины, информация о по меньшей мере одном режиме кодирования может быть определена для одного максимального блока кодирования. Кроме того, кодированная глубина данных изображения максимального блока кодирования может быть различной согласно местоположениям, так как данные изображения иерархически разделены согласно глубинам, и таким образом информация о кодированной глубине и режиме кодирования может быть установлена для данных изображения.

[78] Соответственно, модуль 130 вывода может назначить информацию кодирования о соответствующей кодированной глубине и режиме кодирования по меньшей мере одному из блока кодирования, блока предсказания и минимального блока, включенного в максимальный блок кодирования.

[79] Минимальный блок согласно примерному варианту осуществления является прямоугольным блоком данных, полученным посредством разделения минимального блока кодирования, составляющего самую нижнюю глубину, на 4. Альтернативно, минимальный блок может быть максимальным прямоугольным блоком данных, который может быть включен во все блоки кодирования, блоки предсказания, блоки сегментов и блоки преобразования, включенные в максимальный блок кодирования.

[80] Например, информация о кодировании, выведенная через модуль 130 вывода, может быть классифицирована в информацию кодирования согласно блокам кодирования и информацию кодирования согласно блокам предсказания. Информация кодирования согласно блокам кодирования может включать в себя информацию о режиме предсказания и о размере сегментов. Информация кодирования согласно блокам предсказания может включать в себя информацию об оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о компоненте насыщенности цвета внутреннего режима, и о способе интерполяции внутреннего режима. Кроме того, информация о максимальном размере блока кодирования, определенном согласно картинкам, вырезкам или GOP, и информация о максимальной глубине, могут быть вставлены в SPS (набор параметров последовательности) или заголовок потока битов.

[81] В устройстве 100 кодирования видео более глубокий блок кодирования может быть блоком кодирования, полученным посредством деления высоты или ширины блока кодирования более верхней глубины, которая является на один уровень выше, на два. Другими словами, когда размер блока кодирования текущей глубины равен 2N×2N, размер блока кодирования более низкой глубины равен N×N. Кроме того, блок кодирования текущей глубины, имеющий размер 2N×2N, может включать в себя максимум 4 блоков кодирования более низкой глубины.

[82] Соответственно, устройство 100 кодирования вид