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

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности декодирования видео. Способ декодирования изображения осуществляет извлечение из битового потока информации, которая указывает режим внутреннего предсказания; и выполнение внутреннего предсказания над текущим блоком, причем внутреннее предсказание содержит: определение одного из (i) левого соседнего пикселя первого предыдущего блока, соседнего с левой стороной текущего блока и декодированного до текущего блока, и (ii) верхнего соседнего пикселя второго предыдущего блока, соседнего с верхней стороной текущего блока и декодированного до текущего блока, причем левый соседний пиксель определен на основании j*dy>>n, и верхний соседний пиксель определен на основании i*dx>>m, где dx, dy, m и n являются целыми числами, и выполнение внутреннего предсказания, используя определенные один из левого соседнего пикселя и верхнего соседнего пикселя, при этом изображение иерархически разделено из множества максимальных блоков кодирования в блоки кодирования кодированных глубин, согласно глубинам, при этом блок кодирования текущей глубины является одним из прямоугольных блоков данных, разделенных из блока кодирования более верхней глубины, и разделен на блоки кодирования меньшей глубины, независимо от соседних блоков кодирования. 34 ил., 5 табл.

Реферат

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

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

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

[2] Согласно стандарту сжатия изображения, такому как усовершенствованное кодирование видео (AVC) от группы экспертов по движущимся изображениям (MPEG)-1, MPEG-2, MPEG-4 или H.264/MPEG-4, картинка разбивается на макроблоки для кодирования видео. После того, как каждый из макроблоков кодирован любым из режимов кодирования с внешним предсказанием и внутренним предсказанием, соответствующий режим кодирования выбирают согласно скорости передачи, требуемой для кодирования макроблока и допустимому искажению между оригинальным макроблоком и декодированным макроблоком. Затем макроблок кодируют в выбранном режиме кодирования.

[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] Фиг.15A-15C являются диаграммами для объяснения режима внутреннего предсказания, примененного к блоку кодирования, имеющему заранее определенный размер, согласно примерному варианту осуществления;

[20] Фиг.16 является диаграммой для объяснения режима внутреннего предсказания, примененного к блоку кодирования, имеющему заранее определенный размер, согласно другому примерному варианту осуществления;

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

[22] Фиг.18 является ссылочной диаграммой для объяснения билинейного режима согласно примерному варианту осуществления;

[23] Фиг.19 является диаграммой для объяснения процесса генерирования значения предсказания режима внутреннего предсказания текущего блока кодирования, согласно примерному варианту осуществления;

[24] Фиг.20 является ссылочной диаграммой для объяснения процесса отображения (для) унификации режимов внутреннего предсказания блоков кодирования, имеющих различные размеры, согласно примерному варианту осуществления;

[25] Фиг.21 является ссылочной диаграммой для объяснения процесса отображения режимов внутреннего предсказания соседних блоков кодирования в один из представительных режимов внутреннего предсказания, согласно примерному варианту осуществления;

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

[27] Фиг.23 является последовательностью операций, иллюстрирующей способ кодирования изображения согласно примерному варианту осуществления;

[28] Фиг.24 является последовательностью операций, иллюстрирующей способ декодирования изображения согласно примерному варианту осуществления;

[29] Фиг.25 является диаграммой для объяснения соотношения между текущим пикселем и соседними пикселями, расположенными на «проведенной» линии, имеющей направленность (dx, dy);

[30] Фиг.26 является диаграммой для объяснения изменения в соседнем пикселе, расположенном на проведенной линии, имеющей направленность (dx, dy), согласно местоположению текущего пикселя, согласно примерному варианту осуществления;

[31] Фиг.27 и 28 являются диаграммами для объяснения способа определения направления режима внутреннего предсказания, согласно примерным вариантам осуществления; и

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

НАИЛУЧШИЙ РЕЖИМ РЕАЛИЗАЦИИ ИЗОБРЕТЕНИЯ

[33] Согласно примерному варианту осуществления предоставлен способ кодирования изображения, причем способ содержит: деление текущей картинки по меньшей мере в один блок, имеющий заранее определенный размер; определение режима внутреннего предсказания, который должен быть применен к текущему блоку, который должен быть кодирован согласно размеру текущего блока; и выполнение внутреннего предсказания в отношении текущего блока согласно определенному режиму внутреннего предсказания, причем режим внутреннего предсказания содержит режим предсказания для выполнения предсказания посредством использования проведенной линии, имеющей угол tan-1(dy/dx) (dx и dy - целые числа) около каждого пикселя в текущем блоке.

[34] Согласно другому аспекту примерного варианта осуществления предоставлен способ декодирования изображения, причем способ содержит: деление текущей картинки в по меньшей мере один блок, имеющий заранее определенный размер; извлечение информации о режиме внутреннего предсказания, примененному к текущему блоку, который должен быть декодирован, из потока битов; и выполнение внутреннего предсказания в отношении текущего блока согласно извлеченному режиму внутреннего предсказания, при этом режим внутреннего предсказания содержит режим предсказания для выполнения предсказания посредством использования проведенной линии, имеющей угол tan-1(dy/dx) (dx и dy - целые числа) около каждого пикселя текущего блока.

[35] Согласно другому аспекту примерного варианта осуществления предоставлено устройство для кодирования изображения, при этом устройство содержит: блок определения режима внутреннего предсказания для определения режима внутреннего предсказания, который должен быть выполнен согласно размеру текущего блока, который должен быть закодирован; и блок выполнения внутреннего предсказания для выполнения внутреннего предсказания в отношении текущего блока, который должен быть закодирован согласно режиму внутреннего предсказания, при этом режим внутреннего предсказания включает в себя режим предсказания для выполнения предсказания посредством использования проведенной линии, имеющей угол tan-1(dy/dx) (dx, и dy - целые числа) около каждого пикселя в текущем блоке.

[36] Согласно другому аспекту примерного варианта осуществления предоставлено устройство для декодирования изображения, при этом устройство содержит: статистический декодер для извлечения информации о режиме внутреннего предсказания, примененного к текущему блоку, который должен быть декодирован, из потока битов; и блок выполнения внутреннего предсказания для выполнения внутреннего предсказания в отношении текущего блока согласно режиму внутреннего предсказания, при этом режим внутреннего предсказания содержит режим предсказания для выполнения предсказания посредством использования проведенной линии, имеющей угол tan-1(dy/dx) (dx, и dy - целые числа) около каждого пикселя в текущем блоке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[82] Устройство 200 включает в себя приемник 210, блок 220 извлечения информации кодирования и данных изображения, и декодер 230 данных изображения. Определения различных терминов, таких как блок кодирования, глубина, блок предсказания, блок преобразования и информация о различных режимах кодирования, для различных операций устройства 200 идентичны описанным со ссылками на Фиг.1 и устройство 100.

[83] Приемник 210 принимает и выполняет анализ (синтаксический разбор) потока битов кодированного видео. Блок 220 извлечения информации кодирования и данных изображения извлекает закодированные данные изображения для каждого блока кодирования из проанализированного потока битов, при этом блоки кодирования имеют структуру дерева согласно каждому максимальному блоку кодирования, и выводит извлеченные данные изображения к декодеру 230 данных изображения. Блок 220 извлечения информации кодирования и данных изображения может извлечь информацию о максимальном размере блока кодирования текущей картинки из заголовка о текущей картинке или SPS.

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

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

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

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

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