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