СПОСОБ КОДИРОВАНИЯ ВИДЕО С ИСПОЛЬЗОВАНИЕМ РЕГУЛИРОВКИ СМЕЩЕНИЯ СОГЛАСНО КЛАССИФИКАЦИИ ПИКСЕЛЕЙ ПОСРЕДСТВОМ МАКСИМАЛЬНЫХ ЕДИНИЦ КОДИРОВАНИЯ И УСТРОЙСТВО ДЛЯ ЭТОГО, А ТАКЖЕ СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО И УСТРОЙСТВО ДЛЯ ЭТОГО
VIDEO ENCODING METHOD USING OFFSET ADJUSTMENT ACCORDING TO CLASSIFICATION OF PIXELS BY MAXIMUM ENCODING UNITS AND APPARATUS THEREOF, AND VIDEO DECODING METHOD AND APPARATUS THEREOF

Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видео для минимизации ошибки между исходным изображением и восстановленным изображением.
Уровень техники изобретения
С развитием и поступлением аппаратного обеспечения для воспроизведения и хранения видео контента с высоким разрешением или высоким качеством нарастает потребность в видео кодеке для эффективного кодирования или декодирования видео контента с высоким разрешением или высоким качеством. Согласно традиционному видео кодеку, видео кодируется согласно способу ограниченного кодирования на основе макроблока, имеющего предварительно определенный размер.
Данные изображения пространственной области преобразовываются в коэффициенты частотной области через частотное преобразование. Согласно видео кодеку, изображение разделяется на блоки, имеющие предварительно определенный размер, над каждым блоком выполняется дискретное косинусное преобразование (DCT), и частотные коэффициенты кодируются в единицах блоков, для быстрого вычисления частотного преобразования. По сравнению с данными изображения пространственной области коэффициенты частотной области легко сжимаются. В частности, так как значение пикселя изображения пространственной области выражается согласно ошибке предсказания через внешнее (inter-) предсказание или внутреннее (intra-) предсказание видео кодека, то, когда частотное преобразование выполняется над ошибкой предсказания, большое количество данных может быть преобразовано к 0. Согласно видео кодеку, количество данных может быть уменьшено посредством замены данных, которые последовательно и многократно создаются, данными малого размера.
Раскрытие изобретения
Техническая задача
Настоящее изобретение предоставляет способ и устройство кодирования видео, и способ и устройство декодирования видео для создания восстановленного изображения, имеющего минимизированную ошибку между исходным изображением и восстановленным изображением.
Техническое решение
Согласно одному аспекту настоящего изобретения предлагается способ регулировки смещения для кодирования видео, при этом способ включает в себя этапы, на которых кодируют текущую наибольшую единицу кодирования (LCU) среди LCU видео на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру; определяют первый параметр смещения текущей LCU, причем первый параметр смещения включает в себя тип смещения, указывающий, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, класс смещения, указывающий направление края согласно типу края или диапазон полосы согласно типу полосы, и значение смещения, указывающее значение разности между восстановленными пикселями и исходными пикселями, включенными в класс смещения; и выводят информацию слияния смещений текущей LCU, причем информация слияния смещений указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения, на основе сходства между первым параметром смещения и вторым параметром смещения. Способ дополнительно включает в себя этап, на котором, если не осуществлено принятие второго параметра смещения в качестве первого параметра смещения, выводят первый параметр смещения, включающий в себя тип смещения, значение смещения и класс смещения, за которыми следует информация слияния смещений текущей LCU.
Преимущественные результаты
Устройство кодирования видео и устройство декодирования видео с использованием методики регулировки смещения (методики адаптивного к отсчету смещения (SAO, sample adaptive offset)), согласно различным вариантам осуществления настоящего изобретения, может классифицировать значения пикселей каждой наибольшей единицы кодирования (LCU) согласно характеристикам изображения, таким как тип края или тип полосы, может сигнализировать значение смещения, которое является средним значением ошибки значений пикселей, имеющих одни и те же характеристики, и может регулировать непредсказуемые значения пикселей восстановленных пикселей посредством значения смещения, тем самым минимизируя ошибку между исходным изображением и восстановленным изображением.
Краткое описание чертежей
Фиг.1A и 1B являются блок-схемой устройства кодирования видео и блок-схемой последовательности операций способа регулировки смещения устройства кодирования видео согласно одному варианту осуществления настоящего изобретения;
Фиг.2A и 2B являются блок-схемой устройства декодирования видео и блок-схемой последовательности операций способа регулировки смещения устройства декодирования видео согласно одному варианту осуществления настоящего изобретения;
Фиг.3 является блок-схемой устройства декодирования видео согласно другому варианту осуществления настоящего изобретения;
Фиг.4 является таблицей, изображающей классы краев типов краев согласно одному варианту осуществления настоящего изобретения;
Фиг.5A и 5B являются таблицей и графиком, изображающими категории типов краев, согласно одному варианту осуществления настоящего изобретения;
Фиг.6 является схемой, изображающей смежные наибольшие единицы кодирования (LCU), к которым осуществляется обращение для слияния параметров смещения, согласно одному варианту осуществления настоящего изобретения;
Фиг.7 является блок-схемой последовательности операций процесса осуществления синтаксического анализа параметров смещения согласно одному варианту осуществления настоящего изобретения;
Фиг.8 является блок-схемой устройства кодирования видео на основе единиц кодирования согласно древовидной структуре в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.9 является блок-схемой устройства декодирования видео на основе единиц кодирования согласно древовидной структуре в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.10 является схемой для описания концепции единиц кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг.11 является блок-схемой кодера изображений на основе единиц кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг.12 является блок-схемой декодера изображений на основе единиц кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг.13 является схемой, изображающей более глубокие единицы кодирования согласно глубинам и разделения, согласно одному варианту осуществления настоящего изобретения;
Фиг.14 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования согласно одному варианту осуществления настоящего изобретения;
Фиг.15 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно одному варианту осуществления настоящего изобретения;
Фиг.16 является схемой более глубоких единиц кодирования согласно глубинам в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.17-19 являются схемами для описания взаимосвязи между единицами кодирования, единицами предсказания и единицами преобразования согласно одному варианту осуществления настоящего изобретения;
Фиг.20 является схемой для описания взаимосвязи между единицей кодирования, единицей предсказания и единицей преобразования согласно информации режима кодирования Таблицы 1;
Фиг.21 является схемой физической структуры диска, на котором хранится программа, согласно одному варианту осуществления настоящего изобретения;
Фиг.22 является схемой дисковода для записи и считывания программы посредством использования диска;
Фиг.23 является схемой всей структуры системы снабжения контентом для предоставления услуги распространения контента;
Фиг.24 и 25 являются схемами соответственно внешней структуры и внутренней структуры мобильного телефона, к которому применяются способ кодирования видео и способ декодирования видео, согласно одному варианту осуществления настоящего изобретения;
Фиг.26 схема цифровой широковещательной системы, к которой применяется система связи, согласно одному варианту осуществления настоящего изобретения; и
Фиг.27 является схемой, изображающей структуру сети системы облачных вычислений с использованием устройства кодирования видео и устройства декодирования видео, согласно одному варианту осуществления настоящего изобретения.
Лучший вариант осуществления изобретения
Согласно одному аспекту настоящего изобретения предложен способ регулировки смещения для кодирования видео, при этом способ включает в себя этапы, на которых кодируют текущую наибольшую единицу кодирования (LCU) среди LCU видео на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру; определяют первый параметр смещения текущей LCU, причем первый параметр смещения включает в себя тип смещения, указывающий, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, класс смещения, указывающий направление края согласно типу края или диапазон полосы согласно типу полосы, и значение смещения, указывающее значение разности между восстановленными пикселями и исходными пикселями, включенными в класс смещения; и выводят информацию слияния смещений текущей LCU, причем информация слияния смещений указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения, на основе сходства между первым параметром смещения и вторым параметром смещения. Способ может дополнительно включать в себя этап, на котором, если не осуществлено принятие второго параметра смещения в качестве первого параметра смещения, выводят первый параметр смещения, включающий в себя тип смещения, значение смещения и класс смещения, за которыми следует информация слияния смещений текущей LCU.
Этап вывода первого параметра смещения может включать в себя этап, на котором выводят тип «выключено», указывающий, применять ли методику регулировки смещения к текущей LCU, в качестве типа смещения, и при этом способ может дополнительно включать в себя этап, на котором, если методика регулировки смещения применена к текущей LCU, выводят другие параметры смещения.
Этап вывода первого параметра смещения может включать в себя этап, на котором выводят параметры смещения, соответствующие предварительно определенному количеству категорий, и причем каждый из параметров смещения может быть больше или равен предварительно установленному минимальному значению и может быть меньше или равен предварительно установленному максимальному значению.
Этап вывода первого параметра смещения может включать в себя этап, на котором, если выведена информация типа смещения, указывающая тип края, выводят класс смещения, указывающий направление в 0°, 90°, 45° или 135° согласно направлению края, образованного между текущим восстановленным пикселем и смежными восстановленными пикселями, включенными в текущую LCU.
Этап вывода первого параметра смещения может включать в себя этап, на котором, если выведена информация типа смещения, указывающая тип полосы, выводят класс смещения, указывающий положение полосы, которой принадлежат значения пикселей восстановленных пикселей, среди множества полос, полученных посредством разделения всего диапазона значений пикселей.
Этап вывода первого параметра смещения может включать в себя этап, на котором, если выведена информация типа смещения, указывающая тип полосы, выводят информацию нулевого значения, указывающую, является ли 0 значение смещения, в качестве значения смещения, и при этом способ может дополнительно включать в себя этап, на котором, если значение смещения не является 0, выводят информацию знака, указывающую, является ли значение смещения положительным числом или отрицательным числом, и оставшуюся часть, за которой следует информация нулевого значения.
Этап вывода первого параметра смещения может дополнительно включать в себя этап, на котором, если выведена информация типа смещения, указывающая тип края, выводят информацию нулевого значения, указывающую, является ли 0 значение смещения, и оставшуюся часть.
Этап вывода информации слияния смещений текущей LCU может включать в себя этапы, на которых, если второй параметр смещения левой или верхней LCU является тем же самым, что и первый параметр смещения, выводят только информацию слияния смещений, указывающую, что осуществлено принятие второго параметра смещения в качестве первого параметра смещения, и не выводят первые параметры смещения текущей LCU; и, если второй параметр смещения левой или верхней LCU отличается от первого параметра смещения, выводят информацию слияния смещений, указывающую, что не осуществлено принятие второго параметра смещения в качестве первого параметра смещения.
Общая информация слияния смещений может быть применена к параметру смещения составляющей яркости, параметру смещения первой составляющей цветности и параметру смещения второй составляющей цветности текущей LCU.
Параметр смещения первой составляющей цветности и параметр смещения второй составляющей цветности текущей LCU могут иметь общий тип смещения.
Согласно другому аспекту настоящего изобретения предложен способ регулировки смещения для видео декодирования, при этом способ включает в себя этапы, на которых извлекают информацию слияния смещений текущей наибольшей единицы кодирования (LCU) среди LCU видео из принятого битового потока, причем информация слияния смещений указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения текущей LCU; восстанавливают первый параметр смещения текущей LCU на основе информации слияния смещений, причем первый параметр смещения включает в себя тип смещения, значение смещения и класс смещения текущей LCU; определяют, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, на основе типа смещения; определяют направление края согласно типу края или диапазон полосы согласно типу полосы на основе класса смещения; определяют значение разности между восстановленными пикселями и исходными пикселями, включенными в класс смещения, на основе значения смещения; и регулируют значения пикселей восстановленных пикселей, восстановленных на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру, посредством значения разности.
Этап определения, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, может дополнительно включать в себя этапы, на которых извлекают тип «выключено», указывающий, применена ли методика регулировки смещения к текущей LCU, на основе типа смещения; и если методика регулировки смещения применена к текущей LCU на основе извлеченного типа «выключено», извлекают другие параметры смещения.
Этап определения первого параметра смещения может включать в себя этап, на котором определяют значения смещения, соответствующие предварительно определенному количеству категорий, и при этом каждый из параметров смещения может быть больше или равен предварительно установленному минимальному значению и может быть меньше или равен предварительно установленному максимальному значению.
Этап определения направления края или диапазона полосы может включать в себя этап, на котором, если тип смещения является типом края, определяют направление края, образованного между текущим восстановленным пикселем и смежными восстановленными пикселями, включенными в текущую LCU, в качестве 0°, 90°, 45° или 135°, на основе восстановленного класса смещения.
Этап определения направления края или диапазона полосы может включать в себя этап, на котором, если тип смещения является типом полосы, определяют положение полосы, которой принадлежат значения пикселей восстановленных пикселей, среди множества полос, полученных посредством разделения всего диапазона значений пикселей, на основе восстановленного класса смещения.
Этап определения значения разности может дополнительно включать в себя этап, на котором, если тип смещения является типом полосы, определяют, является ли 0 значение смещения, на основе информации нулевого значения восстановленного значения смещения, и при этом способ может дополнительно включать в себя этапы, на которых, если значение смещения не является 0 на основе информации нулевого значения, определяют, является ли значение смещения положительным числом или отрицательным числом, на основе информации знака восстановленного значения смещения, за которым следует информация нулевого значения, и восстанавливают оставшуюся часть, за которой следует информация знака.
Этап определения значения разности может дополнительно включать в себя этап, на котором, если тип смещения является типом края, определяют, является ли 0 значение смещения, на основе информации нулевого значения восстановленного значения смещения, и при этом способ дополнительно содержит этап, на котором, если значение смещения не является 0 на основе информации нулевого значения, восстанавливают оставшуюся часть восстанавливаемого значения смещения, за которым следует информация нулевого значения.
Этап восстановления первого параметра смещения может дополнительно включать в себя этапы, на которых если осуществлено принятие второго параметра смещения левой или верхней LCU в качестве первого параметра смещения на основе информации слияния смещений, не извлекают первые параметры смещения текущей LCU и восстанавливают первый параметр смещения таким же, как и второй параметр смещения; и если не осуществлено принятие второго параметра смещения левой или верхней LCU в качестве первого параметра смещения на основе информации слияния смещений, извлекают и восстанавливают первый параметр смещения, за которым следует информация слияния смещений, из битового потока.
Этап восстановления первого параметра смещения может включать в себя этап, на котором восстанавливают параметр смещения составляющей яркости, параметр смещения первой составляющей цветности и параметр смещения второй составляющей цветности посредством использования общей информации слияния смещений текущей LCU.
Этап восстановления первого параметра смещения может включать в себя этап, на котором восстанавливают тип смещения, общим образом применяемый к первой составляющей цветности и второй составляющей цветности текущей LCU.
Согласно другому аспекту настоящего изобретения, предложено устройство кодирования видео для регулировки смещения, при этом устройство включает в себя кодер для кодирования текущей наибольшей единицы кодирования (LCU) среди LCU видео на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру; определитель параметров смещения для определения первого параметра смещения текущей LCU, причем первый параметр смещения включает в себя тип смещения, указывающий, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, класс смещения, указывающий направление края согласно типу края или диапазон полосы согласно типу полосы, и значение смещения, указывающее значение разности между восстановленными пикселями и исходными пикселями, включенными в класс смещения; и средство вывода параметров смещения для вывода информации слияния смещений текущей LCU, причем информация слияния смещений указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения на основе сходства между первым параметром смещения и вторым параметром смещения. Если не осуществлено принятие второго параметра смещения в качестве первого параметра смещения, средство вывода параметров смещения выводит первый параметр смещения, включающий в себя тип смещения, значение смещения и класс смещения, за которыми следует информация слияния смещений текущей LCU.
Согласно другому аспекту настоящего изобретения предложено устройство декодирования видео для регулировки смещения, при этом устройство включает в себя средство извлечения параметров смещения для извлечения информации слияния смещений текущей наибольшей единицы кодирования (LCU) среди LCU видео из принятого битового потока, причем информация слияния смещений указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения текущей LCU, и восстановления первого параметра смещения текущей LCU на основе информации слияния смещений, при этом первый параметр смещения включает в себя тип смещения, значение смещения и класс смещения текущей LCU; определитель смещения для определения, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, на основе типа смещения, определения направления края согласно типу края или диапазона полосы согласно типу полосы на основе класса смещения и определения значения разности между восстановленными пикселями и исходными пикселями, включенными в класс смещения, на основе значения смещения; и регулятор смещения для регулирования значений пикселей восстановленных пикселей, восстановленных на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру, посредством значения разности.
Согласно другому аспекту настоящего изобретения предложен считываемый компьютером носитель записи, имеющий записанную на себе компьютерную программу для исполнения способа регулировки смещения для кодирования видео.
Согласно другому аспекту настоящего изобретения предложен считываемый компьютером носитель записи, имеющий записанную на себе компьютерную программу для исполнения способа регулировки смещения для декодирования видео.
Варианты осуществления изобретения
В дальнейшем, методика кодирования видео и методика декодирования видео с использованием регулировки смещения на основе классификации пикселей согласно вариантам осуществления настоящего изобретения будут описываться со ссылкой на Фиг.1A-7. Кроме того, регулировка смещения на основе классификации пикселей в методике кодирования видео и методике декодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно вариантам осуществления настоящего изобретения будет описываться со ссылкой на Фиг.1A-20. В дальнейшем, «изображение» может обозначать неподвижное изображение или движущееся изображение видео, или видео непосредственно.
Теперь со ссылкой на Фиг.1A-7 будет описываться методика кодирования видео и методика декодирования видео с использованием регулировки смещения на основе классификации пикселей согласно вариантам осуществления настоящего изобретения.
Фиг.1A и 1B являются блок-схемой устройства 10 кодирования видео и блок-схемой последовательности операций способа регулировки смещения устройства 10 кодирования видео согласно одному варианту осуществления настоящего изобретения.
Устройство 10 кодирования видео включает в себя кодер 12 наибольшей единицы кодирования (LCU), определитель 14 параметров смещения и кодер 16 параметров смещения.
Устройство 10 кодирования видео принимает ввод изображений видео, разделяет каждое изображение на блоки и кодирует каждый блок. Блок может иметь квадратную форму, прямоугольную форму или произвольную геометрическую форму и не ограничивается единицей данных, имеющей предварительно определенный размер. Блок согласно одному варианту осуществления блока настоящего изобретения может быть LCU или единицей кодирования среди единиц кодирования согласно древовидной структуре. Способы кодирования и декодирования видео на основе единиц кодирования согласно древовидной структуре будут описываться ниже со ссылкой на Фиг.1A-20.
Устройство 10 кодирования видео может принимать ввод изображений видео, может разделить каждое изображение на наибольшие единицы кодирования (LCU) и может выводить получающиеся в результате данные, создаваемые посредством выполнения предсказания, преобразования и энтропийного кодирования над отсчетами каждого LCU, в качестве битового потока. Отсчеты LCU могут быть данными значения пикселя пикселей, включенных в LCU.
Кодер 12 LCU может по отдельности кодировать наибольшие единицы кодирования (LCU) картинки. Кодер 12 LCU может кодировать текущую LCU на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру.
Для того чтобы закодировать текущую LCU, кодер 12 LCU может кодировать отсчеты посредством выполнения внутреннего предсказания, внешнего предсказания, преобразования и квантования над каждой из единиц кодирования, включенных в текущую LCU и имеющих древовидную структуру.
Кодер 12 LCU может восстанавливать закодированные отсчеты, содержащиеся в текущей LCU, посредством выполнения обратного квантования, обратного преобразования и внешнего предсказания или внутренней компенсации над каждой из единиц кодирования, имеющих древовидную структуру, так чтобы декодировать единицы кодирования.
Для того чтобы минимизировать ошибку между исходными пикселями прежде, чем текущая LCU будет закодирована, и восстановленными пикселями после того, как текущая LCU будет декодирована, устройство 10 кодирования видео может определять значения смещения, указывающие значения разностей между исходными пикселями и восстановленными пикселями.
Определитель 14 параметров смещения может определять значения смещения по отношению к наибольшим единицам кодирования (LCU). Параметры смещения, включающие в себя значения смещения, тип смещения и класс смещения, могут также быть определены по отношению к наибольшим единицам кодирования (LCU).
Определитель 14 параметров смещения может определять тип смещения согласно способу классификации значений пикселей текущей LCU. Согласно одному варианту осуществления настоящего изобретения, тип смещения может быть определен в качестве типа края или типа полосы. Согласно способу классификации значений пикселей текущего блока, может быть определено, классифицировать ли пиксели текущего блока согласно типу края или типу полосы.
Если тип смещения является типом края, согласно направлению и форме краев, образованных между восстановленными пикселями текущей LCU и их смежными пикселями, то может быть определено смещение между восстановленными пикселями и исходными пикселями.
Если тип смещения является типом полосы, то среди множества полос, полученных посредством разделения всего диапазона значений пикселей восстановленных пикселей текущей LCU, может быть определено смещение между восстановленными пикселями и исходными пикселями, включенными в каждую полосу. Полосы могут быть получены посредством разделения всего диапазона значений пикселей равным или неравным образом.
Соответственно, определитель 14 параметров смещения может определить тип смещения текущей LCU, который указывает тип края или тип полосы, на основе пространственных характеристик значений пикселей текущей LCU.
Определитель 14 параметров смещения может определять класс смещения каждого из восстановленных пикселей согласно типу смещения текущей LCU. Класс смещения может быть определен в качестве класса края или класса полосы.
По отношению к типу края класс края может указывать направление краев, образованных между восстановленными пикселями и их смежными пикселями. Класс края может указывать направление края в 0°, 90°, 45° или 135°.
Если тип смещения является типом края, то определитель 14 параметров смещения может определить класс края каждого из восстановленных пикселей текущей LCU.
По отношению к типу полосы, среди множества полос, которые являются предварительно определенным количеством непрерывных периодов значений пикселей, полученных посредством разделения всего диапазона значений пикселей текущей LCU, класс полосы может указывать положения полос, которым принадлежат значения пикселей восстановленных пикселей.
Например, по отношению к отсчету, имеющему значение пикселя в 8 битов, весь диапазон значения пикселя составляет от 0 до 255, и значение пикселя может быть классифицировано всего по 32 полосам. В данном случае среди всех 32 полос может быть определено предварительно определенное количество полос, которым принадлежат значения пикселей восстановленных пикселей. Класс полосы может указывать начальное положение предварительно определенного количества непрерывных полос посредством использования одного из индексов полос от 0 до 31.
По отношению к типу края восстановленные пиксели текущей LCU могут быть классифицированы по предварительно определенному количеству категорий согласно форме краев, образованных между восстановленными пикселями и их смежными пикселями. Например, согласно четырем формам краев, таким как локальная впадина вогнутого края, изогнутый угол вогнутого края, изогнутый угол выпуклого края и локальный выступ выпуклого края, восстановленные пиксели могут быть классифицированы по четырем категориям. Согласно форме края каждого из восстановленных пикселей текущей LCU, может быть определена одна из этих четырех категорий.
По отношению к типу полосы, согласно положениям полос, которым принадлежат значения пикселей восстановленных пикселей текущей LCU, восстановленные пиксели могут быть классифицированы по предварительно определенному количеству категорий. Например, согласно индексам полос четырех непрерывных полос от положения начальной полосы, указанного классом полосы, восстановленные пиксели могут быть классифицированы по четырем категориям. Согласно одной из этих четырех полос, которым принадлежит каждый из восстановленных пикселей текущей LCU, может быть определена одна из этих четырех категорий.
Определитель 14 параметров смещения может определить категорию каждого из восстановленных пикселей текущей LCU. По отношению к восстановленным пикселям текущих LCU, которые принадлежат одной и тот же категории, определитель 14 параметров смещения может определять значения смещения посредством использования значений разностей между восстановленными пикселями и исходными пикселями. В каждой категории среднее значение значений разностей между восстановленными пикселями и исходными пикселями, то есть, средняя ошибка восстановленных пикселей, может быть определено в качестве значения смещения, соответствующего текущей категории. Определитель 14 параметров смещения может определять значение смещения каждой категории и может определять значения смещения всех категорий в качестве значения смещения текущей LCU.
Например, если тип смещения текущей LCU является типом края, и восстановленные пиксели классифицируются по четырем категориям согласно формам краев, или если тип смещения текущей LCU является типом полосы, и восстановленные пиксели классифицируются по четыре категориям согласно индексам четырех непрерывных полос, определитель 14 параметров смещения может определять четыре значения смещения посредством определения средней ошибки между восстановленными пикселями и исходными пикселями, которые принадлежат каждой из этих четырех категорий.
Каждое из значений смещения может быть больше или равно предварительно установленному минимальному значению и может быть меньше или равно предварительно установленному максимальному значению.
Кодер 16 параметров смещения может кодировать и выводить параметры смещения, включающие в себя тип смещения, класс смещения и значения смещения текущей LCU, которые определены определителем 14 параметров смещения.
Параметры смещения каждого блока могут включать в себя тип смещения и значения смещения блока. В качестве типа смещения могут быть выведены тип "выключено", тип края или тип полосы.
Если тип смещения является типом "выключено", то может указываться, что регулировка смещения не применяется к текущей LCU. В данном случае, другие параметры смещения текущей LCU не нужно кодировать.
Если тип смещения является типом края, параметры смещения могут включать в себя значения смещения, по отдельности соответствующие классам краев. Кроме того, если тип смещения является типом полосы, то параметры смещения могут включать в себя значения смещения, по отдельности соответствующие полосам. Таким образом, кодер 16 параметров смещения может кодировать параметры смещения каждого блока.
На основе сходства между первым параметром смещения текущей LCU и вторым параметром смещения левой или верхней LCU смежной с текущей LCU, кодер 16 параметров смещения может выводить информацию слияния смещений текущей LCU, которая указывает, осуществлять ли принятие второго параметра смещения в качестве первого параметра смещения текущей LCU.
Если параметры смещения по меньшей мере одной из левой и верхней LCU текущей LCU являются теми же самыми, что и параметры смещения текущей LCU, то кодер 16 параметров смещения может не кодировать параметры смещения текущей LCU, а может кодировать только информацию слияния смещений. В данном случае, может быть выведена информация слияния смещений, указывающая, что осуществлено принятие параметров смещений левой или верхней LCU в качестве параметров смещения текущей LCU.
Если параметры смещения левой и верхней LCU отличаются от параметров смещения текущей LCU, то кодер 16 параметров смещения может кодировать информацию слияния смещений и параметры смещения текущей LCU. В данном случае может быть выведена информация слияния смещений, указывающая, что не осуществлено принятие параметров смещений левой или верхней LCU в качестве параметров смещения текущей LCU.
Теперь со ссылкой на Фиг.1B будет подробно описываться процесс вывода информации слияния смещений и параметров смещения.
На этапе 13 кодер 12 LCU может кодировать текущую LCU среди множества LCU на основе единиц кодирования, имеющих древовидную структуру.
На этапе 15 определитель 14 параметров смещения может определять первый параметр смещения текущей LCU. Первый параметр смещения может включать в себя тип смещения, указывающий, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, класс смещения, указывающий направление края согласно типу края или диапазон полосы согласно типу полосы, и значения смещения, указывающие значения разностей между восстановленными пикселями и исходными пикселями, включенными в класс смещения.
На этапе 17 на основе сходства между первым параметром смещения и вторым параметром смещения левой или верхней LCU текущей LCU кодер 16 параметров смещения может дополнительно выводить информацию слияния смещений текущей LCU в качестве первого параметра смещения.
Если кодер 16 параметров смещения осуществляет принятие второго параметра смещения в качестве первого параметра смещения, то может быть выведена только информация слияния смещений, а тип смещения, класс смещения и значения смещения текущей LCU могут не выводиться.
Однако, на этапе 19, если кодер 16 не осуществляет принятие параметров смещения второго параметра смещения в качестве первого параметра смещения, то может быть выведен первый параметр смещения для включения в себя типа смещения, значения смещения и класса смещения текущей LCU, за которыми следует информация слияния смещений текущей LCU.
Когда выводятся тип смещения, значения смещения и класс смещения первого параметра смещения, кодер 16 параметров смещения может выводить их в порядке типа смещения текущей LCU, значений смещения согласно категориям и классу смещения.
Согласно другому варианту осуществления настоящего изобретения, устройство 10 кодирования видео может определять, выполнять ли регулировку смещения над каждой из LCU текущего слайса (вырезки).
Если регулировка смещения выполняется над текущим слайсом, определитель 14 параметров смещения может определять информацию слияния смещений и параметры смещения каждой из LCU. В данном случае кодер 16 параметров смещения может выводить информацию регулировки смещения, указывающую, что регулировка смещения применена к текущему слайсу, и затем может выводить информацию слияния смещений и параметры смещения каждой из LCU.
Если регулировка смещения не выполняется над текущим слайсом, определителю 14 параметров смещения может быть ненужным определять смещение каждой из LCU текущего слайса, и кодер 16 параметров смещения может выводить только информацию регулировки смещения, указывающую, что регулировка смещения не выполняется над текущим слайсом.
На этапе 19 кодер 16 параметров смещения может выводить значения смещения, соответствующие предварительно определенному количеству категорий.
На этапе 19, если кодер 16 параметров смещения выводит информацию типа смещения, указывающую тип края, согласно направлению края восстановленных пикселей, включенных в текущую LCU, то может быть выведен класс края, указывающий направление в 0°, 90°, 45° или 135°.
На этапе 19, если кодер 16 параметров смещения выводит информацию типа смещения, указывающую тип полосы, то может быть выведен класс полосы, указывающий положение полосы восстановленных пикселей, включенных в текущую LCU.
На этапе 19, если кодер 16 параметров смещения выводит информацию типа смещения, указывающую тип полосы, в качестве значения смещения, то может быть выведена информация нулевого значения, указывающая, является ли 0 или нет значение смещения. Если значение смещения является 0, то кодер 16 параметров смещения может выводить только информацию нулевого значения в качестве значения смещения.
Если значение смещения не является 0, то кодер 16 параметров смещения может выводить информацию знака, указывающую, является ли значение смещения положительным числом или отрицательным числом, и оставшуюся часть, за которой следует информация нулевого значения.
На этапе 19, если кодер 16 параметров смещения выводит информацию типа смещения, указывающую тип края, то может быть выведена информация нулевого значения и оставшаяся часть. По отношению к типу края не нужно выводить информацию знака значения смещения, потому что знак значения смещения может быть предсказан на основе только категории согласно форме края. Процесс предсказания знака значения смещения будет описан ниже со ссылкой на Фиг.5A и 5B.
На этапе 17 для того, чтобы выполнить регулировку смещения над составляющей яркости, первой составляющей цветности и второй составляющей цветности текущей LCU, кодер 16 параметров смещения может выводить общую информацию слияния смещений.
На этапе 19 кодер 16 параметров смещения может выводить общий тип смещения для параметров смещения первой составляющей цветности и параметров смещения второй составляющей цветности текущей LCU.
Устройство 10 кодирования видео может включать в себя центральный процессор (не показан) для совместного управления кодером 12 LCU, определителем 14 параметров смещения и кодером 16 параметров смещения. Альтернативно, кодер 12 LCU, определитель 14 параметров смещения и кодер 16 параметров смещения могут управляться своими отдельными процессорами (не показаны), которые совместно функционируют для управления устройством 10 кодирования видео. Альтернативно, внешний процессор (не показан) вне устройства 10 кодирования видео может управлять кодером 12 LCU, определителем 14 параметров смещения и кодером 16 параметров смещения.
Устройство 10 кодирования видео может включать в себя один или более хранилищ данных (не показаны) для хранения вводимых и выводимых данных кодера 12 LCU, определителя 14 параметров смещения и кодера 16 параметров смещения. Устройство 10 кодирования видео может включать в себя контроллер запоминающего устройства (не показан) для управления данными, вводимыми и выводимыми в и из хранилищ данных.
Для того чтобы выполнить действие кодирования видео, включающее в себя преобразование, и вывести результат действия кодирования видео, устройство 10 кодирования видео может функционировать совместно с внутренним или внешним процессором кодирования видео. Внутренний процессор кодирования видео устройства 10 кодирования видео может быть независимым процессором для выполнения действия кодирования видео. Кроме того, устройство 10 кодирования видео, центральный блок обработки или графический процессор может включать в себя модуль процессора кодирования видео для выполнения основного действия кодирования видео.
Фиг.2A и 2B являются блок-схемой устройства 20 декодирования видео и блок-схемой последовательности операций способа 21 регулировки смещения из устройства 20 декодирования видео согласно одному варианту осуществления настоящего изобретения.
Устройство 20 декодирования видео включает в себя средство 22 извлечения параметров смещения, определитель 24 смещения и регулятор 26 смещения.
Устройство 20 декодирования видео принимает битовый поток, включающий в себя закодированные данные видео. Устройство 20 декодирования видео может осуществлять синтаксический анализ закодированных отсчетов видео из принятого битового потока, может выполнять энтропийное декодирование, обратное квантование, обратное преобразование, предсказание и компенсацию движения над каждым блоком изображения для создания восстановленных пикселей, и таким образом может создавать восстановленное изображение.
Кроме того, устройство 20 декодирования видео может принимать значения смещения, указывающие значения разностей между исходными пикселями и восстановленными пикселями, и может минимизировать ошибку между исходным изображением и восстановленным изображением. Устройство 20 декодирования видео может принимать закодированные данные каждой LCU видео и может восстанавливать LCU на основе единиц кодирования, отделенных от LCU и имеющих древовидную структуру. Теперь со ссылкой на Фиг.2B будет подробно описываться способ восстановления отсчетов и регулировки смещения текущей LCU.
На этапе 23 средство 22 извлечения параметров смещения может извлечь информацию слияния смещений текущей LCU из принятого битового потока. Информация слияния смещений текущей LCU указывает, осуществлять ли принятие второго параметра смещения левой или верхней LCU текущей LCU в качестве первого параметра смещения текущей LCU.
На этапе 25 средство 22 извлечения параметров смещения может восстановить первый параметр смещения, включающий в себя тип смещения, значения смещения и класс смещения текущей LCU, на основе информации слияния смещений.
Средство 22 извлечения параметров смещения может определять, восстанавливать ли тип смещения, значения смещения и класс смещения текущей LCU такими же, что и тип смещения, значения смещения и класс смещения второго параметра смещения, или извлечь тип смещения, значения смещения и класс смещения из битового потока, на основе информации слияния смещений.
На этапе 27 определитель 24 смещения может определять, является ли способ классификации значений пикселей текущей LCU типом края или типом полосы, на основе типа смещения, определенного средством 22 извлечения параметров смещения. На основе типа смещения могут быть определены тип «выключено», тип края или тип полосы.
Если тип смещения является типом «выключено», то может быть определено, что регулировка смещения не применена к текущей LCU. В данном случае не нужно осуществлять синтаксический анализ других параметров смещения текущей LCU.
На этапе 27 определитель 24 смещения может определять диапазон полосы согласно направлению края в соответствии с типом края или диапазон полосы согласно типу полосы текущей LCU на основе класса смещения, определенного средством 22 извлечения параметров смещения.
На этапе 27 определитель 24 смещения может определить значения разностей между восстановленными пикселями и исходными пикселями, включенными в определенный выше класс смещения, на основе значений смещения, определенных средством 22 извлечения параметров смещения.
На этапе 29 регулятор 26 смещения может регулировать значения пикселей отсчетов, восстановленных на основе единиц кодирования, отделенных от текущей LCU и имеющих древовидную структуру, посредством значений разности, определенных определителем 24 смещения.
На этапе 23 согласно другому варианту осуществления настоящего изобретения средство 22 извлечения параметров смещения может извлекать из заголовка текущего слайса информацию регулировки смещения, указывающую, выполнять ли регулировку смещения над каждой из LCU, включенных в текущий слайс. На основе информации регулировки смещения, если регулировка смещения выполняется над текущим слайсом, средство 22 извлечения параметров смещения может дополнительно извлекать информацию слияния смещений и параметры смещения каждой из LCU.
На этапе 25 средство 22 извлечения параметров смещения может определить осуществить ли принятие второго параметра смещения левой или верхней LCU в качестве первого параметра смещения на основе информации слияния смещений. В данном случае определитель 24 смещения может не извлекать первый параметр смещения текущей LCU и может восстанавливать первый параметр смещения таким же, что и ранее восстановленный второй параметр смещения.
На этапе 25 средство 22 извлечения параметров смещения может определить не осуществлять принятие второго параметра смещения в качестве первого параметра смещения на основе информации слияния смещений. В данном случае определитель 24 смещения может извлечь и восстановить первый параметр смещения, за которым следует информация слияния смещений, из битового потока.
На этапе 23 средство 22 извлечения параметров смещения может извлечь общую информацию слияния смещений составляющей яркости, первой составляющей цветности и второй составляющей цветности текущей LCU. Определитель 24 смещения может определить, восстанавливать ли параметры смещения составляющей яркости, параметры смещения первой составляющей цветности и параметры смещения второй составляющей цветности такими же, что и параметры смещения составляющей яркости, параметры смещения первой составляющей цветности и параметры смещения второй составляющей цветности смежной LCU, на основе общей информации слияния смещений.
Кроме того, на этапе 25 определитель 24 смещения может восстановить общий тип смещения первой составляющей цветности и второй составляющей цветности текущей LCU.
На этапе 25, определитель 24 смещения может определить значения смещения, соответствующие предварительно определенному количеству категорий, на основе параметров смещения. Каждое из значений смещения может быть больше или равно предварительно установленному минимальному значению и может быть меньше или равно предварительно установленному максимальному значению.
На этапе 25, если информация типа смещения указывает тип края, определитель 24 смещения может определить направление края восстановленных пикселей, включенных в текущую LCU, в качестве 0°, 90°, 45° или 135° на основе класса смещения.
На этапе 27, если информация типа смещения указывает тип полосы, определитель 24 смещения может определить положения полос, которым принадлежат значения пикселей восстановленных пикселей, на основе класса смещения.
На этапе 27, если информация типа смещения указывает тип полосы, определитель 24 смещения может определить, является ли 0 или нет значение смещения, на основе информации нулевого значения для значения смещения. Если значение смещения определено в качестве 0 на основе информации нулевого значения, то информация о значении смещения, отличающаяся от информации нулевого значения, не восстанавливается.
Если значение смещения не определено в качестве 0 на основе информации нулевого значения, то определитель 24 смещения может определить, является ли значение смещения положительным числом или отрицательным числом, на основе информации знака значения смещения, за которым следует информация нулевого значения. Кроме того посредством восстановления оставшейся части значения смещения, за которым следует информация знака, определитель 24 смещения может определить окончательное значение смещения.
Кроме того на этапе 27, если информация типа смещения указывает тип края и если значение смещения не определено в качестве 0 на основе информации нулевого значения для значения смещения, посредством восстановления оставшейся части значения смещения, за которым следует информация нулевого значения, определитель 24 смещения может определить окончательное значение смещения.
Устройство 20 декодирования видео может включать в себя центральный процессор (не показан) для совместного управления средством 22 извлечения параметров смещения, определителем 24 смещения и регулятором 26 смещения. Альтернативно, средство 22 извлечения параметров смещения, определитель 24 смещения и регулятор 26 смещения могут управляться своими отдельными процессорами (не показаны), которые совместно функционируют для управления устройством 20 декодирования видео. Альтернативно, внешний процессор (не показан) вне устройства 20 декодирования видео может управлять средством 22 извлечения параметров смещения, определителем 24 смещения и регулятором 26 смещения.
Устройство 20 декодирования видео может включать в себя одно или более хранилищ данных (не показаны) для хранения вводимых и выводимых данных средства 22 извлечения параметров смещения, определителя 24 смещения и регулятора 26 смещения. Устройство 20 декодирования видео может включать в себя контроллер запоминающего устройства (не изображен) для управления данными, вводимыми и выводимыми в и из хранилищ данных.
Для того чтобы выполнить действие декодирования видео для восстановления видео, устройство 20 декодирования видео может функционировать совместно с внутренним или внешним процессором декодирования видео. Внутренний процессор декодирования видео устройства 20 декодирования видео может быть независимым процессором для выполнения основного действия декодирования видео. Кроме того, устройство 20 декодирования видео, центральный блок обработки или графический процессор могут включать в себя модуль процессора декодирования видео для выполнения основного действия декодирования видео.
Устройство 10 кодирования видео и устройство 20 декодирования видео, описанные выше со ссылкой на Фиг.1A, 1B, 2A, и 2B, используют методику адаптивного к отсчету смещения (SAO, sample adaptive offset) для минимизации ошибки между исходными пикселями и восстановленными пикселями. Согласно методике SAO устройство 10 кодирования видео классифицирует пиксели каждого блока изображения по предварительно установленным группам пикселей, выделяет каждый пиксель соответствующей пиксельной группе и кодирует значение смещения, указывающее среднее значение ошибок между исходными пикселями и восстановленными пикселями, включенными в ту же самую группу пикселей.
Отсчеты сигнализируются между устройством 10 кодирования видео и устройством 20 декодирования видео. То есть, устройство 10 кодирования видео может кодировать и передать отсчеты в виде битового потока, а устройство 20 декодирования видео может осуществлять синтаксический анализ и восстанавливать отсчеты из принятого битового потока. Для того чтобы минимизировать ошибку между исходными пикселями и восстановленными пикселями посредством регулирования значений пикселей восстановленных пикселей посредством смещения, определенного согласно классификации пикселей, устройство 10 кодирования видео и устройство 20 декодирования видео сигнализируют параметры смещения. Между устройством 10 кодирования видео и устройством 20 декодирования видео сигнализация выполняется таким образом, что значения смещения кодируются, передаются/принимаются и декодируются в качестве параметров смещения.
Таким образом, согласно методике SAO устройство 20 декодирования видео может создавать восстановленное изображение, имеющее минимизированную ошибку между исходным изображением и восстановленным изображением, посредством декодирования принятого битового потока, создания восстановленных пикселей каждого из блоков изображения, восстановления значений смещения из битового потока и регулирования восстановленных пикселей посредством значений смещения.
Теперь со ссылкой на Фиг.3 будет подробно описываться способ декодирования видео с использованием методик SAO. Фиг.3 является блок-схемой устройства 30 декодирования видео согласно другому варианту осуществления настоящего изобретения.
Устройство 30 декодирования видео включает в себя энтропийный декодер 31, обратный квантователь 32, обратный преобразователь 33, восстановитель 34, внутренний предсказатель 35, буфер 36 опорных картинок, компенсатор 37 движения, фильтр 38 удаления блочности (деблокирующий фильтр) и фильтр 39 SAO.
Устройство 30 декодирования видео может принимать битовый поток, включающий в себя закодированные данные видео. Энтропийный декодер 31 может осуществлять синтаксический анализ информации внутреннего режима, информации внешнего режима, информации SAO и остатков из битового потока.
Остатки, извлеченные энтропийным декодером 31, могут быть квантованными коэффициентами преобразования. Соответственно, обратный квантователь 32 может выполнять обратное квантование над остатками для восстановления коэффициентов преобразования, а обратный преобразователь 33 может выполнять обратное преобразование над восстановленными коэффициентами для восстановления остаточных значений пространственной области.
Для того чтобы предсказывать и восстанавливать остаточные значения пространственной области, могут быть выполнены внутреннее предсказание или компенсация движения.
Если информация внутреннего режима извлекается энтропийным декодером 31, то внутренний предсказатель 35 может определить опорные отсчеты, к которым осуществляется обращение для восстановления текущих отсчетов среди отсчетов, пространственно смежных с текущими отсчетами, посредством использования информации внутреннего режима. Опорные отсчеты могут быть выбраны среди отсчетов, ранее восстановленных восстановителем 34. Восстановитель 34 может восстанавливать текущие отсчеты посредством использования опорных отсчетов, определенных на основе информации внутреннего режима и остаточных значений, восстановленных обратным преобразователем 33.
Если информация внешнего режима извлекается энтропийным декодером 31, то компенсатор 37 движения может определять опорную картинку, к которой осуществляется обращение для восстановления текущих отсчетов текущей картинки, среди картинок, восстановленных ранее по отношению к текущей картинке посредством использования информации внешнего режима. Информация внешнего режима может включать в себя векторы движения, опорные (ссылочные) индексы и т.д. Посредством использования опорных индексов, среди картинок, восстановленных ранее по отношению к текущей картинке и сохраненных в буфере 36 опорных картинок, может быть определена опорная картинка, которая должна быть использована для выполнения компенсации движения над текущими отсчетами. Посредством использования векторов движения, может быть определен опорный блок опорной картинки, которая должна быть использована для выполнения компенсации движения над текущим блоком. Восстановитель 34 может восстанавливать текущие отсчеты посредством использования опорного блока, определенного на основе информации внешнего режима и остаточных значений, восстановленных обратным преобразователем 33.
Восстановитель 34 может восстанавливать отсчеты и может выводить восстановленные пиксели. Восстановитель 34 может создавать восстановленные пиксели каждой из LCU на основе единиц кодирования, имеющих древовидную структуру.
Фильтр 38 удаления блочности может выполнять фильтрацию для уменьшения явления блочности пикселей, размещенных в областях краев LCU или каждой из единиц кодирования, имеющих древовидную структуру.
Кроме того, фильтр 39 SAO может регулировать смещение восстановленных пикселей каждой LCU согласно методике SAO. Фильтр 39 SAO может определять тип смещения, класс смещения и значения смещения текущей LCU на основе информации SAO, извлеченной энтропийным декодером 31.
Действие извлечения информации SAO энтропийным декодером 31 может соответствовать этапу средства 22 извлечения параметров смещения устройства 20 декодирования видео, а действия фильтра 39 SAO могут соответствовать действиям определителя 24 смещения и регулятора 26 смещения устройства 20 декодирования видео.
Фильтр 39 SAO может определять знаки и значения разностей значений смещения по отношению к восстановленным пикселям текущей LCU на основе значений смещения, определенных из информации SAO. Фильтр 39 SAO может уменьшать ошибки между восстановленными пикселями и исходными пикселями посредством увеличения или уменьшения значений пикселей восстановленных пикселей на значения разностей, определенных на основе значений смещения.
Картинка, включающая в себя восстановленные пиксели, регулируемые смещением фильтром 39 SAO, может быть сохранена в буфере 36 опорных картинок. Таким образом, посредством использования опорной картинки, имеющей минимизированные ошибки между восстановленными отсчетами и исходными пикселями согласно методике SAO, компенсация движения может быть выполнена над следующей картинкой.
Согласно методике SAO, на основе значений разностей между восстановленными пикселями и исходными пикселями, может быть определено смещение группы пикселей, включающей в себя восстановленные пиксели. Для методики SAO теперь будут подробно описываться варианты осуществления для классифицирования восстановленных пикселей по пиксельным группам.
Согласно методике SAO пиксели могут быть классифицированы (i) на основе типа края восстановленных пикселей, или (ii) типа полосы восстановленных пикселей. То, классифицируются ли пиксели на основе типа края или типа полосы, может быть задано посредством использования типа смещения.
Теперь будет подробно описан вариант осуществления классификации пикселей на основе типа края согласно методике SAO.
Когда определены смещения типов краев текущей LCU, то может быть определен класс края каждого из восстановленных пикселей, включенных в текущую LCU. То есть, посредством сравнения значений пикселей текущих восстановленных пикселей и смежных пикселей может быть задан класс края текущих восстановленных пикселей. Теперь со ссылкой на Фиг.4 будет описываться пример определения класса края.
Фиг.4 является таблицей, изображающей классы краев типов краев, согласно одному варианту осуществления настоящего изобретения.
Индексы 0, 1, 2 и 3 могут быть последовательно выделены классам 41, 42, 43 и 44 краев. Если некоторый тип края возникает часто, то малый индекс может быть выделен данному типу края.
Класс края может указывать направление 1-размерных краев, образованных между текущим восстановленным пикселем X0 и двумя смежными пикселями. Класс 41 края, имеющий индекс 0, указывает случай, когда края образованы между текущим восстановленным пикселем X0 и двумя горизонтально смежными пикселями X1 и X2. Класс 42 края, имеющий индекс 1, указывает случай, когда края образованы между текущим восстановленным пикселем X0 и двумя вертикально смежными пикселями X3 и X4. Класс 43 края, имеющий индекс 2, указывает случай, когда края образованы между текущим восстановленным пикселем X0 и двумя диагонально под 135° смежными пикселями X5 и X8. Класс 44 края, имеющий индекс 3, указывает случай, когда края образованы между текущим восстановленным пикселем X0 и двумя диагонально под 45° смежными пикселями X6 и X7.
Соответственно, посредством анализа направлений краев восстановленных пикселей, включенных в текущую LCU, и таким образом определения стойкого направления края в текущей LCU, может быть определен класс края текущей LCU.
По отношению к каждому классу края, категории могут быть классифицированы согласно форме края текущего пикселя. Теперь со ссылкой на Фиг.5A и 5B будет описан один пример категорий согласно формам краев.
Фиг.5A и 5B являются таблицей и графиком, изображающие категории типов краев, согласно одному варианту осуществления настоящего изобретения.
Категория края указывает, соответствует ли текущий пиксель самой низкой точке вогнутого края, пикселю, размещенному в изогнутом углу вокруг самой низкой точки вогнутого края, самой высокой точки выпуклого края или пикселю, размещенному в изогнутом углу вокруг самой высокой точки выпуклого края.
На Фиг.5A в качестве примера изображены условия для определения категорий краев. На Фиг.5B в качестве примера изображены формы краев между восстановленным пикселем и смежными пикселями и их значения c, a и b пикселей.
С указывает индекс текущего восстановленного пикселя, а a и b указывают индексы смежных пикселей по две стороны от текущего восстановленного пикселя согласно направлению края. Xa, Xb и Xc соответственно указывают значения пикселей восстановленных пикселей, имеющих индексы a, b и c. На Фиг.5B, ось X указывает индексы текущего восстановленного пикселя и смежных пикселей по две стороны от текущего восстановленного пикселя, а ось Y указывает значения пикселей отсчетов.
Категория 1 указывает случай, когда текущий отсчет соответствует самой низкой точке вогнутого края, то есть, локальной впадине. Как показано на графике 51 (Xc<Xa && Xc<Xb), если текущий восстановленный пиксель c между смежными пикселями a и b соответствует самой низкой точке вогнутого края, то текущий восстановленный пиксель согласно классификации может быть отнесен к категории 1.
Категория 2 указывает случай, когда текущий отсчет размещен в изогнутом углу вокруг самой низкой точки вогнутого края, то есть, вогнутом углу. Как показано на графике 52 (Xc<Xa && Xc==Xb), если текущий восстановленный пиксель c между смежными пикселями a и b размещен в конечной точке нисходящей кривой вогнутого края или, как показано на графике 53 (Xc==Xa && Xc<Xb), если текущий восстановленный пиксель c размещен в начальной точке восходящей кривой вогнутого края, то текущий восстановленный пиксель согласно классификации может быть отнесен к категории 2.
Категория 3 указывает случай, когда текущий отсчет размещен в изогнутом углу вокруг самой высокой точки выпуклого края, то есть, выпуклом углу. Как показано на графике 54 (Xc>Xb && Xc==Xa), если текущий восстановленный пиксель c между смежными пикселями a и b размещен в начальной точке нисходящей кривой выпуклого края или, как показано на графике 55 (Xc==Xb && Xc>Xa), если текущий восстановленный пиксель c размещен в конечной точке восходящей кривой выпуклого края, то текущий восстановленный пиксель согласно классификации может быть отнесен к категории 3.
Категория 4 указывает случай, когда текущий отсчет соответствует самой высокой точке выпуклого края, то есть, локальному выступу. Как показано на графике 56 (Xc>Xa && Xc>Xb), если текущий восстановленный пиксель c между смежными пикселями a и b соответствует самой высокой точке выпуклого края, то текущий восстановленный пиксель согласно классификации может быть отнесен к категории 1.
Если текущий восстановленный пиксель не удовлетворяет ни одному из условий категорий 1, 2, 3 и 4, то текущий восстановленный пиксель не соответствует краю и таким образом согласно классификации относится к категории 0, и смещение категории 0 кодировать не нужно.
Согласно одному варианту осуществления настоящего изобретения по отношению к восстановленным пикселям, соответствующим одной и той же категории, среднее значение значений разностей между восстановленными пикселями и исходными пикселями может быть определено в качестве смещения текущей категории. Кроме того, могут быть определены смещения всех категорий.
Вогнутые края категорий 1 и 2 могут быть сглажены, если восстановленные значения пикселя регулируются посредством использования положительных значений смещения, и могут быть заострены благодаря отрицательным значениям смещений. Выпуклые края категорий 3 и 4 могут быть сглажены благодаря отрицательным значениям смещений и могут быть заострены благодаря положительным значениям смещений.
Устройство 10 кодирования видео может не позволять реализацию действия заострения краев. В данном случае, вогнутым краям категорий 1 и 2 требуются положительные значения смещения, а выпуклым краям категорий 3 и 4 требуются отрицательные значения смещения. В данном случае, если категория края известна, то может быть определен знак значения смещения. Соответственно, устройство 10 кодирования видео может не передавать знак значения смещения, а может передавать только абсолютное значение значения смещения. Кроме того, устройство 20 декодирования видео может не принимать знак значения смещения, а может принимать только абсолютное значение значения смещения.
Соответственно, устройство 10 кодирования видео может кодировать и передавать значения смещения согласно категориям текущего класса края, а устройство 20 декодирования видео может регулировать восстановленные пиксели категорий посредством принятых значений смещения.
Например, если значение смещения типа края определено в качестве 0, то устройство 10 кодирования видео может передавать только информацию нулевого значения в качестве значения смещения.
Например, если значение смещения типа края не является 0, то устройство 10 кодирования видео может передавать информацию нулевого значения и абсолютное значение в качестве значение смещения. Знак значения смещения передавать не нужно.
Устройство 20 декодирования видео считывает информацию нулевого значения из принятого значения смещения, и может считать абсолютное значение значения смещения, если значение смещения не является 0. Знак значения смещения может быть предсказан согласно категории края на основе формы края между восстановленным пикселем и смежными пикселями.
Соответственно, устройство 10 кодирования видео может классифицировать пиксели согласно направлениям краев и формам краев, может определять среднее значение ошибки между пикселями, имеющими одни и те же характеристики, в качестве значения смещения, и может определять значения смещения согласно категориям. Устройство 10 кодирования видео может кодировать и передавать информацию типа смещения, указывающую тип края, информацию класса смещения, указывающую направление края, и значения смещения.
Устройство 20 декодирования видео может принимать информацию типа смещения, информацию класса смещения и значения смещения, и может определять направление края согласно информации типа смещения и информации класса смещения. Устройство 20 декодирования видео может определять значение смещения восстановленных пикселей некоторой категории, соответствующей форме края, согласно направлению края, и может регулировать значения пикселей восстановленных пикселей посредством значения смещения, тем самым минимизируя ошибку между исходным изображением и восстановленным изображением.
Теперь подробно будет описан один вариант осуществления классификации пикселей на основе типа полосы согласно методике SAO.
k
0
1
1
2
2
3
k
k
k
k
Согласно одному варианту осуществления настоящего изобретения, каждое из значений пикселей восстановленных пикселей может принадлежать одной из множества полос. Например, значения пикселей могут иметь весь диапазон от минимального значения Min в 0 до максимального значения Max в 2^(p-1) согласно p-битовой дискретизации. Если весь диапазон (Min, Max) значений пикселей разделен на K периодов, то каждый период значений пикселей упоминается в качестве полосы. Если B указывает максимальное значение k-ой полосы, то после деления могут быть получены полосы [B, B-1], [B, B-1], [B, B-1], … и [B-1, B]. Если значение пикселя текущего восстановленного пикселя Rec(x, y) принадлежит полосе [B-1, B], то текущая полоса может быть определена в качестве k. Полосы могут быть разделены равным или неравным образом.
Например, если значения пикселей классифицированы по равным 8-битным полосам пикселей, то значения пикселей могут быть разделены по 32 полосам. Более подробно, они могут быть классифицированы по полосам [0, 7], [8, 15], …, [240, 247] и [248, 255].
Среди множества полос, классифицированных согласно типу полосы, может быть определена полоса, которой принадлежит каждое из значений пикселей восстановленных пикселей. Кроме того, может быть определено значение смещения, указывающее среднее значение ошибок между исходными пикселями и восстановленными пикселями в каждой полосе.
Соответственно, устройство 10 кодирования видео и устройство 20 декодирования видео могут кодировать и передавать/принимать смещение, соответствующее каждой из полос, классифицированных согласно текущему типу полосы, и могут регулировать восстанавливаемые пиксели посредством данного смещения.
Соответственно по отношению к типу полосы устройство 10 кодирования видео и устройство 20 декодирования видео могут классифицировать восстановленные пиксели согласно полосам, которым принадлежат их значения пикселей, могут определять смещение в качестве среднего значения значений ошибок восстановленных пикселей, которые принадлежат одной и той же полосе, и могут регулировать восстанавливаемые пиксели посредством смещения, тем самым минимизируя ошибку между исходным изображением и восстановленным изображением.
Когда смещение согласно типу полосы определено, устройство 10 кодирования видео и устройство 20 декодирования видео могут классифицировать восстановленные пиксели по категориям согласно положению полосы. Например, если весь диапазон значений пикселей разделен на K полос, то категории могут быть проиндексированы согласно индексу k полосы, указывающему k-ую полосу. Количество категорий может быть определено таким образом, чтобы соответствовать количеству полос.
Однако для того, чтобы уменьшить данные, устройство 10 кодирования видео и устройство 20 декодирования видео могут ограничить количество категорий, используемых для определения смещений согласно методике SAO. Например, в качестве категорий может быть выделено предварительно определенное количество полос, которые непрерывны от полосы, имеющей предварительно определенное начальное положение в направлении, в котором увеличивается индекс полосы, и может быть определено только смещение каждой категории.
Например, если полоса, имеющая индекс 12, определена в качестве начальной полосы, четыре полосы от начальной полосы, то есть, полосы, имеющие индексы 12, 13, 14, и 15, могут быть выделены в качестве категорий 1, 2, 3 и 4. Соответственно, средняя ошибка между восстановленными пикселями и исходными пикселями, содержащимися в полосе, имеющей индекс 12, может быть определена в качестве смещения категории 1. Аналогично, средняя ошибка между восстановленными пикселями и исходными пикселями, содержащимися в полосе, имеющей индекс 13, может быть определена в качестве смещения категории 2, средняя ошибка между восстановленными пикселями и исходными пикселями, содержащимися в полосе, имеющей индекс 14, может быть определена в качестве смещения категории 3, и средняя ошибка между восстановленными пикселями и исходными пикселями, содержащимися в полосе, имеющей индекс 15, может быть определена в качестве смещения категории 4.
В данном случае, информация положения начальной полосы требуется для определения положения полос, выделенных в качестве категорий. Соответственно, устройство 10 кодирования видео может кодировать и передавать информацию положения начальной полосы в качестве класса смещения. Устройство 10 кодирования видео может кодировать и передавать тип смещения, указывающий тип полосы, класс смещения и значения смещения согласно категориям.
Устройство 20 декодирования видео может принимать тип смещения, класс смещения и значения смещения согласно категориям. Если принятый тип смещения является типом полосы, устройство 20 декодирования видео может считать положение начальной полосы из класса смещения. Устройство 20 декодирования видео может определить полосу, которой принадлежат восстановленные пиксели, среди четырех полос от начальной полосы, может определить значение смещения, выделенное текущей полосе среди значений смещения согласно категориям, и может регулировать значения пикселей восстановленных пикселей посредством значения смещения.
Выше, тип края и тип полосы введены в качестве типов смещений, а класс смещения и категория согласно типу смещения описаны подробно. Теперь будут подробно описываться параметры смещения, закодированные и переданные/принятые устройством 10 кодирования видео и устройством 20 декодирования видео.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут определять тип смещения согласно способу классификации пикселей восстановленных пикселей каждого LCU.
Тип смещения может быть определен согласно характеристикам изображения каждого блока. Например, по отношению к LCU, включающему в себя вертикальный край, горизонтальный край и диагональный край, для того, чтобы изменить значения краев, значения смещения могут быть определены посредством классифицирования значений пикселей согласно типу края. По отношению к LCU, не включающей в себя область края, значения смещения могут быть определены согласно классификации полос. Соответственно, устройство 10 кодирования видео и устройство 20 декодирования видео могут сигнализировать тип смещения по отношению к каждой из LCU.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут определять параметры смещения по отношению к каждой LCU. То есть, могут быть определены типы смещений восстановленных пикселей LCU, восстановленные пиксели LCU могут быть классифицированы по категориям, и значения смещения могут быть определены согласно категориям.
Среди восстановленных пикселей, включенных в LCU, устройство 10 кодирования видео может определять среднюю ошибку восстановленных пикселей, классифицированных в одну и ту же категорию, в качестве значения смещения. Может быть определено значение смещения каждой категории.
Согласно одному варианту осуществления настоящего изобретения параметры смещения могут включать в себя тип смещения, значения смещения и класс смещения. Устройство 10 кодирования видео и устройство 20 декодирования видео могут передавать/принимать параметры смещения, определенные по отношению к каждой LCU.
Среди параметров смещения LCU устройство 10 кодирования видео может кодировать и передавать тип смещения и значения смещения. Если тип смещения является типом края, то устройство 10 кодирования видео может дополнительно передать класс смещения, указывающий направление края, за которым следует тип смещения и значения смещения согласно категориям. Если тип смещения является типом полосы, то устройство 10 кодирования видео может дополнительно передать класс смещения, указывающий положение начальной полосы, за которой следует тип смещения и значения смещения согласно категориям.
Устройство 20 декодирования видео может принимать параметры смещения каждой LCU, которые включают в себя тип смещения, значения смещения и класс смещения. Кроме того, устройство 20 декодирования видео может выбирать значение смещения категории, которой принадлежит каждый восстановленный пиксель, среди значений смещения согласно категориям и может регулировать восстанавливаемый пиксель посредством выбранного значения смещения.
Теперь будет описан один вариант осуществления передачи/приема значений смещения среди параметров смещения.
Для того чтобы передать значения смещения, устройство 10 кодирования видео может дополнительно передавать информацию нулевого значения. Согласно информации нулевого значения могут быть дополнительно переданы информация знака и оставшаяся часть.
Информация нулевого значения может быть 1-битовым флагом. То есть, может быть передан флаг «0», указывающий, что значение смещения является 0, или флаг «1», указывающий, что значение смещения не является 0.
Если информация нулевого значения является флагом «0», то информацию знака или оставшуюся часть кодироваться не нужно. Однако, если информация нулевого значения является флагом «1», то могут быть дополнительно переданы информация знака и оставшаяся часть.
Однако, как описано выше, по отношению к типу края, так как значение смещения может быть предсказано в качестве положительного числа или отрицательного числа согласно категории, то информацию знака передавать не нужно. Соответственно, если информация нулевого значения является флагом «1», то может быть дополнительно передана оставшаяся часть.
Согласно одному варианту осуществления настоящего изобретения значение Off-set смещения может быть предварительно ограничено внутри диапазона с минимальным значением MinOffSet и максимальным значением MaxOffSet прежде, чем значение смещения будет определено (MinOffSet≤Off-set≤MaxOffSet).
Например, по отношению к типу края значения смещения восстановленных пикселей категорий 1 и 2 могут быть определены внутри диапазона от минимального значения в 0 до максимального значению в 7. По отношению к типу края значения смещения восстановленных пикселей категорий 3 и 4 могут быть определены внутри диапазона от минимального значения в -7 до максимального значения в 0.
Например, по отношению к типу полосы значения смещения восстановленных пикселей всех категорий могут быть определены внутри диапазона от минимального значения в -7 до максимального значения в 7.
Для того чтобы сократить биты передачи значения смещения, оставшаяся часть может быть ограничена p-битным значением вместо отрицательного числа. В данном случае, оставшаяся часть может быть больше или раной 0 и может быть меньше или равной значению разности между максимальным значением и минимальным значением (0≤Оставшаяся часть≤MaxOffSet-MinOffSet+1≤2^p). Если устройство 10 кодирования видео передает оставшуюся часть, а устройство 20 декодирования видео знает по меньшей мере одно из максимального значения и минимального значения для значения смещения, то исходное значение смещения может быть восстановлено посредством использования только принятой оставшейся части.
Теперь будет подробно описана информация слияния смещений среди составляющих параметров смещения.
Типы смещений и/или значения смещения смежных блоков могут, вероятно, быть одними и теми же. Устройство 10 кодирования видео может сравнивать параметры смещения текущего блока с параметрами смещений смежных блоков и может осуществить слияние и кодировать параметры смещения текущего блока и смежных блоков, если параметры смещения являются одними и теми же. Если параметры смещения смежного блока закодированы ранее, то параметры смещения смежного блока могут быть приняты в качестве параметров смещения текущего блока. Соответственно, устройство 10 кодирования видео может не кодировать параметры смещения текущего блока, а может кодировать только информацию слияния смещений текущего блока.
Прежде, чем из принятого битового потока осуществится синтаксический анализ параметров смещения, устройство 20 декодирования видео может первоначально осуществить синтаксический анализ информации слияния смещений и может определить, осуществлять ли синтаксический анализ параметров смещения. Устройство 20 декодирования видео может определить, существует ли смежный блок, имеющий те же самые параметры смещения, что и параметры смещения текущего блока, на основе информации слияния смещений.
Например, если смежный блок, имеющий те же самые параметры смещения, что и параметры смещения текущего блока, существует на основе информации слияния смещений, то устройство 20 декодирования видео может не осуществлять синтаксический анализ параметров смещения текущего блока и может осуществить принятие восстановленных параметров смещения смежного блока в качестве параметров смещения текущего блока. Соответственно, устройство 20 декодирования видео может восстановить параметры смещения текущего блока такими же, что и параметры смещения смежного блока. Кроме того, на основе информации слияния смещений может быть определен смежный блок, имеющий параметры смещения, к которому следует осуществлять обращение.
Например, если параметры смещения смежных блоков отличаются от параметров смещения текущего блока на основе информации слияния смещений, устройство 20 декодирования видео может осуществить синтаксический анализ и восстановить параметры смещения текущего блока из битового потока.
Фиг.6 является схемой, изображающей смежные наибольшие единицы кодирования (LCU), к которым осуществляется обращение для слияния параметров смещения, согласно одному варианту осуществления настоящего изобретения.
Устройство 10 кодирования видео может определять список кандидатов смежных LCU, к которым следует осуществить обращение для предсказания параметров смещения текущей LCU 60, среди смежных LCU, восстановленных до текущей LCU 60. Устройство 10 кодирования видео может сравнивать параметры смещения текущей LCU 60 и смежных LCU в списке кандидатов.
Например, свободно, левая и верхняя наибольшие единицы 61 и 62 кодирования (LCU) текущего блока 60 в текущей картинке 65 могут быть включены в список кандидатов.
Соответственно, устройство 10 кодирования видео может сравнивать параметры смещения смежных LCU, включенных в список кандидатов, с параметрами смещений текущей LCU 60 согласно порядку обращения. Например, параметры смещения могут сравниваться с параметрами смещений текущей LCU 60 в порядке левой LCU 61 и верхней LCU 62. Среди сравниваемых левой и верхней наибольших единиц 61 и 62 кодирования (LCU) LCU, имеющая те же самые параметры смещения, что и параметры смещения текущей LCU 60, может быть определена в качестве опорной LCU.
Для того чтобы предсказать параметры смещения текущей LCU 60, устройство 10 кодирования видео и устройство 20 декодирования видео могут обращаться к одним и тем же смежным наибольшим единицам кодирования (LCU). Кроме того, информация слияния смещений, указывающая LCU, имеющую параметры смещения, к которым следует осуществить обращение, может быть передана/принята. Устройство 20 декодирования видео может выбирать одну из смежных LCU на основе информации слияния смещений и может восстанавливать параметры смещения текущей LCU 60 такими же, что и параметры смещения выбранной смежной LCU.
Например, предположим, что осуществляется обращение к левой и верхней наибольшим единицам 61 и 62 кодирования (LCU). Кодер 16 параметров смещения может кодировать информацию слияния смещений слева, указывающую, являются ли параметры смещения левой LCU 61 текущих LCU 60 теми же самыми, что и параметры смещения текущей LCU 60, и информацию слияния смещений сверху, указывающую, являются ли параметры смещения верхней LCU 62 теми же самыми, что и параметры смещения текущей LCU 60, в качестве информации слияния смещений. В данном случае параметры смещения текущей LCU 60 и левой LCU 61 могут быть первоначально сравнены для определения, являются ли они одними и теми же, а затем параметры смещения текущей LCU 60 и верхней LCU 62 могут быть сравнены для определения, являются ли они одними и теми же. Согласно результату сравнения может быть определена информация слияния смещений.
Если параметры смещения по меньшей мере одной из левой и верхней наибольших единиц 61 и 62 кодирования (LCU) являются одними и теми же, что и параметры смещения текущей LCU 60, то кодер 16 параметров смещения может кодировать информацию слияния смещений только слева или сверху и может не кодировать параметры смещения текущей LCU 60.
Если параметры смещения как левой, так и верхней наибольших единиц 61 и 62 кодирования (LCU) отличаются от параметров смещения текущей LCU 60, кодер 16 параметров смещения может кодировать информацию слияния смещений слева или сверху и параметры смещения текущей LCU 60.
Теперь будут подробно описаны параметры смещения согласно цветовым компонентам.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут внешне предсказывать параметры смещения между цветовыми компонентами.
Методика SAO может быть применена к блокам яркости и блокам цветности в формате цвета YCrCb. Могут быть определены значения смещения составляющей яркости и составляющих цветности текущей LCU, соответственно.
Согласно одному варианту осуществления общая информация слияния смещений может применяться к Y-составляющей, Cr-составляющей и Cb-составляющей текущей LCU. То есть, на основе одной части информации слияния смещений может быть определено, являются ли параметры смещения Y-составляющей теми же самыми, что и параметры смещения Y-составляющей смежной LCU, может быть определено, являются ли параметры смещения Cr-составляющей теми же самыми, что и параметры смещения Cr-составляющей смежной LCU, и может быть определено, являются ли параметры смещения Cb-составляющей теми же самыми, что и параметры смещения Cb-составляющей смежной LCU.
Согласно другому варианту осуществления, общая информация типа смещения может быть применена к Cr-составляющей и Cb-составляющей текущей LCU. То есть, на основе одной части информации типа смещения, может быть определено, определены ли значения смещения Cr-составляющей и Cb-составляющей согласно типу края или типу полосы.
Теперь со ссылкой на Фиг.7 будет подробно описываться процесс синтаксического анализа параметров смещения каждой составляющей цвета текущей LCU.
Фиг.7 является блок-схемой последовательности операций процесса 70 синтаксического анализа параметров смещения, согласно одному варианту осуществления настоящего изобретения.
Первоначально на этапе 71 осуществляется синтаксический анализ (Осуществить Слияние Влево) информации слияния смещений слева текущей LCU. На основе информации слияния смещений слева, если определено осуществить обращение к параметрам левой LCU, процесс 70 заканчивается на текущей LCU, и параметры смещения текущей LCU могут быть определены такими же, что и параметры смещения левой LCU.
Если определено не осуществлять обращение к параметрам смещений левой LCU на основе информации слияния смещений левой стороны на этапе 71, то на этапе 72 осуществляется синтаксический анализ (Осуществить Слияние Вправо) информации слияния смещений сверху текущей LCU. Если определено осуществить обращение к параметрам верхней LCU, то процесс 70 заканчивается на текущей LCU, и параметры смещения текущей LCU могут быть определены такими же, что и параметры смещения верхней LCU.
Если определено не осуществлять обращение к параметрам смещений верхней LCU на основе информации слияния смещений сверху на этапе 72, то на этапе 73 осуществляются синтаксический анализ параметров смещения текущей LCU.
Первоначально, на этапе 73 осуществляется синтаксический анализ типа смещения (тип SAO) составляющей яркости. Если тип смещения является типом «выключено» (OFF), так как регулировка смещения согласно методике SAO не выполняется над составляющей яркости, то для того, чтобы осуществить синтаксический анализ параметров смещения составляющей цветности, процесс 70 на текущей LCU переходит к этапу 74.
Если тип смещения составляющей яркости является типом (EO) края на этапе 73, то на этапе 751 может быть осуществлен синтаксический анализ значений смещения яркости четырех категорий. Синтаксический анализ значений смещения типа края может быть осуществлен без информации знака. На этапе 752 может быть осуществлен синтаксический анализ класса края яркости (Класс EO яркости) из 2 битов. Направление края составляющей яркости текущей LCU может быть определено на основе класса края яркости.
Как описано выше, так как принимаются значения смещения четырех категорий, указывающих формы краев, то всего принимается четыре значения смещения. Так как каждый восстановленный пиксель яркости текущей LCU может быть сравнен со смежными пикселями согласно направлению края, и таким образом могут быть определены его форма края и его категория, то значение смещения текущей категории может быть выбрано среди принятых значений смещения. Значение пикселя восстановленного пикселя яркости может быть отрегулировано посредством использования выбранного значения смещения.
Если тип смещения составляющей яркости является типом (BO) полосы на этапе 73, то на этапе 761 может быть осуществлен синтаксический анализ значений смещения яркости четырех категорий. Может быть осуществлен синтаксический анализ значений смещения типа полосы вместе с информацией знака. На этапе 762 может быть осуществлен синтаксический анализ класса полосы яркости из 5 битов. Положение начальной полосы яркости (положение левой полосы Яркости) может быть определено среди множества полос значений пикселей восстановленных пикселей текущей LCU на основе класса полосы яркости.
Как описано выше, так как принимаются значения смещения четырех категорий, указывающих четыре непрерывные полосы от положения начальной полосы, то всего принимается четыре значения смещения. Так как может быть определена полоса, которой принадлежит каждый восстановленный пиксель яркости текущей LCU, и таким образом может быть определена его категория, то значение смещения текущей категории может быть выбрано среди принятых значений смещения. Значение пикселя восстановленного пикселя яркости может быть отрегулировано посредством использования выбранного значения смещения.
Затем, на этапе 74 осуществляется синтаксический анализ типа смещения составляющей цветности. Тип смещения может общим образом применяться к Cr-составляющей и Cb-составляющей. Если тип смещения является типом «выключено» (OFF), так как регулировка смещения согласно методике SAO не выполняется над составляющей цветности, то процесс заканчивается на текущей LCU.
Если тип смещения составляющей цветности является типом (EO) края на этапе 74, то на этапе 771 может быть осуществлен синтаксический анализ значений смещения Cb четырех категорий. Может быть осуществлен синтаксический анализ значения смещения Cb типа края без информации знака. На этапе 772 может быть осуществлен синтаксический анализ класса (Класс EO цветности) края цветности из 2 битов. Направление края составляющей цветности текущей LCU может быть определено на основе класса края цветности. Класс края цветности может также общим образом применяться к Cr-составляющей и Cb-составляющей. На этапе 773 может быть осуществлен синтаксический анализ значения смещения Cr четырех категорий.
Подобно регулировке смещения над типом края составляющей яркости, по каждой из Cr-составляющей и Cb-составляющей среди принятых значений смещения может быть выбрано значение смещения текущей категории. Значение пикселя восстанавливаемого пикселя Cr-составляющей или Cb-составляющей может быть отрегулировано посредством использования выбранного значения смещения.
Если тип смещения составляющей цветности является типом (BO) полосы на этапе 74, то на этапе 781 может быть осуществлен синтаксический анализ значений смещения Cb-составляющей четырех категорий вместе с информацией знака. На этапе 782 может быть осуществлен синтаксический анализ класса полосы Cb из 5 битов. Положение начальной полосы Cb (положение левой полосы Cb) восстановленных пикселей Cb-составляющей текущей LCU может быть определено на основе класса полосы Cb. На этапе 783 может быть осуществлен синтаксический анализ значений смещения Cr-составляющей четырех категорий вместе с информацией знака. На этапе 784 может быть осуществлен синтаксический анализ класса полосы Cr из 5 битов. Положение начальной полосы Cr (положение левой полосы Cr) восстановленных пикселей Cr-составляющей текущей LCU может быть определено на основе класса полосы Cr.
Подобно регулировке смещения над типом полосы составляющей яркости, по каждой из Cr-составляющей и Cb-составляющей среди принятых значений смещения может быть выбрано значение смещения текущей категории. Значение пикселя восстановленного пикселя Cr-составляющей или Cb-составляющей может быть отрегулировано посредством использования выбранного значения смещения.
Соответственно, устройство 10 кодирования видео и устройство 20 или 30 декодирования видео с использованием методики SAO могут классифицировать значения пикселей каждой LCU согласно характеристикам изображения, таким как тип края или тип полосы, могут сигнализировать значение смещения, которое является средним значением ошибки значений пикселей, имеющих одни и те же характеристики, и могут регулировать непредсказуемые значения пикселей восстановленных пикселей посредством значения смещения, тем самым минимизируя ошибку между исходным изображением и восстановленным изображением.
В устройстве 10 кодирования видео и устройстве 20 декодирования видео, как описано выше, данные видео могут быть разделены на наибольшие единицы кодирования (LCU), каждая LCU может кодироваться и декодироваться на основе единиц кодирования, имеющих древовидную структуру, и каждая LCU может определять значения смещения согласно классификации пикселей. В дальнейшем со ссылкой на Фиг.1A-20 будут описываться способ кодирования видео, устройство кодирования видео, способ декодирования видео и устройство декодирования видео на основе единиц кодирования, имеющих древовидную структуру, и единиц преобразования.
Фиг.8 является блок-схемой устройства 100 кодирования видео на основе единиц кодирования согласно древовидной структуре в соответствии с одним вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео, вовлекающее предсказание видео на основе единиц кодирования согласно древовидной структуре, включает в себя разделитель 110 LCU, определитель 120 единиц кодирования и средство 130 вывода.
Разделитель 110 LCU может разделять текущую картинку на основе LCU, которая является единицей кодирования, имеющей максимальный размер для текущей картинки изображения. Если текущая картинка больше LCU, то данные изображения текущей картинки могут быть разделены по меньшей мере на одну LCU. LCU согласно одному варианту осуществления настоящего изобретения может быть единицей данных, имеющей размер 32×32, 64×64, 128×128, 256×256 и т.д., в которой форма единицы данных является квадратом, имеющим ширину и длину в квадратах по 2. Данные изображения могут быть выведены в определитель 120 единиц кодирования согласно по меньшей мере одной LCU.
Единица кодирования согласно одному варианту осуществления настоящего изобретения может быть охарактеризована максимальным размером и глубиной. Глубина обозначает количество раз, которое единица кодирования пространственно отделялся от LCU, и с углублением глубины более глубокие единицы кодирования согласно глубинам могут быть отделены от LCU до наименьшей единицы кодирования (SCU). Глубина LCU является наивысшей глубиной, а глубина SCU является самой низшей глубиной. Так как размер единицы кодирования, соответствующей каждой глубине, уменьшается с углублением глубины LCU, то единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижней глубине.
Как описано выше, данные изображения текущей картинки разделяются на наибольшие единицы кодирования (LCU) согласно максимальному размеру единицы кодирования, и каждая из LCU может включать в себя более глубокие единицы кодирования, которые разделяются согласно глубинам. Так как LCU согласно одному варианту осуществления настоящего изобретения разделяется согласно глубинам, то данные изображения пространственной области, содержащиеся в LCU, могут быть иерархически классифицированы согласно глубинам.
Могут быть предварительно определены максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее количество раз, которое высота и ширина LCU иерархически разделяются.
Определитель 120 единиц кодирования кодирует по меньшей мере одну область разделения, полученную посредством разделения области LCU согласно глубинам, и определяет глубину для вывода окончательно закодированных данных изображения согласно по меньшей мере одной области разделения. Другими словами, определитель 120 единиц кодирования определяет кодированную глубину посредством кодирования данных изображения в более глубоких единицах кодирования согласно глубинам в соответствии с LCU текущей картинки и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодированная глубина и кодированные данные изображения согласно определенной кодированной глубине выводятся в средство 130 вывода.
Данные изображения в LCU кодируются на основе более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере одна кодированная глубина может быть выбрана для каждой LCU.
Размер LCU разделяется с иерархическим разделением единицы кодирования согласно глубинам и с увеличением количества единиц кодирования. Кроме того, даже если единицы кодирования соответствуют одной и тот же глубине в одной LCU, определяется, разделять ли каждую из единиц кодирования, соответствующих одной и тот же глубине, до более низкой глубины посредством измерения ошибки кодировки данных изображения каждой единицы кодирования, по отдельности. Соответственно, даже когда данные изображения содержатся в одной LCU, ошибки кодирования могут отличаться согласно областям в одной LCU, и таким образом кодированные глубины могут отличаться согласно областям в данных изображения. Таким образом, одна или более кодированных глубин могут быть определены в одной LCU, и данные изображения LCU могут быть разделены согласно единицам кодирования по меньшей мере одной кодированной глубины.
Соответственно, определитель 120 единиц кодирования может определять единицы кодирования, имеющие древовидную структуру, содержащуюся в LCU. «Единицы кодирования, имеющие древовидную структуру» согласно одному варианту осуществления настоящего изобретения, включают в себя единицы кодирования, соответствующие глубине, определенной в качестве кодированной глубины, среди всех более глубоких единиц кодирования, включенных в LCU. Единица кодирования кодированной глубины может быть иерархически определена согласно глубинам в одной и той же области LCU, и может быть независимо определена в других областях. Схожим образом кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.
Максимальная глубина согласно одному варианту осуществления настоящего изобретения является индексом, относящимся к количеству раз разделений от LCU к SCU. Первая максимальная глубина согласно одному варианту осуществления настоящего изобретения может обозначать общее количество раз разделений от LCU к SCU. Вторая максимальная глубина согласно одному варианту осуществления настоящего изобретения может обозначать общее количество уровней глубины от LCU к SCU. Например, когда глубина LCU является 0, то глубина единицы кодирования, в которой LCU разделяется один раз, может быть установлена в 1, а глубина единицы кодирования, в которой LCU разделяется дважды, может быть установлена в 2. В данном случае, если SCU является единицей кодирования, в которой LCU разделяется четыре раза, то существует 5 уровней глубины глубин 0, 1, 2, 3 и 4, и таким образом первая максимальная глубина может быть установлена в 4, а вторая максимальная глубина может быть установлена в 5.
Кодирование с предсказанием и преобразование могут выполняться согласно LCU. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких единиц кодирования согласно глубине, равной, или глубинам, меньшим максимальной глубины, согласно LCU.
Так как количество более глубоких единиц кодирования увеличивается всякий раз, когда LCU разделяется согласно глубинам, то кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми из более глубоких единиц кодирования, созданных при углублении глубины. Для удобства описания кодирование с предсказанием и преобразование теперь будут описываться на основе единицы кодирования текущей глубины, в LCU.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображения. Для того чтобы закодировать данные изображения, выполняются такие действия, как кодирование с предсказанием, преобразование и энтропийное кодирование, и при этом, одна и та же единица данных может использоваться для всех действий, либо для каждого действия могут использоваться различные элементы данных.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображения, но также и единицу данных, отличающуюся от единицы кодирования, для того, чтобы выполнить кодирование с предсказанием над данными изображения в единице кодирования.
Для того чтобы выполнить кодирование с предсказанием в LCU, кодирование с предсказанием может быть выполнено на основе единицы кодирования, соответствующей кодированной глубине, то есть, на основе единицы кодирования, которая больше не разделяется на единицы кодирования, соответствующие более низкой глубине. В дальнейшем, единица кодирования, которая больше не разделяется и становится базисной единицей для кодирования с предсказанием, будет теперь упоминаться в качестве «единицы предсказания». Разделение, полученное посредством разделения единицы предсказания, может включать в себя единицу предсказания или единицу данных, полученные посредством разделения по меньшей мере одного из высоты и ширины единицы предсказания. Разделение является единицей данных, в котором разделяется единица предсказания единицы кодирования, а единица предсказания может быть разделением, имеющим тот же самый размер, что и единица кодирования.
Например, когда единица кодирования в 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, когда размер единицы преобразования составляет N×N, и может быть 2, когда размер единицы преобразования составляет N/2×N/2. Другими словами, единица преобразования, имеющая древовидную структуру, может быть установлена согласно глубинам преобразования.
Информации кодирования согласно единицам кодирования, соответствующим кодированной глубине, требует не только информацию кодированной глубины, но также и об информации, относящейся к кодированию с предсказанием и преобразованию. Соответственно определитель 120 единиц кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также определяет тип разделения в единице предсказания, режим предсказания согласно единицам предсказания и размер единицы преобразования для преобразования.
Единицы кодирования согласно древовидной структуре в LCU и способы определения разделения/единицы предсказания и единицы преобразования согласно вариантам осуществления настоящего изобретения будут подробно описаны ниже со ссылкой на Фиг.7-19.
Определитель 120 единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования Оптимизации Искажений от Скорости (Rate-Distortion Optimization) на основе множителей Лагранжа.
Средство 130 вывода выводит данные изображения LCU, которые кодируются на основе по меньшей мере одной кодированной глубины, определенной определителем 120 единиц кодирования, и информацию режима кодирования согласно кодированной глубине в битовых потоках.
Кодированные данные изображения могут быть получены посредством кодирования остатков изображения.
Информация режима кодирования согласно кодированной глубине может включать в себя информацию о кодированной глубине, о типе разделения в единице предсказания, режиме предсказания и размере единицы преобразования.
Информация о кодированной глубине может быть задана посредством использования информации разделения согласно глубинам, которая указывает, выполняется ли кодирование над единицами кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, то кодируются и выводятся данные изображения в текущей единице кодирования, и таким образом информация разделения может быть задана для не разделения текущей единицы кодирования до более низкой глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется над единицей кодирования более низкой глубины, и таким образом информация разделения может быть задана для разделения текущей единицы кодирования для получения единиц кодирования более низкой глубины.
Если текущая глубина не является кодированной глубиной, то кодирование выполняется над единицей кодирования, которая разделена на единицу кодирования более низкой глубины. Так как по меньшей мере одна единица кодирования более низкой глубины существует в одной единице кодирования текущей глубины, то кодирование многократно выполняется над каждой единицей кодирования более низкой глубины, и таким образом кодирование может рекурсивно выполняться для единиц кодирования, имеющих одну и ту же глубину.
Так как единицы кодирования, имеющие древовидную структуру, определяются для одной LCU, и информация о по меньшей мере одном режиме кодирования определяется для единицы кодирования кодированной глубины, то информация о по меньшей мере одном режиме кодирования может быть определена для одной LCU. Кроме того, кодированная глубина данных изображения LCU может быть различной согласно местоположениям, так как данные изображения иерархически разделяются согласно глубинам, и таким образом для данных изображения может быть установлена информация о кодированной глубине и режиме кодирования.
Соответственно, средство 130 вывода может назначать информацию кодирования о соответствующей кодированной глубине и режиме кодирования по меньшей мере одной из единицы кодирования, единицы предсказания и минимальной единицы, включенной в LCU.
Минимальная единица согласно одному варианту осуществления настоящего изобретения является квадратной единицей данных, полученной посредством разделения SCU, составляющей низшую глубину, на 4. Альтернативно, минимальная единица согласно одному варианту осуществления может быть максимальной квадратной единицей данных, которая может содержаться во всех из единиц кодирования, единиц предсказания, единиц разделения и единиц преобразования, включенных в LCU.
Например, информация кодирования, выводимая средством 130 вывода, может быть классифицирована по информации кодирования согласно более глубоким единицам кодирования и информации кодирования согласно единицам предсказания. Информация кодирования согласно более глубоким единицам кодирования может включать в себя информацию о режиме предсказания и о размере разделений. Информация кодирования согласно единицам предсказания может включать в себя информацию об оцененном направлении внешнего режима, об опорном индексе изображения внешнего режима, о векторе движения, о составляющей цветности внутреннего режима и о способе интерполяции внутреннего режима.
Информация о максимальном размере единицы кодирования, заданной согласно картинкам, слайсам, или GOP (группам изображений), а информация о максимальной глубине может быть вставлена в заголовок битового потока, набор параметров последовательности или набор параметров картинки.
Информация о максимальном размере единицы преобразования, разрешенная по отношению к текущему видео и информация о минимальном размере единицы преобразования могут также быть выведены через заголовок битового потока, набор параметров последовательности или набор параметров картинки. Средство 130 вывода может кодировать и выводить параметры смещения, относящиеся к методике регулировки смещения, описанной выше со ссылкой на Фиг.1A-7.
В устройстве 100 кодирования видео более глубокая единица кодирования может быть единицей кодирования, полученной посредством разделения высоты или ширины единицы кодирования верхней глубины, которая является на один уровень выше, на два. Другими словами, когда размер единицы кодирования текущей глубины составляет 2N×2N, то размер единицы кодирования более низкой глубины составляет N×N. Кроме того, единица кодирования с текущей глубиной, имеющая размер 2N×2N, может включать в себя максимум 4 единицы кодирования с более низкой глубиной.
Соответственно, устройство 100 кодирования видео может образовывать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой LCU, на основе размера LCU и максимальной глубины, определенных с учетом характеристик текущей картинки. Кроме того, так как кодирование может быть выполнено над каждой LCU посредством использования любого из различных режимов предсказания и преобразований, то оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большое количество данных, кодируется в традиционном макроблоке, то количество макроблоков на картинку чрезмерно увеличивается. Соответственно, количество частей сжатой информации, созданной для каждого макроблока, увеличения, и таким образом трудно передавать сжатую информацию, и эффективность сжатия данных понижается. Однако, посредством использования устройства 100 кодирования видео эффективность сжатия изображения может быть увеличена, так как единица кодирования регулируется при учете характеристик изображения при увеличении максимального размера единицы кодирования при учете размера изображения.
Устройство 100 кодирования видео с Фиг.8 может выполнять действие устройства 10 кодирования видео, описанного выше со ссылкой на Фиг.1A.
Определитель 120 единиц кодирования может выполнять действие определителя 14 параметров смещения устройства 10 кодирования видео. Тип смещения, значения смещения согласно категориям и класс смещения могут быть определены по отношению к каждой LCU.
Средство 130 вывода может выполнять действие кодера 16 параметров смещения. Могут выводиться параметры смещения, определенные по отношению к каждой LCU. Информация слияния смещений, указывающая, осуществлять ли принятие параметров смещений смежной LCU текущей LCU в качестве параметров смещения текущей LCU, может быть выведена первоначально. В качестве типа смещения могут быть выведены тип «выключено», тип края или тип полосы. Значение смещения может быть выведено в порядке информации нулевого значения, информации знака и оставшейся части. По отношению к типу края информация знака значения смещения может не выводиться.
Если информация слияния смещений текущей LCU делает возможным осуществление принятия параметров смещения смежной LCU, то тип смещения и значения смещения текущей LCU могут не выводиться.
Фиг.9 является блок-схемой устройства 200 декодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно одному варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео, которое вовлекает предсказание видео на основе единиц кодирования, имеющих древовидную структуру, включает в себя приемник 210, средство 220 извлечения информации кодирования и данных изображения и декодер 230 данных изображения.
Определения различных терминов, таких как единица кодирования, глубина, единица предсказания, единица преобразования и информация о различных режимах кодирования для действий декодирования устройства 200 декодирования видео идентичны тем, что описаны со ссылкой на Фиг.7 и устройство 100 кодирования видео.
Приемник 210 принимает и осуществляет синтаксический анализ битового потока кодированного видео. Средство 220 извлечения информации кодирования и данных изображения извлекает кодированные данные изображения для каждой единицы кодирования из подвергшегося синтаксическому анализу битового потока, в котором единицы кодирования имеют древовидную структуру согласно каждой LCU, и выводит извлеченные данные изображения в декодер 230 данных изображения. Средство 220 извлечения информации кодирования и данных изображения может извлекать информацию о максимальном размере единицы кодирования текущей картинки из заголовка о текущей картинке, набора параметров последовательности или набора параметров картинки.
Кроме того, средство 220 извлечения информации кодирования и данных изображения извлекает информацию о кодированной глубине и режиме кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой LCU из подвергшегося синтаксическому анализу битового потока. Извлеченная информация о кодированной глубине и режиме кодирования выводится в декодер 230 данных изображения. Другими словами, данные изображения в битовом потоке разделяются на LCU так, чтобы декодер 230 данных изображения декодировал данные изображения для каждой LCU.
Информация о кодированной глубине и режиме кодирования согласно LCU может устанавливаться для информации о по меньшей мере одной единице кодирования, соответствующей кодированной глубине, и информация режима кодирования может включать в себя информацию о типе разделения соответствующей единицы кодирования, соответствующей кодированной глубине, о режиме предсказания и размере единицы преобразования. Кроме того, информация разделения согласно глубинам может быть извлечена в качестве информации о кодированной глубине.
Информацией о кодированной глубине и режиме кодирования согласно каждой LCU, извлеченной средством 220 извлечения информации кодирования и данных изображения, является информация о кодированной глубине и режиме кодирования, определенная для создания минимальной ошибки кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждой более глубокой единицы кодирования согласно глубинам согласно каждой LCU. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображения согласно кодированной глубине и режиму кодирования, который создает минимальную ошибку кодирования.
Так как информации кодирования о кодированной глубине и режиме кодирования может быть назначена предварительно определенной единице данных среди соответствующей единицы кодирования, единицы предсказания и минимальной единицы, то средство 220 извлечения информации кодирования и данных изображения может извлекать информацию о кодированной глубине и режиме кодирования согласно предварительно определенным единицам данных. Если информация о кодированной глубине и режиме кодирования соответствующей LCU записывается согласно предварительно определенным единицам данных, то может быть сделан вывод о том, что предварительно определенные единицы данных, которым назначается одна и та же информация о кодированной глубине и режиме кодирования, являются единицами данных, содержащимися в одной и той же LCU.
Декодер 230 данных изображения восстанавливает текущую картинку посредством декодирования данных изображения в каждой LCU на основе информации о кодированной глубине и режиме кодирования согласно наибольшим единицам кодирования (LCU). Другими словами, декодер 230 данных изображения может декодировать закодированные данные изображения на основе извлеченной информации о типе разделения, режиме предсказания и единице преобразования для каждой единицы кодирования среди единиц кодирования, включающих в себя древовидную структуру, в каждой LCU. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных изображения может выполнять внутреннее предсказание или компенсацию движения согласно разделению и режиму предсказания каждой единицы кодирования на основе информации о типе разделения и режиме предсказания единицы предсказания единицы кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображения может считывать информацию о единице преобразования согласно древовидной структуре для каждой единицы кодирования так, чтобы выполнять обратное преобразование на основе единиц преобразования для каждой единицы кодирования, для обратного преобразования для каждой LCU. Через обратное преобразование может быть восстановлено значение пикселя пространственной области единицы кодирования.
Декодер 230 данных изображения может определять кодированную глубину текущей LCU посредством использования информации разделения согласно глубинам. Если информация разделения указывает, что данные изображения больше не разделяются на текущей глубине, то текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные в текущей LCU посредством использования информации о типе разделения единицы предсказания, режима предсказания и размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя одну и ту же информацию разделения, могут быть собраны посредством наблюдения за информацией кодирования, установленной назначенной для предварительно определенного элемента данных среди единицы кодирования, единицы предсказания и минимальной единицы, а собранные единицы данных могут считаться одним элементом данных, который должен быть декодирован декодером 230 данных изображения в одном и том же режиме кодирования. Как таковая, текущая единица кодирования может декодироваться посредством получения информации режима кодирования для каждой единицы кодирования.
Кроме того, устройство 200 декодирования видео с Фиг.9 может выполнять действие устройства 20 декодирования видео, описанного выше со ссылкой на Фиг.2A.
Средство 220 извлечения информации кодирования и данных изображения и приемник 210 могут выполнить действие средства 22 извлечения параметров смещения устройства 20 декодирования видео. Декодер 230 данных изображения может выполнять действия определителя 24 смещения и регулятора 26 смещения устройства 20 декодирования видео.
Если осуществляется синтаксический анализ только информации слияния смещений из битового потока без параметров смещения текущей LCU, то средство 220 извлечения информации кодирования и данных изображения может восстанавливать параметры смещения текущей LCU такими же, что и параметры смещения по меньшей мере одной из смежных LCU. На основе информации слияния смещений может быть определена смежная LCU, имеющая параметры смещения, к которым следует осуществить обращение. Если определено, что параметры смещения текущей LCU отличаются от параметров смещения смежных LCU, на основе информации слияния смещений текущей LCU, которая подвержена синтаксическому анализу из битового потока, то средство 220 извлечения информации кодирования и данных изображения может осуществлять синтаксический анализ и восстанавливать параметры смещения текущей LCU из битового потока.
Средство 220 извлечения информации кодирования и данных изображения может осуществлять синтаксический анализ параметров смещения каждой LCU из битового потока. На основе параметров смещения могут быть определены тип смещения, значения смещения согласно категориям и класс смещения. Если тип смещения текущей LCU является типом «выключено», то регулировка смещения над текущей LCU может быть закончена. Если тип смещения является типом края, то на основе категории, указывающей класс края, указывающий направление края каждого из восстановленных пикселей, и форму края, текущее значение смещения может быть выбрано среди принятых значений смещения. Если тип смещения является типом полосы, то определяется полоса, которой принадлежит каждый из восстановленных пикселей, и значение смещения, соответствующее текущей полосе, может быть выбрано среди значений смещения.
Декодер 230 данных изображения может создавать восстановленный пиксель, способный минимизировать ошибку между исходным пикселем и восстановленным пикселем посредством регулирования значения пикселя восстановленного пикселя посредством соответствующего значения смещения. Смещения восстановленных пикселей каждой LCU могут регулироваться на основе подвергшихся синтаксическому анализу параметров смещения.
Таким образом, устройство 200 декодирования видео может получать информацию о по меньшей мере одной единице кодирования, которая создает минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждой LCU, и может использовать информацию для декодирования текущей картинки. Другими словами, могут быть декодированы единицы кодирования с древовидной структурой, определенные в качестве оптимальных единиц кодирования в каждом LCU.
Соответственно, даже если данные изображения имеют высокое разрешение и большое количество данных, то данные изображения могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображения, посредством использования информации об оптимальном режиме кодирования, принятой от кодера.
Фиг.10 является схемой для описания концепции единиц кодирования согласно одному варианту осуществления настоящего изобретения.
Размер единицы кодирования может быть выражен с помощью ширины × высоту, и может составлять 64×64, 32×32, 16×16 и 8×8. Единица кодирования в 64×64 может быть разделена на разделения в 64×64, 64×32, 32×64 или 32×32, а единица кодирования в 32×32 может быть разделена на разделения в 32×32, 32×16, 16×32 или 16×16, единица кодирования в 16×16 может быть разделена на разделения в 16×16, 16×8, 8×16 или 8×8, и единица кодирования в 8×8 может быть разделена на разделения в 8×8, 8×4, 4×8 или 4×4.
В данных 310 видео разрешение составляет 1920×1080, максимальный размер единицы кодирования составляет 64 и максимальная глубина составляет 2. В данных 320 видео разрешение составляет 1920×1080, максимальный размер единицы кодирования составляет 64 и максимальная глубина составляет 3. В данных 330 видео разрешение составляет 352×288, максимальный размер единицы кодирования составляет 16 и максимальная глубина составляет 1. Максимальная глубина, изображенная на Фиг.10, обозначает общее количество разделений от LCU до минимальной единицы декодирования.
Если разрешение является высоким или количество данных является большим, то максимальный размер единицы кодирования может быть большим так, чтобы не только увеличивать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования данных 310 и 320 видео, имеющих более высокое разрешение, чем данные 330 видео, может составлять 64.
Так как максимальная глубина данных 310 видео составляет 2, то единицы 315 кодирования данных 310 видео могут включать в себя LCU, имеющую размер 64 вдоль продольной оси, и единицы кодирования, имеющие размеры 32 и 16 вдоль продольной оси, так как глубины углублены на два уровня посредством разделения LCU дважды. Так как максимальная глубина данных 330 видео составляет 1, то единицы 335 кодирования данных 330 видео могут включать в себя LCU, имеющую размер 16 вдоль продольной оси, и единицы кодирования, имеющие размер 8 вдоль продольной оси, так как глубины углублены на один уровень, посредством разделения LCU один раз.
Так как максимальная глубина данных 320 видео составляет 3, то единицы 325 кодирования данных 320 видео могут включать в себя LCU, имеющую размер 64 вдоль продольной оси, и единицы кодирования, имеющие размеры 32, 16, и 8 вдоль продольной оси, так как глубины углублены на 3 уровня посредством разделения LCU три раза. С углублением глубины может точно выражаться подробная информация.
Фиг.11 является блок-схемой кодера 400 изображений на основе единиц кодирования согласно одному варианту осуществления настоящего изобретения.
Кодер 400 изображений выполняет действия определителя 120 единиц кодирования устройства 100 кодирования видео для кодирования данных изображения. Другими словами, внутренний предсказатель 410 выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме среди текущего кадра 405, а средство 420 оценки движения и компенсатор 425 движения соответственно выполняют внешнюю оценку и компенсацию движения над единицами кодирования во внешнем режиме среди текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из внутреннего предсказателя 410, средства 420 оценки движения и компенсатора движения 425 выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после прохождения постобработки через фильтр 480 удаления блочности и фильтра 490 SAO. Квантованный коэффициент преобразования может быть выведен в качестве битового потока 455 через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео все элементы кодера 400 изображений, то есть, внутренний предсказатель 410, средство 420 оценки движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, фильтр 480 удаления блочности и фильтр 490 SAO выполняют действия на основе каждой единицы кодирования среди единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой LCU.
В частности, внутренний предсказатель 410, средство 420 оценки движения и компенсатор 425 движения определяют разделения и режим предсказания каждой единицы кодирования среди единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей LCU, и преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования среди единиц кодирования, имеющих древовидную структуру.
В частности, когда средство 420 оценки движения выполняет внешнее предсказание с использованием долгосрочного опорного кадра, информация POC долгосрочного опорного кадра может быть выведена в качестве долгосрочного опорного индекса. Энтропийный 450 кодер может кодировать и выводить информацию LSB информации POC долгосрочного опорного кадра в качестве долгосрочного опорного индекса. Информация LSB информации POC долгосрочных опорных кадров для единиц предсказания текущего слайса может быть включена в состав заголовка слайса и затем передана.
Кодер 400 изображений может классифицировать пиксели согласно типу края (или типу полосы) каждой LCU опорного кадра 495, может определять направление края (или положение начальной полосы) и может определять среднее значение ошибки восстановленных пикселей, включенных в каждую категорию. По отношению к каждой LCU информация слияния смещений, тип смещения и значения смещения могут кодироваться и сигнализироваться.
Фиг.12 является блок-схемой декодера 500 изображения на основе единиц кодирования согласно одному варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 осуществляет синтаксический анализ кодированных данных изображения, которые следует декодировать, и информации кодирования, необходимой для декодирования, из битового потока 505. Кодированные данные изображения выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области через обратный преобразователь 540.
Внутренний предсказатель 550 выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме по отношению к данным изображения в пространственной области, а компенсатор 560 движения выполняет компенсацию движения над единицами кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые прошли через внутренний предсказатель 550 и компенсатор 560 движения, могут быть выведены в качестве восстановленного кадра 595 после прохождения постобработки через фильтр 570 удаления блочности и фильтр 580 SAO. Кроме того, данные изображения, которые подвергаются постобработке через фильтр 570 удаления блочности и фильтр 580 SAO, могут быть выведены в качестве опорного кадра 585.
Для того чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображения может выполнять действия, которые выполняются после синтаксического анализатора 510.
Для применения декодера 500 изображения в устройстве 200 декодирования видео, все элементы декодера 500 изображения, то есть, синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, внутренний предсказатель 550, компенсатор 560 движения, фильтр 570 удаления блочности и фильтр 580 SAO выполняют действия на основе единиц кодирования, имеющих древовидную структуру, для каждой LCU.
В частности, внутренний предсказатель 550 и компенсатор 560 движения выполняют действия на основе разделений и режима предсказания для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 выполняет действия на основе размера единицы преобразования для каждой единицы кодирования.
Декодер 500 изображения может извлекать параметры смещения LCU из битового потока. На основе информации слияния смещений среди параметров смещения текущей LCU могут быть восстановлены параметры смещения текущей LCU, которые являются теми же самыми, что и параметры смещения смежной LCU. Посредством использования типа смещения и значений смещения среди параметров смещения текущей LCU, каждый из восстановленных пикселей LCU восстановленного кадра 595 может быть отрегулирован посредством значения смещения, соответствующим категории согласно типу края или типу полосы.
Фиг.13 является схемой, изображающей более глубокие единицы кодирования согласно глубинам и разделения, согласно одному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования так, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут адаптивно определяться согласно характеристикам изображения, или могут по-разному устанавливаться пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут определяться согласно предварительно определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования согласно одному варианту осуществления настоящего изобретения каждая из максимальной высоты и максимальной ширины единиц кодирования составляет 64, а максимальная глубина составляет 4. В данном случае максимальная глубина относится к общему количеству раз, которое единица кодирования разделяется от LCU до SCU. Так как глубина углубляется вдоль вертикальной оси иерархической структуры 600, то разделяется каждая из высоты и ширины более глубокой единицы кодирования. Кроме того, единица предсказания и разделения, которые являются основаниями для кодирования с предсказанием каждой более глубокой единицы кодирования, изображаются вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является LCU в иерархической структуре 600, в которой глубина составляет 0, а размер, то есть, высота на ширину, составляет 64×64. Глубина углубляется вдоль вертикальной оси, при этом единица 620 кодирования имеет размер 32×32 и глубину 1, единица 630 кодирования имеет размер 16×16 и глубину 2 и единица 640 кодирования имеет размер 8×8 и глубину 3. Единица 640 кодирования, имеющая размер 4×4 и глубину 3, является SCU.
Единица предсказания и разделения единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 610 кодирования, имеющая размер 64×64 и глубину 0, является единицей предсказания, то данная единица предсказания может быть разделена на разделения, включенные в единицу 610 кодирования, то есть разделение 610, имеющее размер 64×64, разделения 612, имеющие размер 64×32, разделения 614, имеющие размер 32×64 или разделения 616, имеющие размер 32×32.
Схожим образом единица предсказания единицы 620 кодирования, имеющей размер 32×32 и глубину 1, может быть разделена на разделения, включенные в единицу 620 кодирования, то есть, разделение 620, имеющее размер 32×32, разделения 622, имеющие размер 32×16, разделения 624, имеющие размер 16×32, и разделения 626, имеющие размер 16×16.
Схожим образом единица предсказания единицы 630 кодирования, имеющей размер 16×16 и глубину 2, может быть разделена на разделения, включенные в единицу 630 кодирования, то есть, разделение, имеющее размер 16×16, содержащееся в единице 630 кодирования, разделения 632, имеющие размер 16×8, разделения 634, имеющие размер 8×16, и разделения 636, имеющие размер 8×8.
Схожим образом единица предсказания единицы 640 кодирования, имеющей размер 8×8 и глубину 3, может быть разделена на разделения, включенные в единицу 640 кодирования, то есть, разделение, имеющее размер 8×8, включенное в единицу 640 кодирования, разделения 642, имеющие размер 8×4, разделения 644, имеющие размер 4×8, и разделения 646, имеющие размер 4×4.
Для того чтобы определить по меньшей мере одну кодированную глубину единиц кодирования, составляющих LCU 610, определитель 120 единиц кодирования 100 устройства кодирования видео выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенной в LCU 610.
Количество более глубоких единиц кодирования согласно глубинам, включающим в себя данные в одном и том же диапазоне и одном и том же размере, увеличивается с углублением глубины. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для покрытия данных, которые содержатся в одной единице кодирования, соответствующей глубине 1. Соответственно, для того, чтобы сравнить результаты кодирования одних и тех же данных согласно глубинам, кодируются каждая из единицы кодирования, соответствующей глубине 1, и четырех единиц кодирования, соответствующих глубине 2.
Для того чтобы выполнить кодирование для текущей глубины среди глубин, для текущей глубины может быть выбрана наименьшая ошибка кодирования посредством выполнения кодирования для каждой единицы предсказания в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, может отыскиваться минимальная ошибка кодирования посредством сравнения наименьшей ошибки кодирования согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того, как глубина углубляется, вдоль вертикальной оси иерархической структуры 600. Глубина и разделение, имеющее минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодированной глубины и типа разделения единицы 610 кодирования.
Фиг.14 является схемой для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования согласно одному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео или устройство 200 декодирования видео кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные LCU, для каждой LCU. Размеры единиц преобразования для преобразования в течение кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 кодирования видео или устройстве 200 декодирования видео, если размер единицы 710 кодирования составляет 64×64, то преобразование может быть выполнено посредством использования единиц 720 преобразования, имеющих размер 32×32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64×64, могут кодироваться посредством выполнения преобразования над каждой из единиц преобразования, имеющих размер 32×32, 16×16, 8×8 и 4×4, которые меньше 64×64, и затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг.15 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно одному варианту осуществления настоящего изобретения.
Средство 130 вывода устройства 100 кодирования видео может кодировать и передавать информацию 800 о типе разделения, информацию 810 о режиме предсказания и информацию 820 о размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации режима кодирования.
Информация 800 указывает информацию о форме разделения, полученного посредством разделения единицы предсказания текущей единицы кодирования, при этом разделение является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица CU_0 кодирования, имеющая размер 2N×2N, может быть разделена на любое из разделения 802, имеющего размер 2N×2N, разделения 804, имеющего размер 2N×N, разделения 806, имеющего размер N×2N, и разделения 808, имеющего размер N×N. В данном случае, информация 800 о типе разделения устанавливается для указания одного из разделения 804, имеющего размер 2N×N, разделения 806, имеющего размер N×2N, и разделения 808, имеющего размер N×N.
Информация 810 указывает режим предсказания каждого разделения. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого над разделением, указанного информацией 800, то есть, внутренний режим 812, внешний режим 814 или режим 816 пропуска.
Информация 820 указывает единицу преобразования, которая должна основываться на том, когда преобразование выполнено над текущей единицей кодирования. Например, единица преобразования может быть первой внутренней единицей 822 преобразования, второй внутренней единицей 824 преобразования, первой внешней единицей 826 преобразования или второй внешней единицей 828 преобразования.
Средство 220 извлечения информации кодирования и данных изображения устройства 200 декодирования видео может извлекать и использовать информацию 800, 810 и 820 для декодирования согласно каждой более глубокой единице кодирования.
Фиг.16 является схемой более глубоких единиц кодирования согласно глубинам в соответствии с одним вариантом осуществления настоящего изобретения.
Информация разделения может использоваться для указания изменения глубины. Информация разделения указывает, разделена ли единица кодирования текущей глубины на единицы кодирования более низкой глубины.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования, имеющей глубину 0 и размер 2N_0×2N_0, может включать в себя разделения типа 912 разделения, имеющего размер 2N_0×2N_0, типа 914 разделения, имеющего размер 2N_0×N_0, типа 916 разделения, имеющего размер N_0×2N_0, и типа 918 разделения, имеющего размер N_0×N_0. На Фиг.9 изображены только типы 912-918 разделения, которые получены посредством симметричного разделения единицы 910 предсказания, однако тип разделения не ограничивается этим, и разделения единицы 910 предсказания могут включать в себя несимметричные разделения, разделения, имеющие предварительно определенную форму, и разделения, имеющие некоторую геометрическую форму.
Кодирование с предсказанием многократно выполняется над одним разделением, имеющим размер 2N_0×2N_0, двумя разделениями, имеющими размер 2N_0×N_0, двумя разделениями, имеющими размер N_0×2N_0, и четырьмя разделениями, имеющими размер N_0×N_0, согласно каждому типу разделения. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может быть выполнено над разделениями, имеющими размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только над разделением, имеющем размер 2N_0×2N_0.
Если ошибка кодирования является самой маленькой в одном из типов 912-916 разделения, то единица 910 предсказания может не разделяться на более низкую глубину.
Если ошибка кодировки является самой маленькой при типе 918 разделения, то глубина изменяется от 0 до 1 для разделения типа 918 разделения на этапе 920, и кодирование многократно выполняется над единицами 930 кодирования, имеющими глубину 2 и размер N_0×N_0, для поиска минимальной ошибки кодирования.
Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования, имеющей глубину 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя разделения типа 942 разделения, имеющего размер 2N_1×2N_1, типа 944 разделения, имеющего размер 2N_1×N_1, типа 946 разделения, имеющего размер N_1×2N_1, и типа 948 разделения, имеющего размер N_1×N_1.
Если ошибка кодирования является самой маленькой при типе 948 разделения, то глубина изменяется от 1 до 2 для разделения типа 948 разделения на этапе 950, и кодирование многократно выполняется над единицами 960кодирвоания, которые имеют глубину 2 и размер N_2×N_2, для поиска минимальной ошибки кодирования.
Когда максимальная глубина составляет d, то действие разделения согласно каждой глубине может выполняться до того, когда глубина станет d-1, и информация разделения может кодироваться до того, когда глубина является одной из от 0 до d-2. Другими словами, когда кодирование выполняется до того, когда глубина является d-1 после того, как единица кодирования, соответствующая глубине d-2, разделяется на этапе 970, единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя разделения типа 992 разделения, имеющего размер 2N_(d-1)×2N_(d-1), типа 994 разделения, имеющего размер 2N_(d-1)×N_(d-1), типа 996 разделения, имеющего размер N_(d-1)×2N_(d-1), и типа 998 разделения, имеющего размер N_(d-1) ×N_(d-i).
Кодирование с предсказанием может многократно выполняться над одним разделением, имеющим размер 2N_(d-1)×2N_(d-1), двумя разделениями, имеющими размер 2N_(d-1)×N_(d-1), двумя разделениями, имеющими размер N_(d-1)×2N_(d-1), четырьмя разделениями, имеющими размер N_(d-1)×N_(d-1) среди типов 992-998 разделений, для поиска типа разделения, имеющего минимальную ошибку кодирования.
Даже когда тип 998 разделения имеет минимальную ошибку кодирования, так как максимальная глубина составляет d, то единица CU_(d-1) кодирования, имеющая глубину d-1, больше не разделяется до более низкой глубины, и кодированная глубина для единиц кодирования, составляющих текущую LCU 900, определяется в качестве d-1, и тип разделения текущей LCU 900 может быть определен в качестве N_(d-1)×N_(d-1). Кроме того, так как максимальная глубина составляет d и SCU 980, имеющий самую низкую глубину d-1, больше не разделяется до более низкой глубины, то информация разделения для SCU 980 не устанавливается.
Единица 999 данных может быть «минимальной единицей» для текущей LCU. Минимальная единица согласно одному варианту осуществления настоящего изобретения может быть квадратной единицей данных, полученной посредством разделения SCU 980 на 4. Посредством многократного выполнения кодирования устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибки кодирования согласно глубинам единицы 900 кодирования для определения кодированной глубины, и устанавливать соответствующий тип разделения и режим предсказания в качестве режима кодировки кодированной глубины.
Как таковые, минимальные ошибки кодирования согласно глубинам сравниваются во всех из глубин от 1 до d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип разделения единицы предсказания и режим предсказания могут кодироваться и передаваться в качестве информации режима кодирования. Кроме того, так как единица кодирования разделяется от глубины 0 до кодированной глубины, только информация разделения кодированной глубины устанавливается в 0, а информация разделения глубин, исключая кодированную глубину, устанавливается в 1.
Средство 220 извлечения информации кодирования и данных изображения устройства 200 декодирования видео может извлекать и использовать информацию о кодированной глубине и единица предсказания единицы 900 кодирования для декодирования разделения 912. Устройство 200 декодирования видео может определять глубину, в которой информация разделения является 0, в качестве кодированной глубины посредством использования информации разделения согласно глубинам и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг.17-19 являются схемами для описания взаимосвязи между единицами 1010кодирования, единицами 1060 предсказания и единицами 1070 преобразования согласно одному варианту осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру, соответствующими кодированным глубинам, определенным устройством 100 кодирования видео, в LCU. Единицы 1060 предсказания являются разделениями единиц предсказания каждой из единиц 1010 кодирования, и единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина LCU является 0 в единицах 1010 кодирования, то глубины единиц 1012 и 1054 кодирования являются 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования являются 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования являются 3, и глубины единиц 1040, 1042, 1044 и 1046 кодирования являются 4.
В единицах 1060 предсказания, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются посредством разделения единиц кодирования в единицах 1010 кодирования. Другими словами, типы разделений в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2N×N, типы разделений в единицах 1016, 1048 и 1052 кодирования имеют размер N×2N, и тип разделения единицы 1032 кодирования имеет размер N×N. Единицы предсказания и разделения единиц 1010 кодирования меньше чем или равны каждой единице кодирования.
Преобразование или обратное преобразование выполняются над данными изображения единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от единиц кодирования в единицах 1060 предсказания с точки зрения размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности над единицей данных в одной и той же единице кодирования.
Соответственно, кодирование рекурсивно выполняется на каждой из единиц кодирования, имеющих иерархическую структуру в каждой области LCU, для определения оптимальной единицы кодирования, и таким образом могут быть получены единицы кодирования, имеющие структуру рекурсивного дерева. Информации кодирования может включать в себя информацию разделения о единице кодирования, информацию о типе разделения, информацию о режиме предсказания и информацию о размере единицы преобразования. В Таблице 1 показана информация кодирования, которая может быть установлена устройствами 100 и 200 кодирования и декодирования видео.
Таблица 1
Информация разделения 0(Кодирование над Единицей кодирования, имеющей Размер 2N×2N и Текущую Глубину d)
Информация Разделения 1
Режим Предсказания
Тип Разделения
Размер Единицы Преобразования
Кодировать Многократно
Внутренний Внешний Пропуск (Только 2N×2N)
Тип Симметричного Разделения
Тип Несимметричного Разделения
Информация Разделения 0 Единицы преобразования
Информация Разделения 1 Единицы преобразования
Единицы кодирования, имеющие Более Низкую Глубину в d+1
2N×2N2N×NN×2NN×N
2N×nU2N×nDnL×2NnR×2N
2N×2N
N×N(Симметричный Тип) N/2×N/2(Несимметричный Тип)
Средство 130 вывода устройства 100 кодирования видео может выводить информацию кодирования о единицах кодирования, имеющих древовидную структуру, и средство 220 извлечения информации кодирования и данных изображения устройства 200 декодирования видео может извлекать информацию кодирования о единицах кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разделения указывает, разделена ли текущая единица кодирования на единицы кодирования более низкой глубины. Если информация разделения текущей глубины d является 0, то глубина, на которой текущая единица кодирования больше не разделяется на более низкую глубину, является кодированной глубиной, и таким образом для кодированной глубины может быть задана информация о типе разделения, режиме предсказания и размере единицы преобразования. Если текущая единица кодирования дополнительно разделена согласно информации разделения, то кодирование выполняется независимо над четырьмя разделенными единицами кодирования более низкой глубины.
Режим предсказания может быть одним из внутреннего режима, внешнего режима, и режима пропуска. Внутренний режим и внешний режим могут быть заданы во всех типах разделений, а режим пропуска задается только в типе разделения, имеющем размер 2N×2N.
Информация о типе разделения может указывать типы симметричных разделений, имеющие размеры 2N×2N, 2N×N, N×2N и N×N, которые получаются посредством симметричного разделения высоты или ширины единицы предсказания, и типы несимметричных разделений, имеющие размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получаются посредством симметричного разделения высоты или ширины единицы предсказания. Типы несимметричных разделений, имеющие размеры 2N×nU и 2N×nD, могут быть соответственно получены посредством разделения высоты единицы предсказания в 1:3 и 3:1, а типы несимметричных разделений, имеющие размеры nL×2N и nR×2N, могут быть соответственно получены посредством разделения ширины единицы предсказания в 1:3 и 3:1.
Размер единицы преобразования может быть установлен в качестве двух типов во внутреннем режиме и двух типов во внешнем режиме. Другими словами, если информация разделения единицы преобразования является 0, то размер единицы преобразования может составлять 2N×2N, который является размером текущей единицы кодирования. Если информация разделения единицы преобразования является 1, то единицы преобразования могут быть получены посредством разделения текущей единицы кодирования. Кроме того, если тип разделения текущей единицы кодирования, имеющей размер 2N×2N, является типом симметричного разделения, то размер единицы преобразования может составлять N×N, а если тип разделения текущей единицы кодирования является типом несимметричного разделения, то размер единицы преобразования может составлять N/2×N/2.
Информация кодирования о единицах кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере один из единицы кодирования, соответствующей кодированной глубине, единицы предсказания и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя по меньшей мере одну из единицы предсказания и минимальной единицы, содержащих ту же самую информацию кодирования.
Соответственно, осуществляется определение, содержатся ли смежные элементы данных в одной и той же единице кодирования, соответствующей кодированной глубине, посредством сравнения информации кодирования смежных элементов данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации кодирования единицы данных, и таким образом может быть определено распространение кодированных глубин в LCU.
Соответственно, если текущая единица кодирования предсказывается на основе информации кодирования смежных единиц данных, то можно непосредственно осуществлять обращение к и использовать информацию кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования.
Альтернативно, если текущая единица кодирования предсказывается на основе информации кодирования смежных единиц данных, то с использованием кодированной информации единиц данных ищутся единицы данных, смежные с текущей единицей кодирования, и к найденным смежным единицам кодирования может осуществляться обращение для предсказания текущей единицы кодирования.
Фиг.20 является схемой для описания взаимосвязи между единицей кодирования, единицей предсказания и единицей преобразования согласно информации режима кодирования из Таблицы 1.
LCU 1300 включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. В данном случае, так как единица 1318 кодирования является единицей кодирования кодированной глубины, то информация разделения может быть установлена в 0. Информация о типе разделения единицы 1318 кодирования, имеющей размер 2N×2N, может устанавливаться в качестве одного из типа 1322 разделения, имеющего размер 2N×2N, типа 1324 разделения, имеющего размер 2N×N, типа 1326 разделения, имеющего размер N×2N, типа 1328 разделения, имеющего размер N×N, типа 1332 разделения, имеющего размер 2N×nU, типа 1334 разделения, имеющего размер 2N×nD, типа 1336 разделения, имеющего размер nL×2N, и типа 1338 разделения, имеющего размер nR×2N.
Информация (флаг размера TU) разделения единицы преобразования является типом индекса преобразования. Размер единицы преобразования, соответствующей индексу преобразования, может изменяться согласно типу единицы предсказания или типу разделения единицы кодирования.
Например, когда тип разделения устанавливается симметричным, то есть, типом 1322, 1324, 1326 или 1328 разделения, то устанавливается единица 1342 преобразования, имеющая размер 2N×2N, если флаг размера TU единицы преобразования является 0, и устанавливается единица 1344 преобразования, имеющая размер N×N, если флаг размера TU является 1.
Когда тип разделения устанавливается несимметричным, то есть, типом 1332, 1334, 1336 или 1338 разделения, то устанавливается единица 1352 преобразования, имеющая размер 2N×2N, если флаг размера TU является 0, и устанавливается единица 1354 преобразования, имеющая размер N/2×N/2, если флаг размера TU является 1.
На Фиг.20 флаг размера TU является флагом, имеющим значение либо 0, либо 1, однако, флаг размера TU не ограничивается 1 битом, и единица преобразования может иерархически разделяться, имея древовидную структуру, в то время как флаг размера TU увеличивается от 0. Информация (флаг размера TU) разделения единицы преобразования может быть примером индекса преобразования.
В данном случае, размер единицы преобразования, который фактически применен, может быть выражен посредством использования флага размера TU единицы преобразования, согласно одному варианту осуществления согласно настоящему изобретению, вместе с максимальным размером и минимальным размером единицы преобразования. Устройство 100 кодирования видео выполнено с возможностью кодирования информации о максимальном размере единицы преобразования, информации о минимальном размере единицы преобразования и флага максимального размера TU. Результат кодирования информации о максимальном размере единицы преобразования, информации о минимальном размере единицы преобразования и флага максимального размера TU может быть вставлен в SPS. Устройство 200 декодирования видео может декодировать видео посредством использования информации о максимальном размере единицы преобразования, информации о минимальном размере единицы преобразования и флага максимального размера TU.
Например, (a) если размер текущей единицы кодирования составляет 64×64 и максимальный размер единицы преобразования составляет 32×32, то (a-1) размер единицы преобразования может составлять 32×32, когда флаг размера TU является 0, (a-2) может составлять 16×16, когда флаг размера TU является 1, и (a-3) может составлять 8×8, когда флаг размера TU является 2.
В качестве другого примера, (b) если размер текущей единицы кодирования составляет 32×32 и минимальный размер единицы преобразования составляет 32×32, то (b-1) размер единицы преобразования может составлять 32×32, когда флаг размера TU является 0. В данном случае, флаг размера TU не может быть установлен в значение, отличающееся от 0, так как размер единицы преобразования не может быть меньше 32×32.
В качестве другого примера, (c) если размер текущей единицы кодирования составляет 64×64 и флаг максимального размера TU является 1, то флаг размера TU может быть 0 или 1. В данном случае, флаг размера TU не может быть установлен в значение, отличающееся от 0 или 1.
Таким образом, если задано, что флаг максимального размера TU является «MaxTransformSizelndex» («ИндексМаксимальногоРазмераПреобразования»), минимальный размер единицы преобразования является «MinTransformSize» («МинимальныйРазмерПреобразования»), и размер единицы преобразования является «RootTuSize» («РазмерКорневогоTU»), когда флаг размера TU является 0, то минимальный размер «CurrMinTuSize» («МинимальныйРазмерТекущейTU») текущей единицы преобразования, который может быть определен в текущей единице кодирования, может быть задан Уравнением (1):
По сравнению с минимальным размером «CurrMinTuSize» текущей единицы преобразования, который может быть определен в текущей единице кодирования, размер «RootTuSize» единицы преобразования, когда флаг размера TU является 0, может обозначать максимальный размер единицы преобразования, который может быть выбран в системе. В Уравнении (1), «RootTuSize/(2^MaxTransformSizelndex)» обозначает размер единицы преобразования, когда размер «RootTuSize» единицы преобразования, когда флаг размера TU является 0, разделяется некоторое количество раз, соответствующее флагу максимального размера TU, и «MinTransformSize» обозначает минимальный размер преобразования. Таким образом, более малое значение среди «RootTuSize/(2^MaxTransformSizeIndex)» и «MinTransformSize» может быть минимальным размером «CurrMinTuSize» текущей единицы преобразования, который может быть определен в текущей единице кодирования.
Согласно одному варианту осуществления в соответствии с настоящим изобретением максимальный размер RootTuSize (РазмерКорневогоTU) единицы преобразования может изменяться согласно типу режима предсказания.
Например, если текущий режим предсказания является внешним режимом, то «RootTuSize» может быть определен посредством использования Уравнения (2) ниже. В Уравнении (2), «MaxTransformSize» («МаксимальныйРазмерПреобразования») обозначает максимальный размер единицы преобразования, а «PUSize» («РазмерPU») обозначает текущий размер единицы предсказания.
То есть, если текущий режим предсказания является внешним режимом, то размер «RootTuSize» единицы преобразования, когда флаг размера TU является 0, может быть более малым значением среди максимального размера единицы преобразования и размера текущей единицы предсказания.
Если режим предсказания текущей единицы разделения является внутренним режимом, то «RootTuSize» может быть определен посредством использования Уравнения (3) ниже. В Уравнении (3), «PartitionSize» («РазмерРазделения») обозначает размер текущей единицы разделения.
То есть, если текущий режим предсказания является внутренним режимом, то размер «RootTuSize» единицы преобразования, когда флаг размера TU является 0, может быть более малым значением среди максимального размера единицы преобразования и размера текущей единицы разделения.
Однако, максимальный размер текущей единицы «RootTuSize» преобразования, который изменяется согласно типу режима предсказания в единице разделения, является лишь примером, и настоящее изобретение не ограничивается этим.
Согласно способу кодирования видео на основе единиц кодирования, имеющих древовидную структуру, как описано со ссылкой на Фиг.8-20, данные изображения пространственной области кодируются для каждой единицы кодирования древовидной структуры. Согласно способу декодирования видео на основе единиц кодирования, имеющих древовидную структуру, декодирование выполняется для каждой LCU, чтобы восстановить данные изображения пространственной области. Таким образом, могут восстанавливаться картинка и видео, которое является последовательностью картинок. Восстановленное видео может быть воспроизведено устройством воспроизведения, сохранено на носителе хранения информации или передано через сеть.
Кроме того, параметры смещения могут быть сигнализированы по отношению к каждой картинке, каждому слайсу, каждому LCU, каждой из единиц кодирования, имеющих древовидную структуру, каждой единице предсказания единиц кодирования или каждой единице преобразования единиц кодирования. Например, значения пикселей восстановленных пикселей каждой LCU могут регулироваться посредством использования значений смещения, восстановленных на основе принятых параметров смещения, и таким образом может быть восстановлена LCU, имеющая минимизированную ошибку между исходным блоком и LCU.
Варианты осуществления согласно настоящему изобретению могут быть записаны в качестве компьютерных программ и могут быть реализованы в цифровых компьютерах общего использования, которые исполняют программы с использованием считываемого компьютером носителя записей. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения информации (например, ROM, гибкие диски, жесткие диски и т.д.) и оптические носители записей (например, CD-ROM или DVD).
В то время как настоящее изобретение в частности изображалось и описывалось со ссылкой на примерные варианты его осуществления, средним специалистам в уровне техники должно быть понятно, что различные изменения в форме и деталях могут быть произведены в нем без отступления от сущности и объема согласно настоящему изобретению, заданному последующей формулой изобретения.
В то время как настоящее изобретение в частности изображалось и описывалось со ссылкой на примерные варианты его осуществления, среднему специалисту в уровне техники должно быть понятно, что различные изменения в форме и деталях могут быть произведены в нем без отступления от сущности и объема изобретения, заданного последующей формулой изобретения. Примерные варианты осуществления следует рассматривать только в описательном смысле, но не в целях накладывания ограничений. Поэтому, объем изобретения задается не подробным описанием изобретения, а последующей формулой изобретения, и следует учитывать, что все различия внутри объема содержатся в настоящем изобретении.
Для удобства описания способ кодирования видео согласно регулировке смещения отсчета, который описывается выше со ссылкой на Фиг.1A-20, будет упоминаться в качестве «способа кодирования видео согласно настоящему изобретению». Кроме того, способ декодирования видео согласно регулировке смещения отсчета, который описывается выше со ссылкой на Фиг.1A-20, будет упоминаться в качестве «способа декодирования видео согласно настоящему изобретению».
Кроме того, устройство кодирования видео, включающее в себя устройство 10 кодирования видео, устройство 100 кодирования видео или кодер 400 изображений, которое описывается выше со ссылкой на Фиг.1A-20, будет упоминаться в качестве «устройства кодирования видео согласно настоящему изобретению». Кроме того, устройство декодирования видео, включающее в себя устройство 20 декодирования видео, устройство 200 декодирования видео или декодер 500 изображений, которое описывается выше со ссылкой на Фиг.1A-20, будет упоминаться в качестве «устройства декодирования видео согласно настоящему изобретению».
Теперь будет подробно описываться считываемый компьютером носитель записи, хранящий программу, например, диск 26000, согласно одному варианту осуществления настоящего изобретения.
Фиг. 21 является схемой физической структуры диска 26000, на котором хранится программа, согласно одному варианту осуществления настоящего изобретения. Диск 26000, который является носителем хранения информации, может быть накопителем на жестких дисках, предназначенным только для считывания компакт-диском (CD-ROM), Диском Blu-ray или цифровым универсальным диском (DVD). Диск 26000 включает в себя множество концентрических дорожек Tr, каждая из которых разделена на конкретное количество секторов Se в направлении вдоль окружности диска 26000. В конкретной области диска 26000, может быть назначена и сохранена программа, которая исполняет способ определения параметров квантования, способ кодирования видео и способ декодирования видео, описанных выше.
Теперь со ссылкой на Фиг.22 будет описываться вычислительная система, воплощенная с использованием носителя хранения информации, который хранит программу для исполнения способа кодирования видео и способа декодирования видео, описанных выше.
Фиг.22 является схемой дисковода 26800 для записи и считывания программы посредством использования диска 26000. Вычислительная система 26700 может сохранять программу, которая исполняет по меньшей мере один из способа кодирования видео и способа декодирования видео согласно одному варианту осуществления настоящего изобретения, на диске 26000 через дисковод 26800. Для запуска программы, сохраненной на диске 26000 в вычислительной системе 26700, программа может быть считана с диска 26000 и передана в вычислительную систему 26700 посредством использования дисковода 26700.
Программа, которая исполняет по меньшей мере один из способа кодирования видео и способа декодирования видео согласно одному варианту осуществления настоящего изобретения, может быть сохранена не только на диске 26000, изображенном на Фиг.21 или 22, но также и на карте памяти, кассете ROM или накопителе на твердотельных дисках (SSD).
Ниже будет описана система, к которой применяются способ кодирования видео и способ декодирования видео, описанные выше.
Фиг.23 является схемой всей структуры системы 11000 снабжения контентом для предоставления услуги распространения контента. Область обслуживания системы связи разделяется на соты предварительно определенного размера, и беспроводные базовые станции 11700, 11800, 11900, и 12000 устанавливаются в этих сотах, соответственно.
Система 11000 снабжения контентом включает в себя множество независимых устройств. Например, множество независимых устройств, таких как компьютер 12100, персональный цифровой секретарь (PDA) 12200, видеокамера 12300 и мобильный телефон 12500, соединяется с Интернетом 11100 через поставщика 11200 интернет-услуг, сеть 11400 связи и беспроводные базовые станции 11700, 11800, 11900 и 12000.
Однако, система 11000 снабжения контентом не ограничивается системой, изображенной на Фиг.24, и устройства могут выборочно соединяться с ней. Множество независимых устройств может быть непосредственно соединено с сетью 11400 связи, не через беспроводные базовые станции 11700, 11800, 11900 и 12000.
Видеокамера 12300 является устройством формирования изображений, например, цифровой видеокамерой, которая выполнена с возможностью захвата видеоизображений. Мобильный телефон 12500 может использовать по меньшей мере один способ связи среди различных протоколов, например, Персональной Цифровой Связи (PDC, Personal Digital Communications), Множественного Доступа с Кодовым Разделением (CDMA, Code Division Multiple Access), Множественного Доступа с Широкополосным Кодовым Разделением (W-CDMA, Wideband-Code Division Multiple Access), Глобальной Системы для Мобильной Связи (GSM, Global System for Mobile Communications) и Системы Персональных Мобильных Телефонов (PHS, Personal Handyphone System).
Видеокамера 12300 может быть соединена с сервером 11300 потоковой передачи через беспроводную базовую станцию 11900 и сеть 11400 связи. Сервер 11300 потоковой передачи позволяет контенту, принятому от пользователя через видеокамеру 12300, передаваться потоком через широковещательную передачу в реальном времени. Контент, принятый от видеокамеры 12300, может кодироваться с использованием видеокамеры 12300 или сервера 11300 потоковой передачи. Данные видео, захваченные видеокамерой 12300, могут быть переданы в сервер 11300 потоковой передачи через компьютер 12100.
Данные видео, захваченные камерой 12600, могут также быть переданы в сервер 11300 потоковой передачи через компьютер 12100. Камера 12600 является устройством формирования изображений, выполненным с возможностью захвата как неподвижных изображений, так и видеоизображений, подобно цифровой камере. Данные видео, захваченные камерой 12600, могут кодироваться с использованием камеры 12600 или компьютера 12100. Программное обеспечение, которое выполняет кодирование и декодирование видео, может храниться на считываемом компьютером носителе записей, например, диске CD-ROM, гибком диске, жестком диске, SSD или карте памяти, который может быть доступным для компьютера 12100.
Если данные видео захватываются камерой, встроенной в мобильный телефон 12500, то эти данные видео могут приниматься от мобильного телефона 12500.
Данные видео могут также кодироваться посредством системы больших интегральных схем (LSI, large scale integrated circuit), установленной в видеокамере 12300, мобильном телефоне 12500 или камере 12600.
Система 11000 снабжения контентом может кодировать данные контента, записанного пользователем с использованием видеокамеры 12300, камеры 12600, мобильного телефона 12500 или другого устройства формирования изображений, например, контент, записанный в течение концерта, и передавать кодированные данные контента в сервер 11300 потоковой передачи. Сервер 11300 потоковой передачи может передавать кодированные данные контента в некотором типе контента потоковой передачи другим клиентам, которые запрашивают данные контента.
Клиенты являются устройствами, выполненными с возможностью декодирования кодированных данных контента, например, компьютером 12100, PDA 12200, видеокамерой 12300 или мобильным телефоном 12500. Таким образом, система 11000 снабжения контентом позволяет клиентам принимать и воспроизводить кодированные данные контента. Кроме того, система 11000 снабжения контентом позволяет клиентам принимать кодированные данные контента и декодировать и воспроизводить кодированные данные контента в режиме реального времени, тем самым предоставляя возможность персональной широковещательной передачи.
Действия кодирования и декодирования множества независимых устройств, включенных в систему 11000 снабжения контентом, могут быть подобны действиям устройства кодирования видео и устройства декодирования видео согласно одному варианту осуществления настоящего изобретения.
Теперь со ссылкой на Фиг.24 и 25 будет более подробно описываться мобильный телефон 12500, содержащийся в системе 11000 снабжения контентом согласно одному варианту осуществления настоящего изобретения.
На Фиг.24 изображена внешняя структура мобильного телефона 12500, к которому применяются способ кодирования видео и способ декодирования видео, согласно одному варианту осуществления настоящего изобретения. Мобильный телефон 12500 может быть смартфоном, на функции которого не накладываются какие-либо ограничения, и большое количество функций которого можно изменять или расширять.
Мобильный телефон 12500 включает в себя внутреннюю антенну 12510, через которую радиочастотным (RF) сигналом можно обменяться с беспроводной базовой станцией 12000 с Фиг.21, и включает в себя экран 12520 отображения для отображения изображений, захваченных камерой 12530, или изображений, которые принимаются через антенну 12510 и декодируются, например, жидкокристаллический дисплей (LCD) или органический светодиодный (OLED) экран. Мобильный телефон 12500 включает в себя функциональную панель 12540, включающую в себя кнопку управления и сенсорную панель. Если экран 12520 отображения является сенсорным экраном, то функциональная панель 12540 дополнительно включает в себя панель сенсорного распознавания экрана 12520 отображения. Мобильный телефон 12500 включает в себя громкоговоритель 12580 для вывода голоса и звука или другой тип средства вывода звука и микрофон 12550 для ввода голоса и звука или другой тип устройства ввода звука. Мобильный телефон 12500 дополнительно включает в себя камеру 12530, такую как камера с прибором с зарядовой связью (CCD), для захвата видео и неподвижных изображений. Мобильный телефон 12500 может дополнительно включать в себя носитель 12570 данных для хранения кодированных/декодированных данных, например, видео или неподвижных изображений, захваченных камерой 12530, принятых по электронной почте или полученных различными образами; и разъем 12560, через который носитель 12570 данных загружается в мобильный телефон 12500. Носитель 12570 данных может быть флэш-памятью, например, защищенной цифровой (SD) картой или электрически стираемым программируемым постоянным запоминающим устройством (EEPROM), содержащимся в пластиковом корпусе.
На Фиг.25 изображена внутренняя структура мобильного телефона 12500 согласно одному варианту осуществления настоящего изобретения. Для систематического управления частями мобильного телефона 12500, включающего в себя экран 12520 отображения и функциональную панель 12540, схема 12700 подачи питания, контроллер 12640 вводимых действий, кодер 12720 изображений, блок 12630 сопряжения с камерой, контроллер 12620 LCD, декодер 12690 изображений, мультиплексор/демультиплексор 12680, блок 12670 записи/считывания, модулятор/демодулятор 12660 и звуковой процессор 12650 соединены с центральным контроллером 12710 через шину 12730 синхронизации.
Если пользователь задействует кнопку питания и устанавливает из состояния «выключить питание» в состояния «включить питание», то схема 12700 подачи питания подает питание во все части мобильного телефона 12500 от аккумуляторной батареи, тем самым приводя мобильный телефон 12500 в режим функционирования.
Центральный контроллер 12710 включает в себя центральный блок (CPU) обработки, ROM, и RAM.
В то время как мобильный телефон 12500 передает данные связи внешней стороне, цифровой сигнал создается мобильным телефоном 12500 под управлением центрального контроллера 12710. Например, звуковой процессор 12650 может создавать цифровой звуковой сигнал, кодер 12720 изображений может создавать цифровой сигнал изображения, и текстовые данные сообщения могут быть созданы через функциональная панель 12540 и контроллер 12640 вводимых действий. Когда цифровой сигнал передается в модулятор/демодулятор 12660 под управлением центрального контроллера 12710, то модулятор/демодулятор 12660 модулирует полосу частот цифрового сигнала, и схема 12610 связи выполняет цифро-аналоговое преобразование (DAC) и преобразование частоты над модулируемым полосой частот цифровым звуковым сигналом. Сигнал передачи, выводимый из схемы 12610 связи, может быть передан в базовую станцию голосовой связи или беспроводную базовую станцию 12000 через антенну 12510.
Например, когда мобильный телефон 12500 находится в режиме разговора, то звуковой сигнал, получаемый через микрофон 12550, преобразовывается в цифровой звуковой сигнал звуковым процессором 12650, под управлением центрального контроллера 12710. Цифровой звуковой сигнал может быть преобразован в сигнал преобразования через модулятор/демодулятор 12660 и схему 12610 связи и может быть передан через антенну 12510.
Когда текстовое сообщение, например, электронная почта, передается в режиме передачи данных, текстовые данные текстового сообщения вводятся через функциональную панель 12540 и передаются центральному контроллеру 12710 через контроллер 12640 вводимых действий. Под управлением центрального контроллера 12710 текстовые данные преобразовываются в сигнал передачи через модулятор/демодулятор 12660 и схему 12610 связи и передаются в беспроводную базовую станцию 12000 через антенну 12510.
Для передачи данных изображения в режиме передачи данных, данные изображения, захваченные камерой 12530, предоставляются в кодер 12720 изображений через блок 12630 сопряжения с камерой. Захваченные данные изображения могут напрямую отображаться на экране 12520 отображения через блок 12630 сопряжения с камерой и контроллер 12620 LCD.
Структура кодера 12720 изображений может соответствовать структуре вышеописанного способа кодирования видео согласно настоящему изобретению. Кодер 12720 изображений может преобразовывать данные изображения, принятые от камеры 12530, в сжатые и кодированные данные изображения, на основе вышеописанного способа кодирования видео согласно настоящему изобретению и затем выводить кодированные данные изображения в мультиплексор/демультиплексор 12680. В течение действия записи камеры 12530 звуковой сигнал, получаемый микрофоном 12550 мобильного телефона 12500, могут преобразовываться в цифровые звуковые данные через звуковой процессор 12650, и цифровые звуковые данные могут быть переданы в мультиплексор/демультиплексор 12680.
Мультиплексор/демультиплексор 12680 мультиплексирует кодированные данные изображения, принятые от кодера 12720 изображений, вместе со звуковыми данными, принятыми от звукового процессора 12650. Результат мультиплексирования данных может быть преобразован в сигнал передачи через модулятор/демодулятор 12660 и схему 12610 связи, и затем может быть передан через антенну 12510.
В то время как мобильный телефон 12500 принимает данные связи от внешней стороны, частотное восстановление и ADC выполняются над сигналом, принятым через антенну 12510, чтобы преобразовать сигнал в цифровой сигнал. Модулятор/демодулятор 12660 модулирует полосу частот цифрового сигнала. Модулируемый полосой частот цифровой сигнал передается в компонент 12690 декодирования видео, звуковой процессор 12650 или контроллер 12620 LCD согласно типу цифрового сигнала.
В режиме разговора мобильный телефон 12500 усиливает сигнал, принимаемый через антенну 12510, и получает цифровой звуковой сигнал посредством выполнения преобразование частоты и ADC над усиленным сигналом. Принятый цифровой звуковой сигнал преобразовывается в аналоговый звуковой сигнал через модулятор/демодулятор 12660 и звуковой процессор 12650, и аналоговый звуковой сигнал выводится через громкоговоритель 12580, под управлением центрального контроллера 12710.
При нахождении в режиме передачи данных принимаются данные файла видео, к которому осуществляется доступ на веб-сайте в Интернете, сигнал, принятый от беспроводной базовой станции 12000 через антенну 12510, выводится в качестве мультиплексированных данных через модулятор/демодулятор 12660, и мультиплексированные данные передаются в мультиплексор/демультиплексор 12680.
Для декодирования мультиплексированных данных, принятых через антенну 12510, мультиплексор/демультиплексор 12680 демультиплексирует мультиплексированные данные в поток кодированных данных видео и поток кодированных аудио данных. Через шину 12730 синхронизации поток кодированных данных видео и поток кодированных аудиоданных предоставляется в компонент 12690 декодирования видео и звуковой процессор 12650, соответственно.
Структура декодера 12690 изображений может соответствовать структуре вышеописанного способа декодирования видео согласно настоящему изобретению. Декодер 12690 изображений может декодировать кодированные данные видео для получения восстановленных данных видео и предоставления восстановленных данных видео на экран 12520 отображения через контроллер 12620 LCD посредством использования вышеописанного способа декодирования видео согласно настоящему изобретению.
Таким образом, данные файла видео, к которому осуществляется доступ на веб-сайте в Интернете, могут быть отображены на экране 12520 отображения. В то же время, звуковой процессор 12650 может преобразовывать звуковые данные в аналоговый звуковой сигнал и предоставлять аналоговый звуковой сигнал в громкоговоритель 12580. Таким образом, звуковые данные, содержащиеся в файле видео, к которому осуществляется доступ на веб-сайте в Интернете, могут также воспроизводиться через громкоговоритель 12580.
Мобильный телефон 12500 или другой тип осуществляющего связь оконечного устройства могут быть приемопередающим оконечным устройством, включающим в себя как устройство кодирования видео, так и устройство декодирования видео, согласно одному варианту осуществления настоящего изобретения, могут быть приемопередающим оконечным устройством, включающим в себя только устройство кодирования видео, или могут быть приемопередающим оконечным устройством, включающим в себя только устройство декодирования видео.
Система связи согласно настоящему изобретению не ограничивается системой связи, описанной выше со ссылкой на Фиг.24. Например, на Фиг.26 изображена система цифрового широковещания, использующая систему связи, согласно одному варианту осуществления настоящего изобретения. Система цифрового широковещания с Фиг.26 может принимать цифровую широковещательную передачу, передаваемую через спутник или наземную сеть, посредством использования устройства кодирования видео и устройства декодирования видео согласно одному варианту осуществления настоящего изобретения.
В частности, станция 12890 широковещательной передачи передает поток данных видео в спутник связи или спутник 12900 широковещательной передачи посредством использования радиоволн. Спутник 12900 широковещательной передачи передает широковещательный сигнал, и широковещательный сигнал передается в приемник широковещательной передачи спутника через домашнюю антенну 12860. В каждом доме поток кодированного видео может декодироваться и воспроизводиться телевизионным приемником 12810, телевизионной абонентской приставкой 12870 или другим устройством.
Когда устройство декодирования видео согласно одному варианту осуществления настоящего изобретения реализовано в устройстве 12830 воспроизведения, устройство 12830 воспроизведения может осуществлять синтаксический анализ и декодировать поток кодированного видео, записанный на носителе 12820 хранения информации, таком как диск или карта памяти, для восстановления цифровых сигналов. Таким образом, восстановленный видеосигнал может быть воспроизведен, например, на мониторе 12840.
В телевизионной абонентской приставке 12870, соединенной с антенной 12860 для спутниковой/наземной широковещательной передачи или кабельной антенны 12850 для приема широковещательной передачи кабельного телевидения (TV), может быть установлено устройство декодирования видео согласно одному варианту осуществления настоящего изобретения. Данные, выводимые от телевизионной абонентской приставки 12870, могут также быть воспроизведены на телевизионном мониторе 12880.
В качестве другого примера устройство декодирования видео согласно одному варианту осуществления настоящего изобретения может быть установлено в телевизионном приемнике 12810 вместо телевизионной абонентской приставки 12870.
Автомобиль 12920, который имеет соответствующую антенну 12910, может принимать сигнал, переданный от спутника 12900 или беспроводной базовой станции 11700 с Фиг.21. Декодированное видео может быть воспроизведено на экране отображения автомобильной навигационной системы 12930, установленной в автомобиле 12920.
Видеосигнал может кодироваться устройством кодирования видео согласно одному варианту осуществления настоящего изобретения и затем может сохраняться на носителе хранения информации. В частности, сигнал изображения может быть сохранен на диске DVD 12960 устройством записи на DVD или может быть сохранен на жестком диске устройством 12950 записи на жесткий диск. В качестве другого примера видеосигнал может быть сохранен в SD-карте 12970. Если устройство 12950 записи на жесткий диск включает в себя устройство декодирования видео согласно одному варианту осуществления настоящего изобретения, то видеосигнал, записанный на диске DVD 12960, SD-карте 12970 или другом носителе хранения информации, может быть воспроизведен на телевизионном мониторе 12880.
Автомобильная навигационная система 12930 может не включать в себя камеру 12530 с Фиг.24 и блок 12630 сопряжения с камерой и кодер 12720 изображений с Фиг.25. Например, компьютер 12100 и телевизионный приемник 12810 может не включать в себя камеру 12530, блок 12630 сопряжения с камерой и кодер 12720 изображений.
Фиг.27 является схемой, изображающей структуру сети системы облачных вычислений с использованием устройства кодирования видео и устройства декодирования видео, согласно одному варианту осуществления настоящего изобретения.
Система облачных вычислений может включать в себя сервер 14000 облачных вычислений, пользовательскую базу (DB) 14100 данных, множество вычислительных ресурсов 14200 и пользовательское оконечное устройство.
Система облачных вычислений предоставляет услугу привлечения внешних ресурсов (аутсорсинг) по требованию множества вычислительных ресурсов 14200 через сеть передачи данных, например, Интернет, в ответ на запрос от пользовательского оконечного устройства. С помощью окружения для облачных вычислений поставщик услуг предоставляет пользователям желаемые услуги посредством объединения вычислительных ресурсов в центрах обработки данных, расположенных в физически различных местоположениях, посредством использования технологии виртуализации. Пользователь услуги не должен устанавливать вычислительные ресурсы, например, приложение, хранилище, операционную систему (ОС) и защиту в свое собственное оконечное устройство для того, чтобы использовать его, но может выбирать и использовать желаемые услуги среди услуг в виртуальном пространстве, созданном посредством технологии виртуализации, в желаемый момент времени.
Пользовательское оконечное устройство заданного пользователя услуг соединено с сервером 14000 облачных вычислений через сеть передачи данных, включающей в себя Интернет и сеть мобильной связи. Пользовательские оконечные устройства могут быть предоставленными услугами облачных вычислений и в частности услугами воспроизведения видео от сервера 14000 облачных вычислений. Пользовательские оконечные устройства могут быть различными типами электронных устройств, выполненных с возможностью соединения с Интернетом, например, настольный PC 14300, умный телевизор 14400, смартфон 14500, портативный компьютер 14600, переносной мультимедийный проигрыватель (PMP) 14700, планшетный PC 14800 и т.п.
Сервер 14000 облачных вычислений может объединять множество вычислительных ресурсов 14200, распределенных в облачной сети, и предоставлять пользовательским оконечным устройствам результат объединения. Множество вычислительных ресурсов 14200 может включать в себя различные услуги передачи данных и может включать в себя данные, загруженные от пользовательских оконечных устройств. Как описано выше, сервер 14000 облачных вычислений может предоставлять пользовательским оконечным устройствам желаемые услуги посредством объединения базы данных видео, распределенной по различным областям, согласно технологии виртуализации.
Пользовательская информация о пользователях, которые подписались на услугу облачных вычислений, хранится в пользовательской DB 14100. Пользовательская информация может включать в себя информацию регистрации, адреса, имена и персональную информацию о кредитоспособности пользователей. Пользовательская информация может дополнительно включать в себя индексы видео. В данном случае, индексы могут включать в себя список видео, которые уже были воспроизведены, список видео, которые воспроизводятся, точка приостановки видео, которое воспроизводилось, и т.п.
Информация о видео, хранящемся в пользовательской DB 14100, может совместно использоваться между пользовательскими устройствами. Например, когда видео услуга предоставляется портативному компьютеру 14600 в ответ на запрос от портативного компьютера 14600, то история воспроизведения видео услуги сохраняется в пользовательской DB 14100. Когда запрос на воспроизведения данное видео услуги принимается от смартфона 14500, сервер 14000 облачных вычислений осуществляет поиск и воспроизводит данную видео услугу на основе пользовательской DB 14100. Когда смартфон 14500 принимает поток данных видео от сервера 14000 облачных вычислений, то процесс воспроизведения видео посредством декодирования поток данных видео подобен действию мобильного телефона 12500, описанного выше со ссылкой на Фиг.24.
Сервер 14000 облачных вычислений может осуществлять ссылку к истории воспроизведения желаемой видео услуги, хранящейся в пользовательской DB 14100. Например, сервер 14000 облачных вычислений принимает запрос на воспроизведение видео, хранящегося в пользовательской DB 14100, от пользовательского оконечного устройства. Если происходило воспроизведение данного видео, то способ потоковой передачи данного видео, выполняемый сервером 14000 облачных вычислений, может изменяться согласно запросу от пользовательского оконечного устройства, то есть, согласно тому, будет ли видео воспроизводиться, начинаясь со своего начала или с точки его приостановки. Например, если пользовательское оконечное устройство запрашивает воспроизведение видео, начинающееся со своего начала, то сервер 14000 облачных вычислений передает данные потоковой передачи данного видео, начинающегося со своего первого кадра, в пользовательское оконечное устройство. Если пользовательское оконечное устройство запрашивает воспроизведение видео, начинающееся с точки его приостановки, то сервер 14000 облачных вычислений передает данные потоковой передачи данного видео, начинающегося с кадра, соответствующего точке приостановке, в пользовательское оконечное устройство.
В данном случае, пользовательское оконечное устройство может включать в себя устройство декодирования видео, описанное выше со ссылкой на Фиг.1A-20. В качестве другого примера, пользовательское оконечное устройство может включать в себя устройство кодирования видео, описанное выше со ссылкой на Фиг.1A-20. Альтернативно, пользовательское оконечное устройство может включать в себя как устройство декодирования видео, так и устройство кодирования видео, описанные выше со ссылкой на Фиг.1A-20.
Различные применения способа кодирования видео, способа декодирования видео, устройства кодирования видео и устройства декодирования видео согласно вариантам осуществления настоящего изобретения, описанным выше со ссылкой на Фиг.1A-20, были описаны выше со ссылкой на Фиг.21-27. Однако, способы хранения способа кодирования видео и способа декодирования видео на носителе хранения информации или способы реализации устройства кодирования видео и устройства декодирования видео в некотором устройстве, согласно различным вариантам осуществления настоящего изобретения, не ограничиваются вариантами осуществления, описанными выше со ссылкой на Фиг.21-27.
В то время как настоящее изобретение в частности изображалось и описывалось со ссылкой на примерные варианты его осуществления, среднему специалисту в уровне техники должно быть понятно, что различные изменения в форме и деталях могут быть произведены в нем без отступления от сущности и объема изобретения, заданного последующей формулой изобретения. Примерные варианты осуществления следует рассматривать только в описательном смысле, но не в целях накладывания ограничений. Поэтому, объем изобретения задается не подробным описанием изобретения, а последующей формулой изобретения, и следует учитывать, что все различия внутри объема содержатся в настоящем изобретении.