СПОСОБ И УСТРОЙСТВО ДЛЯ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ ВИДЕО
METHOD AND DEVICE FOR INTRA PREDICTION OF VIDEO

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу внутреннего предсказания видео, и, более конкретно, к способу и устройству внутреннего предсказания видео, которое предполагает замену смежного пиксела, недоступного в ограниченном режиме внутреннего предсказания, в котором ограничивается использование смежного пиксела, и использование замененного смежного пиксела в качестве опорного пиксела.
УРОВЕНЬ ТЕХНИКИ
В способе сжатия изображения, таком, как стандарт Экспертной Группы по Вопросам Движущегося Изображения (MPEG)-1, MPEG-2, MPEG-4, или H.264/MPEG-4 Усовершенствованного Кодирования Видеосигналов (AVC), видеокадр делится на макроблоки для выполнения кодирования изображения. Каждый из макроблоков кодируется с использованием всех режимов кодирования, которые могут быть использованы во внешнем (интер-) предсказании или внутреннем (интра-) предсказании, а затем кодируется с использованием режима кодирования, который выбирается в соответствии со скоростью передачи данных, используемой для кодирования макроблока, и степенью искажения между декодированным макроблоком и исходным макроблоком.
По мере разработки и внедрения аппаратных средств для воспроизведения и сохранения видеоконтента высокого разрешения или высокого качества, возникает возрастающая потребность в кодеке видео, способном к эффективному выполнению кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В обычном кодеке видео, видео кодируется в единицах макроблоков, каждая из которых имеет предварительно определенные размеры.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Настоящее изобретение обеспечивает способ замены смежного пиксела, недоступного в ограниченном режиме внутреннего предсказания, в котором ограничивается использование смежного пиксела, используемого во внутреннем предсказании.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
Способ внутреннего предсказания видео определяет доступность предварительно определенного количества смежных пикселов, используемых для внутреннего предсказания, если существует недоступный первый смежный пиксел, выполняет поиск второго смежного пиксела, который доступен посредством выполнения поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе первого смежного пиксела, и заменяет пиксельное значение первого смежного пиксела на пиксельное значение найденного второго смежного пиксела. Для недоступного третьего смежного пиксела, процесс замены выполняется посредством использования смежного пиксела в предварительно определенном направлении.
БЛАГОПРИЯТНЫЕ ЭФФЕКТЫ
Согласно одному или более вариантам осуществления настоящего изобретения, сложность процесса определения опорного пиксела, используемого для внутреннего предсказания, может быть уменьшена посредством выполнения поиска и замены доступного смежного пиксела, на основе предварительно определенного направления поиска, недоступным смежным пикселом.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 изображает блок-схему устройства видеокодирования согласно варианту осуществления настоящего изобретения;
Фиг. 2 изображает блок-схему устройства видеодекодирования согласно варианту осуществления настоящего изобретения;
Фиг. 3 представляет собой схему для описания понятия единиц кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 4 изображает блок-схему кодера изображения, основанного на единицах кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 5 изображает блок-схему декодера изображения, основанного на единицах кодирования согласно варианту осуществления настоящего изобретения;
Фиг. 6 представляет собой схему, иллюстрирующую более глубокие единицы кодирования в соответствии с глубинами и разделы согласно варианту осуществления настоящего изобретения;
Фиг. 7 представляет собой схему для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения;
Фиг. 8 представляет собой схему для описания информации кодирования единиц кодирования, соответствующих кодируемой глубине согласно варианту осуществления настоящего изобретения;
Фиг. 9 представляет собой схему более глубоких единиц кодирования, соответствующих глубинам, согласно варианту осуществления настоящего изобретения;
Фиг. 10-12 представляют собой схемы для описания взаимосвязи между единицами кодирования, единицами предсказания и единицами преобразования согласно варианту осуществления настоящего изобретения;
Фиг. 13 представляет собой схему для описания взаимосвязи между единицей кодирования, единицей предсказания или разделом, и единицей преобразования, в соответствии с информацией режима кодирования из Таблицы 1;
Фиг. 14 изображает таблицу, иллюстрирующую некоторое количество режимов внутреннего предсказания в соответствии с размером единицы предсказания, согласно варианту осуществления настоящего изобретения;
Фиг. 15 иллюстрирует справочное схематическое изображение для описания режимов внутреннего предсказания, имеющих различные направленности, согласно варианту осуществления настоящего изобретения;
Фиг. 16 представляет собой схему для описания взаимосвязи между текущим пикселом и смежными пикселами, расположенными на выносной линии, имеющей направленность (dx, dy), согласно варианту осуществления настоящего изобретения;
Фиг. 17 и 18 представляют собой схемы, изображающие направления режима внутреннего предсказания, согласно вариантам осуществления настоящего изобретения;
Фиг. 19 представляет собой схему, представляющую направления режима внутреннего предсказания, имеющего 33 направленности, согласно варианту осуществления настоящего изобретения;
Фиг. 20 представляет собой схему смежного пиксела, который недоступен в процессе внутреннего предсказания текущего блока в соответствии с типом смежного блока, согласно варианту осуществления настоящего изобретения;
Фиг. 21 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно варианту осуществления настоящего изобретения;
Фиг. 22 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно другому варианту осуществления настоящего изобретения;
Фиг. 23 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно другому варианту осуществления настоящего изобретения;
Фиг. 24 изображает блок-схему устройства внутреннего предсказания согласно варианту осуществления настоящего изобретения;
Фиг. 25A представляет собой схему подвергнутого фильтрации смежного пиксела текущего блока;
Фиг. 25B иллюстрирует справочное схематическое изображение для описания процесса фильтрации смежного пиксела текущего блока;
Фиг. 26 изображает схему последовательности операций, иллюстрирующую способ внутреннего предсказания видео согласно варианту осуществления настоящего изобретения;
Фиг. 27A иллюстрирует физическую структуру диска, на котором сохранена программа согласно варианту осуществления настоящего изобретения;
Фиг. 27B иллюстрирует дисковод, который выполняет запись и считывание программы посредством использования диска;
Фиг. 28 иллюстрирует всю структуру системы доставки контента, которая обеспечивает службу распространения контента;
Фиг. 29 и 30 иллюстрируют внешнюю и внутреннюю конструкции мобильного телефона, к которым применяются способ кодирования видео и способ декодирования видео согласно варианту осуществления настоящего изобретения;
Фиг. 31 иллюстрирует систему цифрового вещания, в которой используется система связи согласно варианту осуществления настоящего изобретения; и
Фиг. 32 иллюстрирует сетевую структуру системы облачных вычислений, использующей устройство кодирования видео и устройство декодирования видео согласно варианту осуществления настоящего изобретения.
ЛУЧШИЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом настоящего изобретения, обеспечен способ внутреннего предсказания видео, способ содержит этапы, на которых: определяют доступность предварительно определенного количества смежных пикселов, используемых для внутреннего предсказания текущего блока из числа блоков, полученных посредством разбиения видеокадра, формирующего видео, согласно иерархической структуре; если первый смежный пиксел недоступен в предварительно определенном количестве смежных пикселов, то выполняют поиск второго смежного пиксела, который доступен посредством выполнения поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе первого смежного пиксела; заменяют пиксельное значение первого смежного пиксела пиксельным значением найденного второго смежного пиксела; и выполняют внутреннее предсказание в отношении текущего блока посредством использования предварительно определенного количества смежных пикселов, содержащих замененный первый смежный пиксел.
Определение доступности содержит этапы, на которых определяют смежные пикселы, которые включены в состав смежного блока, который является внешнее предсказанным, или который принадлежит слайсу (вырезке), отличному от слайса, которому принадлежит текущий блок, в качестве недоступных.
Первый смежный пиксел может являться пикселом, находящемся в предварительно определенном положении, из числа предварительно определенного количества смежных пикселов, и поиск второго смежного пиксела может содержать этап, на котором определяют доступный смежный пиксел, который был изначально найден посредством выполнения поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе первого смежного пиксела, в качестве второго смежного пиксела.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего левого угла текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых выполняют поиск второго смежного пиксела посредством поиска в смежных пикселах сверху и сверху справа от текущего блока слева направо на основе первого смежного пиксела, и если второй смежный пиксел недоступен в смежных пикселах сверху и сверху справа от текущего блока, то выполняют поиск в смежных пикселах слева и снизу слева от текущего блока сверху вниз на основе первого смежного пиксела.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего левого угла текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых выполняют поиск второго смежного пиксела посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока сверху вниз на основе первого смежного пиксела, и если второй смежный пиксел недоступен в смежных пикселах слева и снизу слева от текущего блока, то выполняют поиск в смежных пикселах сверху и сверху справа от текущего блока слева направо на основе первого смежного пиксела.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего левого угла текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых определяют доступный смежный пиксел слева посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока сверху вниз на основе первого смежного пиксела, и определяют доступный смежный пиксел сверху посредством выполнения поиска в смежных пикселах сверху и сверху справа от текущего блока слева направо на основе первого смежного пиксела; и заменяют пиксельное значение первого смежного пиксела посредством использования среднего значения доступного смежного пиксела слева и доступного смежного пиксела сверху.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего левого угла текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых определяют доступный смежный пиксел слева посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока сверху вниз на основе первого смежного пиксела, определяют доступный смежный пиксел сверху посредством выполнения поиска в смежных пикселах сверху и сверху справа от текущего блока слева направо на основе первого смежного пиксела, и определяют смежный пиксел, который ближе всего находится к первому смежному пикселу из числа найденных смежных пикселов слева и сверху, в качестве второго смежного пиксела.
Первый смежный пиксел может являться смежным пикселом слева в самом низу из числа смежных пикселов слева и снизу слева от текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых выполняют поиск второго смежного пиксела посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока снизу вверх на основе первого смежного пиксела, и если второй смежный пиксел недоступен в смежных пикселах слева и снизу слева от текущего блока, то выполняют поиск в смежных пикселах сверху и сверху справа от текущего блока слева направо.
Первый смежный пиксел может являться смежным пикселом крайним справа сверху из числа смежных пикселов сверху и сверху справа от текущего блока, и поиск второго смежного пиксела может содержать этапы, на которых выполняют поиск второго смежного пиксела посредством выполнения поиска в смежных пикселах сверху и сверху справа от текущего блока справа налево на основе первого смежного пиксела, и если второй смежный пиксел недоступен в смежных пикселах сверху и сверху справа от текущего блока, то выполняют поиск в смежных пикселах слева и снизу слева от текущего блока сверху вниз.
Способ может дополнительно содержать, в случае недоступности по меньшей мере одного третьего смежного пиксела, этап, на котором заменяют пиксельное значение упомянутого по меньшей мере одного третьего смежного пиксела пиксельным значением смежного пиксела, найденного ранее на основе предварительно определенного направления.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего левого угла текущего блока, и если упомянутый по меньшей мере один третий смежный пиксел расположен сверху от текущего блока, то способ может дополнительно содержать этапы, на которых последовательную заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела крайнего слева смежным пикселом слева от упомянутого по меньшей мере одного третьего смежного пиксела, а если упомянутый по меньшей мере один третий смежный пиксел расположен слева от текущего блока, то последовательно заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела крайнего сверху смежным пикселом выше упомянутого по меньшей мере одного третьего смежного пиксела.
Первый смежный пиксел может являться смежным пикселом, расположенным у самого нижнего левого угла текущего блока, и если упомянутый по меньшей мере один третий смежный пиксел расположен слева от текущего блока, то способ может дополнительно содержать этапы, на которых последовательно заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела крайнего снизу смежным пикселом ниже упомянутого по меньшей мере одного третьего смежного пиксела, и если упомянутый по меньшей мере один третий смежный пиксел расположен сверху текущего блока, то последовательно заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела крайнего слева смежным пикселом слева от упомянутого по меньшей мере одного третьего смежного пиксела.
Первый смежный пиксел может являться смежным пикселом, расположенным у верхнего самого правого угла текущего блока, и если упомянутый по меньшей мере один третий смежный пиксел расположен сверху от текущего блока, то способ может дополнительно содержать этапы, на которых последовательно заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела справа смежным пикселом справа от упомянутого по меньшей мере одного третьего смежного пиксела, и если по меньшей мере один третий смежный пиксел расположен слева от текущего блока, то последовательно заменяют упомянутый по меньшей мере один третий смежный пиксел начиная с третьего смежного пиксела крайнего сверху смежным пикселом выше упомянутого по меньшей мере одного третьего смежного пиксела.
Способ может дополнительно содержать замену пиксельного значения первого смежного пиксела предварительно определенным значением, если второй смежный пиксел не существует в предварительно определенном количестве смежных пикселов.
Предварительно определенное значение может быть определено на основе битовой глубины пиксела.
В соответствии с другим аспектом настоящего изобретения, обеспечено устройство для внутреннего предсказания видео, устройство содержит: определитель доступности для определения доступности предварительно определенного количества смежных пикселов, используемых для внутреннего предсказания текущего блока из числа блоков, полученных посредством разбиения видеокадра, формирующего видео согласно иерархической структуре; средство замены для выполнения, если первый смежный пиксел недоступен в предварительно определенном количестве смежных пикселов, поиска второго смежного пиксела, который доступен посредством поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе первого смежного пиксела, и замены пиксельного значения первого смежного пиксела пиксельным значением найденного второго смежного пиксела; и средство выполнения внутреннего предсказания для выполнения внутреннего предсказания в отношении текущего блока посредством использования предварительно определенного количества смежных пикселов, содержащих замененный первый смежный пиксел.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Далее в настоящем документе, настоящее изобретение будет более полно описано со ссылкой на сопроводительные чертежи, на которых изображены иллюстративные варианты осуществления изобретения.
Фиг. 1 изображает блок-схему устройства 100 видео кодирования согласно варианту осуществления настоящего изобретения.
Устройство 100 видео кодирования включает в себя средство 110 разбиения на максимальные единицы кодирования, определитель 120 единиц кодирования и блок 130 вывода.
Средство 110 разбиения на максимальные единицы кодирования может разбивать текущий видео кадр на основе максимальной единицы кодирования для текущего видеокадра изображения. Если текущий видеокадр больше, чем максимальная единица кодирования, то может быть выполнено разбиение данных изображения текущего видеокадра на по меньшей мере одну максимальную единицу кодирования. Максимальная единица кодирования, согласно варианту осуществления настоящего изобретения, может являться единицей данных, имеющей размер 32x32, 64x64, 128x128, 256x256, и т.д., причем форма единицы данных является квадратом, имеющим ширину и длину в квадратах 2. Данные изображения могут быть выведены на определитель 120 единиц кодирования в соответствии с по меньшей мере одной максимальной единицей кодирования.
Единица кодирования согласно варианту осуществления настоящего изобретения может характеризоваться максимальным размером и глубиной. Глубина означает число раз, которое единица кодирования пространственно разбивается из максимальной единицы кодирования, и по мере увеличения глубины, более глубокие единицы кодирования в соответствии с глубинами могут быть разбиты от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, уменьшается по мере увеличения глубины максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих более низким глубинам.
Как было описано выше, выполняется разбиение данных изображения текущего видео кадра на максимальные единицы кодирования в соответствии с максимальным размером единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые получены разбиением в соответствии с глубинами. Поскольку максимальная единица кодирования согласно варианту осуществления настоящего изобретения разбивается в соответствии с глубинами, данные изображения пространственной области, включенной в состав максимальной единицы кодирования, могут подвергаться иерархической классификации в соответствии с глубинами.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, которое высота и ширина максимальной единицы кодирования иерархически разбивается, могут быть предопределены.
Определитель 120 единиц кодирования выполняет кодирование упомянутой по меньшей мере одной области разбиения, полученной посредством разбиения области максимальной единицы кодирования в соответствии с глубинами, и определяет глубину для вывода окончательно закодированных данных изображения в соответствии с по меньшей мере одной областью разбиения. Другими словами, определитель 120 единиц кодирования определяет кодируемую глубину посредством кодирования данных изображения на более глубокие единицы кодирования, в соответствии с глубинами, в соответствии с максимальной единицей кодирования текущего видеокадра, и выбирает глубину, имеющую наименьшую ошибку кодирования. Определенная кодируемая глубина и закодированные данные изображения в соответствии с определенной кодируемой глубиной выводятся на блок 130 вывода.
Данные изображения в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере одна кодируемая глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разбивается по мере выполнения иерархического разбиения единицы кодирования в соответствии с глубинами и по мере увеличения количества единиц кодирования. Кроме того, даже если единицы кодирования соответствуют одной и той же глубине в одной максимальной единице кодирования, определяется, разбить ли каждую из единиц кодирования, соответствующих одной и той же глубине, до более низкой глубины посредством измерения ошибки кодирования данных изображения каждой единицы кодирования, по отдельности. Соответственно, даже если данные изображения включены в состав одной максимальной единицы кодирования, ошибки кодирования могут различаться в соответствии с областями в одной максимальной единице кодирования, и, следовательно, кодируемые глубины могут различаться в соответствии с областями в данных изображения. Следовательно, одна или более кодируемых глубин могут быть определены в одной максимальной единице кодирования, и данные изображения максимальной единицы кодирования могут быть разделены в соответствии с единицами кодирования по меньшей мере одной кодируемой глубины.
Соответственно, определитель 120 единиц кодирования может определять единицы кодирования, имеющие древовидную структуру, включенную в состав максимальной единицы кодирования. «Единицы кодирования, имеющие древовидную структуру» согласно варианту осуществления настоящего изобретения, включают в себя единицы кодирования, соответствующие глубине, определенной как кодируемая глубина, из числа всех более глубоких единиц кодирования, включенных в состав максимальной единицы кодирования. Единица кодирования кодируемой глубины может определяться иерархически в соответствии с глубинами в той же самой области максимальной единицы кодирования, и может определяться независимо в различных областях. Подобным образом, кодируемая глубина в текущей области может быть определена независимо от кодируемой глубины в другой области.
Максимальная глубина согласно варианту осуществления настоящего изобретения является индексом, связанным с числом разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина согласно варианту осуществления настоящего изобретения может означать общее число разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина согласно варианту осуществления настоящего изобретения может означать общее количество уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, если глубина максимальной единицы кодирования равна 0, то глубина единицы кодирования, в которой максимальная единица кодирования разбивается один раз, может быть установлена на 1, а глубина единицы кодирования, в которой максимальная единица кодирования разбивается дважды, может быть установлена на 2. В данном случае, если минимальная единица кодирования является единицей кодирования, в которой максимальная единица кодирования разбивается четыре раза, то существует 5 уровней глубины для глубин 0, 1, 2, 3 и 4, и, следовательно, первая максимальная глубина может быть установлена на 4, а вторая максимальная глубина может быть установлена на 5.
Кодирование с предсказанием и преобразование могут выполняться в соответствии с максимальной единицей кодирования. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких единиц кодирования в соответствии с глубиной равной или глубинами меньшими, чем максимальная глубина, в соответствии с максимальной единицей кодирования.
Поскольку количество более глубоких единиц кодирования увеличивается всякий раз, когда максимальная единица кодирования разбивается в соответствии с глубинами, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется в отношении всех более глубоких единиц кодирования, генерируемых по мере увеличения глубины. Для удобства описания, кодирование с предсказанием и преобразование теперь будут описаны на основе единицы кодирования текущей глубины в максимальной единице кодирования.
Устройство 100 видеокодирования может по-разному выбирать размер или форму единицы данных для кодирования данных изображения. Для выполнения кодирования данных изображения, выполняются операции, такие, как кодирование с предсказанием, преобразование и энтропийное кодирование, и, в тоже самое время, та же самая единица данных может быть использована для всех операций, или для каждой операции могут быть использованы различные единицы данных.
Например, устройство 100 видеокодирования может выбирать не только единицу кодирования для выполнения кодирования данных изображения, но также и единицу данных, отличную от единицы кодирования для того, чтобы выполнять кодирование с предсказанием в отношении данных изображения в единице кодирования.
Для выполнения кодирования с предсказанием в максимальной единице кодирования, кодирование с предсказанием может выполняться на основе единицы кодирования, соответствующей кодируемой глубине, то есть, на основе единицы кодирования, которая больше не разбивается до единиц кодирования, соответствующих более низкой глубине. Далее в настоящем документе, единица кодирования, которая больше не разбивается и становится базисной единицей для кодирования с предсказанием, теперь будет называться «единицей предсказания». Раздел, полученный посредством разбиения единицы предсказания, может включать в себя единицу предсказания или единицу данных, полученную посредством разбиения по меньшей мере одного из высоты и ширины единицы предсказания.
Например, если единица кодирования 2Nx2N (где N является положительным целым числом) больше не разбивается и становится единицей предсказания 2Nx2N, то размер раздела может составлять 2Nx2N, 2NxN, Nx2N или NxN. Примеры типа раздела включают в себя симметричные разделы, которые получаются посредством симметричного разбиения высоты или ширины единицы предсказания, разделы, получаемые посредством асимметричного разбиения высоты или ширины единицы предсказания, такие, как 1:n или n:1, разделы, которые получаются посредством геометрического разбиения единицы предсказания, и разделы, имеющие произвольные формы.
Режим предсказания единицы предсказания может являться по меньшей мере одним из внутреннего (интра-) режима, внешнего (интер-) режима и режима пропуска. Например, внутренний режим или внешний режим могут выполняться в отношении разделов 2Nx2N, 2NxN, Nx2N или NxN. Кроме того, режим пропуска может выполняться исключительно в отношении раздела 2Nx2N. Кодирование выполняется независимо в отношении одной единицы предсказания в единице кодирования, благодаря чему выбирается режим предсказания, имеющий наименьшую ошибку кодирования.
Устройство 100 видеокодирования также может выполнять преобразование в отношении данных изображения в единице кодировании, не только на основе единицы кодирования для кодирования данных изображения, но также и на основе единицы данных, которая отличается от единицы кодирования.
Для выполнения преобразования в единице кодирования, преобразование может выполняться на основе единицы данных, имеющей размер, меньший или равный единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для внутреннего режима и единицу данных для внешнего режима.
Единица данных, используемая в качестве основы для преобразования, теперь будет называться «единицей преобразования». Подобно единице кодирования, единица преобразования в единице кодирования может быть рекурсивно разбита на области меньших размеров таким образом, чтобы единица преобразования могла определяться независимо в единицах областей. Таким образом, остаточные данные в единице кодирования могут быть разделены в соответствии с единицей преобразования, имеющей древовидную структуру, в соответствии с глубинами преобразования.
Глубина преобразования, указывающая число разбиений для достижения единицы преобразования посредством выполнения разбиения высоты и ширины единицы кодирования, также может быть установлена в единице преобразования. Например, в текущей единице кодирования 2Nx2N, глубина преобразования может быть равна 0, если размер единицы преобразования составляет 2Nx2N, может быть равна 1, если, соответственно, размер единицы преобразования составляет NxN, и может быть равна 2, если, соответственно, размер единицы преобразования составляет N/2xN/2. Другими словами, единица преобразования, имеющая древовидную структуру, может быть установлена в соответствии с глубинами преобразования.
Информация кодирования в соответствии с единицами кодирования, соответствующими кодируемой глубине, требует не только информации о кодируемой глубине, но также и информации, связанной с кодированием с предсказанием и преобразованием. Соответственно, определитель 120 единиц кодирования не только определяет кодируемую глубину, имеющую наименьшую ошибку кодирования, но также определяет тип разделав единице предсказания, режим предсказания в соответствии с единицами предсказания и размер единицы преобразования для выполнения преобразования.
Далее, со ссылкой на Фиг. 3-12, будут подробно описаны единицы кодирования в соответствии с древовидной структурой в максимальной единице кодирования и способ определения раздела, согласно вариантам осуществления настоящего изобретения.
Определитель 120 единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования в соответствии с глубинами посредством использования Оптимизации Искажения в зависимости от Скорости передачи, на основе множителей Лагранжа.
Блок 130 вывода выводит данные изображения максимальной единицы кодирования, которые закодированы на основе упомянутой по меньшей мере одной кодируемой глубины, определенной определителем 120 единиц кодирования, и информацию о режиме кодирования в соответствии с кодируемой глубиной, в битовых потоках.
Закодированные данные изображения могут быть получены посредством кодирования остаточных данных изображения.
Информация о режиме кодирования в соответствии с кодируемой глубиной может включать в себя информацию о кодируемой глубине, о типе разделав единице предсказания, режиме предсказания и размере единицы преобразования.
Информация о кодируемой глубине может быть определена посредством использования информации разбиения в соответствии с глубинами, которая указывает, выполняется ли кодирование в отношении единиц кодирования более низкой глубины, вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодируемой глубиной, то выполняется кодирование и вывод данных изображения в текущей единице кодирования, и, таким образом, информация разбиения может быть задана таким образом, чтобы не разбивать текущую единицу кодирования до более низкой глубины. Альтернативно, если текущая глубина текущей единицы кодирования не является кодируемой глубиной, то кодирование выполняется в отношении единицы кодирования с более низкой глубиной, и, таким образом, информация разбиения может быть задана таким образом, чтобы разбивать текущую единицу кодирования для получения единиц кодирования более низкой глубины.
Если текущая глубина не является кодируемой глубиной, то кодирование выполняется в отношении единицы кодирования, которая разбита на единицу кодирования с более низкой глубиной. Поскольку в одной единице кодирования текущей глубины существует по меньшей мере одна единица кодирования с более низкой глубиной, то кодирование повторно выполняется в отношении каждой единицы кодирования с более низкой глубиной, и, таким образом, может быть выполнено рекурсивное кодирование для единиц кодирования, имеющих одинаковую глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определены для одной максимальной единицы кодирования, и информация о по меньшей мере одном режиме кодирования определена для единицы кодирования кодируемой глубины, информация о по меньшей мере одном режиме кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодируемая глубина данных изображения максимальной единицы кодирования может быть другой в соответствии с положениями, поскольку данные изображения иерархически разбиваются в соответствии с глубинами, и, таким образом, для данных изображения может быть установлена информация о кодируемой глубине и режиме кодирования.
Соответственно, блок 130 вывода может назначать информацию кодирования о соответствующей кодируемой глубине и режиме кодирования по меньшей мере одной из единицы кодирования, единицы предсказания и минимальной единицы, включенной в состав максимальной единицы кодирования.
Минимальная единица, согласно варианту осуществления настоящего изобретения, является единицей данных квадратной формы, полученной посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю глубину, на 4. Альтернативно, минимальная единица может являться максимальной единицей данных квадратной формы, которая может быть включена в состав всех единиц кодирования, единиц предсказания, единиц раздела и единиц преобразования, включенных в состав максимальной единицы кодирования.
Например, информация кодирования, выведенная через блок 130 вывода, может классифицироваться на информацию кодирования в соответствии с единицами кодирования, и информацию кодирования в соответствии с единицами предсказания. Информация кодирования в соответствии с единицами кодирования может включать в себя информацию о режиме предсказания и о размере разделов. Информация кодирования в соответствии с единицами предсказания может включать в себя информацию об оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о составляющей сигнала цветности внутреннего режима, и о способе интерполяции внутреннего режима. Кроме того, информация о максимальном размере единицы кодирования, заданная в соответствии с видеокадрами, слайсами или GOP (группами видеокадров), и информация о максимальной глубине, может быть вставлена в заголовок битового потока.
В устройстве 100 видеокодирования, более глубокая единица кодирования может являться единицей кодирования, полученной посредством деления на два высоты или ширины единицы кодирования более высокой глубины, которая находится на один уровень выше. Другими словами, если размер единицы кодирования текущей глубины составляет 2Nx2N, то размер единицы кодирования с более низкой глубиной составляет NxN. Кроме того, единица кодирования текущей глубины, имеющая размер 2Nx2N, может включать в себя максимум 4 единицы кодирования с более низкой глубиной.
Соответственно, устройство 100 видеокодирования может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования на основе размера максимальной единицы кодирования и максимальной глубины, определенной с учетом характеристик текущего видеокадра. Кроме того, поскольку кодирование может быть выполнено в отношении каждой максимальной единицы кодирования посредством использования любого из различных режимов предсказания и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение имеет высокое разрешение или в обычном макроблоке закодировано большое количество данных, то количество макроблоков в видеокадре чрезмерно увеличивается. Соответственно, количество частей сжатой информации, сгенерированной для каждого макроблока, увеличивается, и, таким образом, сложно передавать сжатую информацию, и эффективность сжатия данных уменьшается. Однако посредством использования устройства 100 видеокодирования, эффективность сжатия изображения может быть увеличена, поскольку выполняется подстройка единицы кодирования с учетом характеристик изображения, одновременно увеличивая максимальный размер единицы кодирования с учетом размера изображения.
Фиг. 2 изображает блок-схему устройства 200 видеодекодирования в соответствии с вариантом осуществления настоящего изобретения.
Устройство 200 видеодекодирования включает в себя приемник 210, средство 220 извлечения данных изображения и информации кодирования и декодер 230 данных изображения. Определения различных терминов, таких, как единица кодирования, глубина, единица предсказания, единица преобразования, и информация о различных режимах кодирования, для различных операций устройства 200 видеодекодирования, идентичны терминам, описанным со ссылкой на Фиг. 1 и устройство 100 видеокодирования.
Приемник 210 принимает и выполняет синтаксический анализ битового потока закодированного видео. Средство 220 извлечения данных изображения и информации кодирования извлекает закодированные данные изображения для каждой единицы кодирования из синтаксически проанализированного битового потока, причем единицы кодирования имеют древовидную структуру в соответствии с каждой максимальной единицей кодирования, и выводит извлеченные данные изображения на декодер 230 данных изображения. Средство 220 извлечения данных изображения и информации кодирования может извлекать информацию о максимальном размере единицы кодирования текущего видеокадра из заголовка о текущем видеокадре.
Кроме того, средство 220 извлечения данных изображения и информации кодирования извлекает информацию о кодируемой глубине и режиме кодирования для единиц кодирования, имеющих древовидную структуру, в соответствии с каждой максимальной единицей кодирования из синтаксически проанализированного битового потока. Извлеченная информация о кодируемой глубине и режиме кодирования выводится на декодер 230 данных изображения. Другими словами, данные изображения в битовом потоке разбиваются на максимальную единицу кодирования таким образом, чтобы декодер 230 данных изображения выполнял декодирование данных изображения для каждой максимальной единицы кодирования.
Информация о кодируемой глубине и режиме кодирования в соответствии с максимальной единицей кодирования может быть установлена для информации о по меньшей мере одной единице кодирования, соответствующей кодируемой глубине, и информация о режиме кодирования может включать в себя информацию о типе раздела соответствующей единицы кодирования, соответствующей кодируемой глубине, о режиме предсказания и размере единицы преобразования. Кроме того, информация разбиения в соответствии с глубинами может быть извлечена в качестве информации о кодируемой глубине.
Информация о кодируемой глубине и режиме кодирования в соответствии с каждой максимальной единицей кодирования, извлеченная средством 220 извлечения данных изображения и информации кодирования, является информацией о кодируемой глубине и режиме кодирования, определенным для генерирования минимальной ошибки кодирования, когда кодер, такой, как устройство 100 видеокодирования, повторно выполняет кодирование в отношении каждой более глубокой единицы кодирования в соответствии с глубинами, в соответствии с каждой максимальной единицей кодирования. Соответственно, устройство 200 видеодекодирования может восстанавливать изображение посредством декодирования данных изображения в соответствии с кодируемой глубиной и режимом кодирования, который генерирует минимальную ошибку кодирования.
Поскольку информация кодирования касательно кодируемой глубины и режима кодирования может быть назначена предопределенной единице данных из числа соответствующей единицы кодирования, единицы предсказания и минимальной единицы, средство 220 извлечения данных изображения и информации кодирования может извлекать информацию о кодируемой глубине и режиме кодирования в соответствии с предварительно определенными единицами данных. Если информация о кодируемой глубине и режиме кодирования соответствующей максимальной единицы кодирования записана в соответствии с предварительно определенными единицами данных, то предварительно определенные единицы данных, которым назначена так же самая информация о кодируемой глубине и режиме кодирования, может выводиться в качестве единиц данных, включенных в состав той же самой максимальной единицы кодирования.
Декодер 230 данных изображения восстанавливает текущий видеокадр посредством декодирования данных изображения в каждой максимальной единице кодирования на основе информации о кодируемой глубине и режиме кодирования в соответствии с максимальными единицами кодирования. Другими словами, декодер 230 данных изображения может декодировать закодированные данные изображения на основе извлеченной информации о типе раздела, режиме предсказания и единице преобразования для каждой единицы кодирования из числа единиц кодирования, имеющих древовидную структуру, включенную в состав каждой максимальной единицы кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных изображения может выполнять внутреннее предсказание или компенсацию движения в соответствии с режимом предсказания и разделом каждой единицы кодирования на основе информации о типе раздела и режиме предсказания единицы предсказания единицы кодирования в соответствии с кодируемыми глубинами.
Кроме того, декодер 230 данных изображения может выполнять обратное преобразование в соответствии с каждой единицей преобразования в единице кодирования на основе информации о размере единицы преобразования единицы кодирования в соответствии с кодируемыми глубинами таким образом, чтобы выполнять обратное преобразование в соответствии с максимальными единицами кодирования.
Декодер 230 данных изображения может определять упомянутую по меньшей мере одну кодируемую глубину текущей максимальной единицы кодирования посредством использования информации разбиения в соответствии с глубинами. Если информация разбиения указывает, что данные изображения больше не подвергаются разбиению на текущей глубине, то текущая глубина является кодируемой глубиной. Соответственно, декодер 230 данных изображения может декодировать закодированные данные по меньшей мере одной единицы кодирования, соответствующей каждой кодируемой глубине в текущей максимальной единице кодирования посредством использования информации о типе раздела единицы предсказания, режиме предсказания и размере единицы преобразования для каждой единицы кодирования, соответствующей кодируемой глубине.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя ту же самую информацию разбиения, могут быть собраны посредством рассмотрения набора информации кодирования, назначенного для предварительно определенной единицы данных из числа единицы кодирования, единицы предсказания и минимальной единицы, и собранные единицы данных могут рассматриваться в качестве одной единицы данных, которая должна быть декодирована посредством декодера 230 данных изображения в том же самом режиме кодирования.
Устройство 200 видеодекодирования может получать информацию о по меньшей мере одной единице кодирования, которая генерирует минимальную ошибку кодирования, когда для каждой максимальной единицы кодирования выполняется рекурсивное кодирование, и может использовать информацию для декодирования текущего видеокадра. Другими словами, единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования, могут быть декодированы.
Соответственно, даже если данные изображения имеют высокое разрешение и большое количество данных, данные изображения могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые определяются адаптивно в соответствии с характеристиками данных изображения, посредством использования информации об оптимальном режиме кодирования, принятой из кодера.
Теперь, со ссылкой на Фиг. 3-13, будет описан способ определения единиц кодирования, имеющих древовидную структуру, единицы предсказания и единицы преобразования, согласно варианту осуществления настоящего изобретения.
Фиг. 3 представляет собой схему для описания понятия единиц кодирования согласно варианту осуществления настоящего изобретения.
Размер единицы кодирования может быть представлен как ширинаx высота, и может быть равен 64x64, 32x32, 16x16 и 8x8. Единица кодирования 64x64 может быть разбита на разделы 64x64, 64x32, 32x64 или 32x32, а единица кодирования 32x32 может быть разбита на разделы 32x32, 32x16, 16x32 или 16x16, единица кодирования 16x16 может быть разбита на разделы 16x16, 16x8, 8x16 или 8x8, а единица кодирования 8x8 может быть разбита на разделы 8x8, 8x4, 4x8 или 4x4.
В видеоданных 310, разрешение равно 1920x1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 2. В видеоданных 320, разрешение равно 1920x1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 3. В видеоданных 330, разрешение равно 352x288, максимальный размер единицы кодирования равен 16, а максимальная глубина равна 1. Максимальная глубина, изображенная на Фиг. 3, обозначает общее количество разбиений от максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение является высоким, или количество данных является большим, то максимальный размер единицы кодирования может быть большим для того, чтобы не только увеличивать эффективность кодирования, но также и точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть равен 64.
Поскольку максимальная глубина видеоданных 310 равна 2, единицы кодирования 315 видеоданных 310 могут включать в себя максимальную единицу кодирования, имеющую размер по длинной оси равный 64, и единицы кодирования, имеющие размеры по длинной оси равные 32 и 16, поскольку глубина увеличивается на два уровня посредством разбиения максимальной единицы кодирования дважды. При этом, поскольку максимальная глубина видеоданных 330 равна 1, единицы кодирования 335 видеоданных 330 могут включать в себя максимальную единицу кодирования, имеющую размер по длинной оси равный 16, и единицы кодирования, имеющие размер по длинной оси равный 8, поскольку глубина увеличивается на один уровень посредством разбиения максимальной единицы кодирования один раз.
Поскольку максимальная глубина видеоданных 320 равна 3, единицы кодирования 325 видеоданных 320 могут включать в себя максимальную единицу кодирования, имеющую размер по длинной оси 64, и единицы кодирования, имеющие размеры по длинной оси равные 32, 16 и 8, поскольку глубины увеличиваются на 3 уровня посредством разбиения максимальной единицы кодирования трижды. По мере увеличения глубины, может быть выполнено точное представление подробной информации.
Фиг. 4 изображает блок-схему кодера 400 изображения, основанного на единицах кодирования согласно варианту осуществления настоящего изобретения.
Кодер 400 изображения выполняет операции определителя 120 единиц кодирования из устройства 100 видеокодирования для выполнения кодирования данных изображения. Другими словами, средство 410 внутреннего предсказания выполняет внутреннее предсказание в отношении единиц кодирования во внутреннем режиме, из состава текущего кадра 405, и средство 420 оценки движения и компенсатор 425 движения выполняет внешнюю оценку и компенсацию движения в отношении единиц кодирования во внешнем режиме из состава текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из средства 410 внутреннего предсказания, средства 420 оценки движения и компенсатора 425 движения, выводятся в виде квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области посредством обратного квантователя 460 и обратного преобразователя 470, и восстановленные данные в пространственной области выводятся в виде опорного кадра 495, после их постобработки посредством деблокирующего блока 480 и блока 490 контурной фильтрации. Квантованный коэффициент преобразования может быть выведен в виде битового потока 455 через энтропийный кодер 450.
Чтобы кодер 400 изображения применялся в устройстве 100 видеокодирования, все элементы кодера 400 изображения, то есть, средство 410 внутреннего предсказания, средство 420 оценки движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, деблокирующий блок 480 и блок 490контурной фильтрации, выполняют операции на основе каждой единицы кодирования из числа единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, средство 410 внутреннего предсказания, средство 420 оценки движения и компенсатор 425 движения определяют разделы и режим предсказания каждой единицы кодирования из числа единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, а преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из числа единиц кодирования, имеющих древовидную структуру.
Фиг. 5 изображает блок-схему декодера 500 изображения, основанного на единицах кодирования, согласно варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 выполняет синтаксический анализ закодированных данных изображения, которые должны быть декодированы, и информации о кодировании, необходимой для декодирования, из битового потока 505. Закодированные данные изображения выводятся в виде обратно квантованных данных через энтропийный декодер 520 и обратный квантователь 530, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области посредством обратного преобразователя 540.
Средство 550 выполнения внутреннего предсказания выполняет внутреннее предсказание в отношении единиц кодирования во внутреннем режиме в отношении данных изображения в пространственной области, и компенсатор 560 движения выполняет компенсацию движения в отношении единиц кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые прошли через средство 550 внутреннего предсказания и компенсатор 560движения, могут быть выведены в виде восстановленного кадра 595 после выполнения их постобработки посредством деблокирующего блока 570 и блока 580 контурной фильтрации. Кроме того, данные изображения, которые подвергались постобработке посредством деблокирующего блока 570 и блока 580 контурной фильтрации, могут быть выведены в качестве опорного кадра 585.
Для декодирования данных изображения в декодере 230 данных изображения устройства 200 видеодекодирования, декодер 500 изображения может выполнять операции, которые выполняются после синтаксического анализатора 510.
Для того, чтобы декодер 500 изображения применялся в устройстве 200 видеодекодирования, все элементы декодера 500 изображения, то есть, синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, средство 550 внутреннего предсказания, компенсатор 560движения, деблокирующий блок 570 и блок 580 контурной фильтрации, выполняют операции на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования.
В частности, средство 550 внутреннего предсказания и компенсатор 560 движения выполняют операции на основе разделов и режима предсказания для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 выполняет операции на основе размера единицы преобразования для каждой единицы кодирования.
Фиг. 6 представляет собой схему, иллюстрирующую более глубокие единицы кодирования в соответствии с глубинами и разделы согласно варианту осуществления настоящего изобретения.
Устройство 100 видеокодирования и устройство 200 видеодекодирования используют иерархические единицы кодирования для учета характеристик изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут определяться адаптивно в соответствии с характеристиками изображения, или могут быть установлены по-разному посредством пользователя. Размеры более глубоких единиц кодирования в соответствии с глубинами могут быть определены в соответствии с предварительно определенным максимальным размером единицы кодирования.
В иерархической структуре 600 единиц кодирования, согласно варианту осуществления настоящего изобретения, как максимальная высота, так и максимальная ширина единиц кодирования равны 64, а максимальная глубина равна 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, то разбивается каждое из высоты и ширины единицы кодирования большей глубины. Кроме того, единица предсказания и разделы, которые являются основами для кодирования с предсказанием каждой единицы кодирования большей глубины, изображены вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0, а размер, то есть, высота на ширину, составляет 64x64. Глубина увеличивается вдоль вертикальной оси, и существуют единица 620 кодирования, имеющая размер 32x32 и глубину 1, единица 630 кодирования, имеющая размер 16x16 и глубину 2, единица 640 кодирования, имеющая размер 8x8 и глубину 3, и единица 650 кодирования, имеющая размер 4x4 и глубину 4. Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования.
Единица предсказания и разделы единицы кодирования расположены вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами, если единица 610 кодирования, имеющая размер 64x64 и глубину 0, является единицей предсказания, то единица предсказания может быть разбита на разделы, включенные в единицу 610 кодирования, то есть, раздел 610, имеющий размер 64x64, разделы 612, имеющие размер 64x32, разделы 614, имеющие размер 32x64 или разделы 616, имеющие размер 32x32.
Подобным образом, единица предсказания единицы 620 кодирования, имеющей размер 32x32 и глубину 1, может быть разбита на разделы, включенные в состав единицы 620 кодирования, то есть, раздел 620, имеющий размер 32x32, разделы 622, имеющие размер 32x16, разделы 624, имеющие размер 16x32, и разделы 626, имеющие размер 16x16.
Подобным образом, единица предсказания единицы 630 кодирования, имеющей размер 16x16 и глубину 2, может быть разбита на разделы, включенные в состав единицы 630 кодирования, то есть, раздел, имеющий размер 16x16, включенный в состав единицы 630 кодирования, разделы 632, имеющие размер 16x8, разделы 634, имеющие размер 8x16, и разделы 636, имеющие размер 8x8.
Подобным образом единица предсказания единицы 640 кодирования, имеющей размер 8x8 и глубину 3, может быть разбита на разделы, включенные в состав единицы 640 кодирования, то есть раздел, имеющий размер 8x8, включенный в состав единицы 640 кодирования, разделы 642, имеющие размер 8x4, разделы 644, имеющие размер 4x8, и разделы 646, имеющие размер 4x4.
Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования и единицей кодирования самой нижней глубины. Единица предсказания единицы 650 кодирования назначается только разделу, имеющему размер 4x4.
Для определения упомянутой по меньшей мере одной кодируемой глубины единиц кодирования, составляющих максимальную единицу 610 кодирования, определитель 120 единиц кодирования устройства 100 видеокодирования выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенных в состав максимальной единицы кодирования 610.
Количество более глубоких единиц кодирования в соответствии с глубинами, содержащих данные в том же самом диапазоне и том же самом размере, увеличивается по мере увеличения глубины. Например, четыре единицы кодирования, соответствующие глубине 2, необходимы для охвата данных, которые включены в состав водной единицы кодирования, соответствующей глубине 1. Соответственно, для сравнения результатов кодирования одних и тех же данных в соответствии с глубинами, выполняется кодирование каждой из единицы кодирования, соответствующей глубине 1, и четырех единиц кодирования, соответствующих глубине 2.
Для выполнения кодирования для текущей глубины из числа глубин, для текущей глубины может быть выбрана наименьшая ошибка кодирования посредством выполнения кодирования для каждой единицы предсказания в единицах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. Альтернативно, может быть выполнен поиск минимальной ошибки кодирования посредством сравнения наименьших ошибок кодирования в соответствии с глубинами, посредством выполнения кодирования для каждой глубины по мере увеличения глубины вдоль вертикальной оси иерархической структуры 600. Глубина и раздел, имеющие минимальную ошибку кодирования в единице 610 кодирования, могут быть выбраны в качестве кодируемой глубины и типа раздела единицы 610 кодирования.
Фиг. 7 представляет собой схему для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования согласно варианту осуществления настоящего изобретения.
Устройство 100 видеокодирования или устройство 200 видеодекодирования выполняют кодирование или декодирование изображения в соответствии с единицами кодирования, имеющими равные или меньшие размеры, чем максимальная единица кодирования, для каждой максимальной единицы кодирования. Размеры единиц преобразования для выполнения преобразования в процессе кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 видеокодирования или устройстве 200 видеодекодирования, если размер единицы 710 кодирования равен 64x64, то преобразование может быть выполнено посредством использования единиц 720 преобразования, имеющих размер 32x32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64x64, могут быть закодированы посредством выполнения преобразования в отношении каждой из единиц преобразования, имеющих размер 32x32, 16x16, 8x8 и 4x4, который меньше 64x64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 8 представляет собой схему для описания информации кодирования единиц кодирования, соответствующих кодируемой глубине, согласно варианту осуществления настоящего изобретения.
Блок 130 вывода устройства 100 видеокодирования может выполнять кодирование и передачу информации 800 о типе раздела, информации 810 о режиме предсказания и информацию 820 о размере единицы преобразования для каждой единицы кодирования, соответствующей кодируемой глубине, в качестве информации о режиме кодирования.
Информация 800 указывает информацию о форме раздела, полученного посредством разбиения единицы предсказания текущей единицы кодирования, при этом раздел является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица кодирования CU_0, имеющая размер 2Nx2N, может быть разбита на любой из раздела 802, имеющего размер 2Nx2N, раздела 804, имеющего размер 2NxN, раздела 806, имеющего размер Nx2N, и раздела 808, имеющего размер NxN. В данном случае, информация 800 о типе раздела задана для указания одного из раздела 804, имеющего размер 2NxN, раздела 806, имеющего размер Nx2N, и раздела 808, имеющего размер NxN.
Информация 810 указывает режим предсказания каждого раздела. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого в отношении раздела, указанного посредством информации 800, то есть, внутренний режим 812, внешний режим 814 или режим 816 пропуска.
Информация 820 указывает единицу преобразования, на которой необходимо основываться при выполнении преобразования в отношении текущей единицы кодирования. Например, единица преобразования может являться первой внутренней единицей 822 преобразования, второй внутренней единицей 824 преобразования, первой внешней единицей 826 преобразования или второй внешней единицей 828 преобразования.
Средство 220 извлечения данных изображения и информации кодирования устройства 200 видеодекодирования может извлекать и использовать информацию 800, 810 и 820 для выполнения декодирования, в соответствии с каждой более глубокой единицей кодирования.
Фиг. 9 представляет собой схему более глубоких единиц кодирования в соответствии с глубинами, согласно варианту осуществления настоящего изобретения.
Информация разбиения может быть использована для указания изменения глубины. Информация разбиения указывает, разбита ли единица кодирования текущей глубины на единицы кодирования более нижней глубины.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования, имеющей глубину 0 и размер 2N_0x2N_0, может включать в себя разделы из типа 912 раздела, имеющего размер 2N_0x2N_0, типа 914 раздела, имеющего размер 2N_0xN_0, типа раздела 916, имеющего размер N_0x2N_0, и типа 918 раздела, имеющего размер N_0xN_0. Фиг. 9 иллюстрирует только типы 912-918 раздела, которые получены посредством симметричного разбиения единицы 910 предсказания, но тип раздела этим не ограничен, и разделы единицы 910 предсказания могут включать в себя асимметричные разделы, разделы, имеющие предварительно определенную форму, и разделы, имеющие геометрическую форму.
Кодирование с предсказанием повторно выполняется в отношении одного раздела, имеющего размер 2N_0x2N_0, двух разделов, имеющих размер 2N_0xN_0, двух разделов, имеющих размер N_0x2N_0, и четырех разделов, имеющих размер N_0xN_0, в соответствии с каждым типом раздела. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может быть выполнено в отношении разделов, имеющих размеры 2N_0x2N_0, N_0x2N_0, 2N_0xN_0, и N_0xN_0. Кодирование с предсказанием в режиме пропуска выполняется исключительно в отношении раздела, имеющего размер 2N_0x2N_0.
Если в одном из типов 912-916 раздела ошибка кодирования является наименьшей, то единица 910 предсказания может не разбиваться до более низкой глубины.
Если ошибка кодирования является наименьшей в типе 918 раздела, то глубина изменяется от 0 до 1, чтобы разбивать тип 918 раздела на этапе 920, и кодирование повторно выполняется в отношении единиц 930 кодирования имеющих глубину 2 и размер N_0xN_0 для выполнения поиска минимальной ошибки кодирования.
Единица 910 предсказания для кодирования с предсказанием единицы 930 кодирования, имеющей глубину1 и размер 2N_1x2N_1 (=N_0xN_0), может включать в себя разделы типа 942 раздела, имеющего размер 2N_1x2N_1, типа 944 раздела, имеющего размер 2N_1xN_1, типа 946 раздела, имеющего размер N_1x2N_1, и типа 948 раздела, имеющего размер N_1xN_1.
Если ошибка кодирования является наименьшей в типе 948 раздела, то глубина изменяется от 1 до 2 для выполнения разбиения типа 948 раздела на этапе 950, и кодирование повторно выполняется в отношении единиц 960 кодирования, которые имеют глубину 2 и размер N_2xN_2, для поиска минимальной ошибки кодирования.
Когда максимальная глубина равна d, то этап разбиения в соответствии с каждой глубиной может быть выполнена до момента, когда глубина становится равной d-1, и информация разбиения может быть закодирована до момента, когда глубина равна одному из от 0 доd-2. Другими словами, если кодирование выполняется до момента, когда глубина равна d-1 после того, как единица кодирования, соответствующая глубине d-2, разбивается на этапе 970, то единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)x2N_(d-1), может включать в себя разделы типа 992 раздела, имеющего размер 2N_(d-1)x2N_(d-1), типа 994 раздела, имеющего размер 2N_(d-1)xN_(d-1), типа 996 раздела, имеющего размер N_(d-1)x2N_(d-1), и типа 998 раздела, имеющего размер N_(d-1)xN_(d-1).
Кодирование с предсказанием может повторно выполняться в отношении одного раздела, имеющего размер 2N_(d-1)x2N_(d-1), двух разделов, имеющих размер 2N_(d-1)xN_(d-1), двух разделов, имеющих размер N_(d-1)x2N_(d-1), четырех разделов, имеющих размер N_(d-1)xN_(d-1) из числа типов 992-998 разделов, для выполнения поиска типа раздела, имеющего минимальную ошибку кодирования.
Даже если тип 998 раздела имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, то единица CU_(d-1) кодирования, имеющая глубину d-1, больше не разбивается до более низкой глубины, и кодируемая глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, а тип раздела текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)xN_(d-1). Кроме того, поскольку максимальная глубина равна d, а минимальная единица 980 кодирования, имеющая самую низкую глубину d-1, больше не разбивается до более низкой глубины, то информация разбиения для минимальной единицы 960 кодирования не задается.
Единица 999 данных может являться «минимальной единицей» для текущей максимальной единицы кодирования. Минимальная единица, согласно варианту осуществления настоящего изобретения, может являться единицей данных квадратной формы, полученной посредством разбиения минимальной единицы 960 кодирования на 4. Посредством повторного выполнения кодирования, устройство 100 видеокодирования может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования в соответствии с глубинами единицы 900 кодирования для определения кодируемой глубины и установки соответствующего типа раздела и режима предсказания в качестве режима кодирования кодируемой глубины.
Также, минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех из глубин с 1 по d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодируемой глубины. Кодируемая глубина, тип раздела единицы предсказания и режим предсказания могут быть закодированы и переданы в качестве информации о режиме кодирования. Кроме того, поскольку единица кодирования разбивается от глубины 0 до кодируемой глубины, то только информация разбиения кодируемой глубины задается равной 0, а информация разбиения глубин, исключая кодируемую глубину, задается равной 1.
Средство 220 извлечения данных изображения и информации кодирования устройства 200 видеодекодирования может извлекать и использовать информацию о кодируемой глубине и единице предсказания единицы 900 кодирования для декодирования раздела 912. Устройство 200 видеодекодирования может определять глубину, на которой информация разбиения равна 0, в качестве кодируемой глубины посредством использования информации разбиения в соответствии с глубинами, и использовать информацию о режиме кодирования соответствующей глубины для выполнения декодирования.
Фиг. 10-12 представляют собой схемы для описания взаимосвязи между единицами 1010 кодирования, единицами 1060 предсказания и единицами 1070 преобразования согласно варианту осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру, соответствующими глубинам кодирования, определенным посредством устройства100 видеокодирования, в максимальной единице кодирования. Единицы 1060 предсказания являются разделами единиц предсказания каждой из единиц 1010 кодирования, а единицы 1070 преобразования являются единицами преобразования каждой из единиц кодирования 1010.
Если глубина максимальной единицы кодирования равна 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 кодирования получаются посредством разбиения единиц кодирования (coding) в единицах 1010 кодирования (encoding). Другими словами, типы разделов в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2NxN, типы разделов в единицах 1016, 1048 и 1052 кодирования имеют размер Nx2N, а тип раздела единицы 1032 кодирования имеет размер NxN. Единицы предсказания и разделы единиц 1010 кодирования меньше или равны каждой единице кодирования.
Преобразование или обратное преобразование выполняется в отношении данных изображения единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1050 кодирования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от единиц кодирования в единицах 1060 предсказания исходя из размеров и форм. Другими словами, устройства 100 и 200 видеокодирования и видеодекодирования могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности в отношении единицы данных в одной и той же единице кодирования.
Соответственно, кодирование выполняется рекурсивно в отношении каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования, для определения оптимальной единицы кодирования, и, следовательно, могут быть получены единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения о единице кодирования, информацию о типе раздела, информацию о режиме предсказания и информацию о размере единицы преобразования. Таблица 1 показывает информацию кодирования, которая может быть установлена посредством устройств 100 и 200 кодирования и декодирования видео.
<b>Таблица 1</b>
Информация разбиения 0(Кодирование в отношении единицы кодирования, имеющей размер 2Nx2N и текущую глубину, равную d)
Информация 1 о разделении
Режим предсказания
Тип раздела
Размер единицы преобразования
Выполнить повторное кодирование единиц кодирования, имеющих более низкую глубину, равную d+1
ВнутреннееВнешнееПропуск(Только 2Nx2N)
Тип симметричного раздела
Тим несимметричного раздела
Информация 0 разбиения единицы преобразования
Информация 1 разбиения единицы преобразования
2Nx2N2NxNNx2NNxN
2NxnU2NxnDnLx2NnRx2N
2Nx2N
NxN (симметричный тип)N/2xN/2(Несимметричный тип)
Блок 130 вывода устройства 100 видеокодирования может выводить информацию кодирования о единицах кодирования, имеющих древовидную структуру, а средство 220 извлечения данных изображения и информации кодирования устройства 200 видеодекодирования может извлекать информацию кодирования о единицах кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разбиения указывает, разбивается ли текущая единица кодирования на единицы кодирования более низкой глубины. Если информация разбиения текущей глубины d равна 0, то глубина, при которой текущая единица кодирования больше не разбивается до более низкой глубины, является кодируемой глубиной, и, таким образом, для кодируемой глубины может быть определена информация о типе раздела, режиме предсказания и размере единицы преобразования. Если текущая единица кодирования дополнительно разбивается в соответствии с информацией разбиения, то кодирование выполняется независимо в отношении четырех полученных разбиением единиц кодирования более низкой глубины.
Режим предсказания может являться одним из внутреннего режима, внешнего режима и режима пропуска. Внутренний режим и внешний режим могут быть определены во всех типах разделов, а режим пропуска определяется исключительно в типе раздела, имеющем размер 2Nx2N.
Информация о типе раздела может указывать симметричные типы разделов, имеющие размеры 2Nx2N, 2NxN, Nx2N и NxN, которые получаются посредством симметричного разбиения высоты или ширины единицы предсказания, и асимметричные типы разделов, имеющие размеры 2NxnU, 2NxnD, nLx2N и nRx2N, которые получаются посредством асимметричного разбиения высоты или ширины единицы предсказания. Асимметричные типы разделов, имеющие размеры 2NxnU и 2NxnD, могут быть получены, соответственно, посредством разбиения высоты единицы предсказания в отношении 1:3 и 3:1, а асимметричные типы разделов, имеющие размеры nLx2N и nRx2N, могут быть получены, соответственно, посредством разбиения ширины единицы предсказания в отношении 1:3 и 3:1.
Размер единицы преобразования может быть установлен в качестве двух типов во внутреннем режиме и двух типов во внешнем режиме. Другими словами, если информация разбиения единицы преобразования равна 0, то размер единицы преобразования может быть равен 2Nx2N, что является размером текущей единицы кодирования. Если информация разбиения единицы преобразования равна 1, то единицы преобразования могут быть получены посредством разбиения текущей единицы кодирования. Кроме того, если тип раздела текущей единицы кодирования, имеющей размер 2Nx2N, является симметричным типом раздела, то размер единицы преобразования может быть равен NxN, а если тип раздела текущей единицы кодирования является асимметричным типом раздела, то размер единицы преобразования может быть равен N/2xN/2.
Информация кодирования о единицах кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере одно из единицы кодирования, соответствующей кодируемой глубине, единицы предсказания и минимальной единицы. Единица кодирования, соответствующая кодируемой глубине, может включать в себя по меньшей мере одно из единицы предсказания и минимальной единицы, содержащей ту же самую информацию кодирования.
Соответственно, определяется, включены ли смежные единицы данных в состав той же самой единицы кодирования, соответствующей кодируемой глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодируемой глубине, определяется посредством использования информации кодирования единицы данных, и, следовательно, может быть определено распределение кодируемых глубин в максимальной единице кодирования.
Соответственно, если выполняется предсказание текущей единицы кодирования на основе информации кодирования смежных единиц данных, то может быть выполнена прямая ссылка на информацию кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и ее использование.
Альтернативно, если выполняется предсказание текущей единицы кодирования на основе информации кодирования смежных единиц данных, то выполняется поиск единиц данных, смежных с текущей единицей кодирования, с использованием закодированной информации единиц данных, и может быть выполнена ссылка на найденные смежные единицы кодирования для выполнения предсказания текущей единицы кодирования.
Фиг. 13 представляет собой схему для описания взаимосвязи между единицей кодирования, единицей предсказания или разделом, и единицей преобразования, в соответствии с информацией режима кодирования из Таблицы 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодируемых глубин. В данном случае, поскольку единица 1318 кодирования является единицей кодирования кодируемой глубины, то информация разбиения может быть задана равной 0. Информация о типе раздела единицы 1318 кодирования, имеющей размер 2Nx2N, может быть задана как одна из типа 1322 раздела, имеющего размер 2Nx2N, типа 1324 раздела, имеющего размер 2NxN, типа 1326 раздела, имеющего размер Nx2N, типа 1328 раздела, имеющего размер NxN, типа 1332 раздела, имеющего размер 2NxnU, типа 1334 раздела, имеющего размер 2NxnD, типа 1336 раздела, имеющего размер nLx2N, и типа 1338 раздела, имеющего размер nRx2N.
Если тип раздела установлен как симметричный, то есть, тип 1322, 1324, 1326 или 1328 раздела, то единица 1342 преобразования, имеющая размер 2Nx2N, устанавливается, если информация разбиения (флаг размера TU) единицы преобразования равен 0, и единица 1344 преобразования, имеющая размер NxN, устанавливается, если флаг размера TU равен 1.
Если тип раздела задан как асимметричный, то есть, тип 1332, 1334, 1336 или 1338 раздела, то единица 1352 преобразования, имеющая размер 2Nx2N устанавливается, если флаг размера TU равен 0, и единица 1354 преобразования, имеющая размер N/2xN/2 устанавливается, если флаг размера TU равен 1.
Далее в настоящем документе будет подробно описано внутреннее предсказание, выполняемое в отношении единицы предсказания посредством средства 410 внутреннего предсказания устройства 100 видеокодирования из Фиг. 4 и средства 550 внутреннего предсказания устройства 200 видеодекодирования из Фиг. 5.
Средства 410 и 550 внутреннего предсказания выполняют внутреннее предсказание для получения значения предсказания текущей единицы предсказания посредством использования смежных пикселов текущей единицы предсказания. Полагая, что единица предсказания имеет размер, равный или больший, чем 16x16, средства 410 и 550 внутреннего предсказания дополнительно выполняют режим внутреннего предсказания, имеющий различные направленности, с использованием параметра (dx, dy),а также режим внутреннего предсказания, имеющий ограниченную направленность, согласно предшествующему уровню техники. Далее будет подробно описан режим внутреннего предсказания, имеющий различные направленности согласно варианту осуществления настоящего изобретения.
Фиг. 14 иллюстрирует таблицу, показывающую количество режимов внутреннего предсказания в соответствии с размером единицы предсказания, согласно варианту осуществления настоящего изобретения.
Средства 410 и 550 внутреннего предсказания могут по-разному определять количество режимов внутреннего предсказания, которые должны быть применены к единице предсказания в соответствии с размером единицы предсказания. Например, со ссылкой на Фиг. 14, если размер единицы предсказания, которая должна быть подвергнута внутреннему предсказанию, равен NxN, то количество режимов внутреннего предсказания, фактически выполняемых в отношении единиц предсказания, имеющих размеры 2x2, 4x4, 8x8, 16x16, 32x32, 64x64 и 128x128, могут быть определены, соответственно, как равные 5, 9, 9, 17, 33, 5 и 5 в Примере 2. Количество фактически выполняемых режимов внутреннего предсказания различается в соответствии с размером единицы предсказания, поскольку непроизводительные издержки для кодирования информации режима предсказания различаются в соответствии с размером единицы предсказания. Другими словами, даже при том, что часть единицы предсказания, занимающей все изображение, является небольшой, непроизводительные издержки для передачи дополнительной информации, такой, как режим предсказания такой небольшой единицы предсказания, могут быть большими. Соответственно, если единица предсказания, имеющая небольшой размер, кодируется во многих режимах предсказания, то количество битов может увеличиться, и, следовательно, эффективность сжатия может уменьшиться. Кроме того, поскольку единица предсказания, имеющая больший размер, например, единица предсказания, имеющая размер, больший или равный 64x64, как правило, выбирается в качестве единицы предсказания плоской области изображения, может быть недостаточно в контексте эффективности сжатия для кодирования единицы предсказания, имеющей большой размер, которая, как правило, выбирается для выполнения кодирования плоской области, во многих режимах предсказания. Соответственно, если размер единицы предсказания является слишком большими или слишком малыми, по сравнению с предварительно определенным размером, то может быть применено относительно небольшое количество режимов внутреннего предсказания. Однако, количество режимов внутреннего предсказания, применяемых в соответствии с размером единицы предсказания, не ограничено Фиг. 14, и может варьироваться. Количество режимов внутреннего предсказания, применяемых в соответствии с размером единицы предсказания, как изображено на Фиг. 14, является лишь примером, и может варьироваться. Альтернативно, количество режимов внутреннего предсказания, применяемых к единице предсказания, всегда может быть одинаковым, независимо от размера единицы предсказания.
-1
Средства 410 и 550 внутреннего предсказания могут включать в себя, в качестве режима внутреннего предсказания, применяемого к единице предсказания, режим внутреннего предсказания, который определяет смежный опорный пиксел посредством использования линии, имеющей предварительно определенный угол на основе пиксела в единице предсказания, и использования определенного смежного опорного пиксела в качестве предиктора пиксела. Угол такой линии может быть установлен посредством использования параметра (dx, dy), при этом каждое из dx и dy является целым числом. Например, если 33 режима предсказания, соответственно, определены как N режимов, где N является целым числом от 0 до 32, то режим 0 устанавливается как вертикальный режим, режим 1 устанавливается как горизонтальный режим, режим 2 устанавливается как режим DC, режим 3 устанавливается как плоский режим, а режим 32 устанавливается как планарный режим. Кроме того, режимы 4-31 могут быть определены как режимы внутреннего предсказания, определяющие смежный опорный пиксел посредством использования линии, имеющей направленность tan(dy/dx), с использованием (dx, dy), выраженных, соответственно, как (1,-1), (1,1), (1,2), (2,1), (1,-2), (2,1), (1,-2), (2,-1), (2,-11), (5,-7), (10,-7), (11,3), (4,3), (1,11), (1,-1), (12,-3), (1,-11), (1,-7), (3,-10), (5,-6), (7,-6), (7,-4), (11,1), (6,1), (8,3), (5,3), (5,7), (2,7), (5,-7) и (4,-3) из Таблицы 1, и с использованием определенного смежного опорного пиксела для выполнения внутреннего предсказания.
<b>Таблица 2</b>
режим#
dx
dy
режим#
dx
dy
режим 4
1
-1
режим 18
1
-11
режим 5
1
1
режим 19
1
-7
режим 6
1
2
режим 20
3
-10
режим 7
2
1
режим 21
5
-6
режим 8
1
-2
режим 22
7
-6
режим 9
2
-1
режим 23
7
-4
режим 10
2
-11
режим 24
11
1
режим 11
5
-7
режим 25
6
1
режим 12
10
-7
режим 26
8
3
режим 13
11
3
режим 27
5
3
режим 14
4
3
режим 28
5
7
режим 15
1
11
режим 29
2
7
режим 16
1
-1
режим 30
5
-7
режим 17
12
-3
режим 31
4
-3
режим 0 является вертикальным режимом, режим 1 является горизонтальным режимом, режим 2 является режимом DC, режим 3 является плоским режимом, и режим 32 является планарным режимом
Количество режимов внутреннего предсказания, используемых посредством средств 410, 550 внутреннего предсказания, не ограничено Таблицей 2, и может варьироваться на основе того, является ли текущая единица предсказания составляющей сигнала цветности или составляющей сигнала яркости, или на основе размера текущей единицы предсказания. Кроме того, каждый режим N может обозначать режим внутреннего предсказания, отличный от вышестоящего. Например, количество режимов внутреннего предсказания может быть равно 36, причем режим 0 является планарным режимом, описываемым ниже по тексту, режим 1 является режимом DC, режимы 2-34 являются режимами внутреннего предсказания, имеющими 33 направленности, как описано ниже по тексту, а режим 35 является режимом внутреннего предсказания Intra_FromLuma, использующим единицу предсказания в составляющей сигнала яркости, соответствующей единице предсказания в составляющей сигнала цветности. Режим 35, то есть, режим внутреннего предсказания Intra_FromLuma, использующий единицу предсказания в составляющей сигнала яркости, соответствующей единице предсказания в составляющей сигнала цветности, применяется исключительно к единице предсказания в составляющей сигнала цветности, и не используется для выполнения внутреннего предсказания единицы предсказания в составляющей сигнала яркости.
Фиг. 15 иллюстрирует справочное схематическое изображение для описания режимов внутреннего предсказания, имеющих различные направленности, согласно варианту осуществления настоящего изобретения.
-1
Как было описано выше, средства 410 и 550 внутреннего предсказания могут определять смежный опорный пиксел посредством использования линии, имеющей угол, равный tan(dy/dx), определенный посредством множества параметров (dx, dy), и выполнять внутреннее предсказание посредством использования определенного смежного опорного пиксела.
-1
Со ссылкой на Фиг. 15, смежные пикселы A и B, расположенные на выносной линии 150, имеющей угол tan(dy/dx), определенный в соответствии со значением (dx, dy) в соответствии с режимами внутреннего предсказания из Таблицы 2 на основе, текущего пиксела P, который должен быть предсказан в текущей единице предсказания, могут быть использованы в качестве предикторов текущего пиксела P. В данном случае, смежный пиксел используемый в качестве предиктора, может являться пикселом из предыдущей единицы предсказания, которая предварительно закодирована и предварительно восстановлена, и расположена в любом месте из сверху, слева, сверху справа или снизу слева от текущей единицы предсказания. Также, посредством выполнения кодирования с предсказанием в соответствии с режимами внутреннего предсказания, имеющими различные направленности, сжатие может эффективно выполняться в соответствии с характеристиками изображения.
-1
На Фиг. 15, если предиктор текущего пиксела P генерируется посредством использования смежного пиксела, расположенного на выносной линии 150 или рядом с ней, то выносная линия 150, фактически, имеет направленность tan(dy/dx), и деление (dy/dx) требуется для определения смежного пиксела с использованием выносной линии 150, и, следовательно, аппаратные средства или программные средства могут включать в себя операцию десятичной точки, тем самым увеличивая производительность. Соответственно, если направление предсказания для выбора опорного пиксела устанавливается посредством использования параметров (dx, dy), то dx и dy могут быть установлены для уменьшения производительности.
Фиг. 16 представляет собой схему для описания взаимосвязи между текущим пикселом и смежными пикселами, расположенными на выносной линии, имеющей направленность (dx, dy) согласно варианту осуществления настоящего изобретения.
-1
Со ссылкой на Фиг. 16, P 1610 обозначает текущий пиксел, расположенный в (j, i), а A1611 и B1612, соответственно, обозначают смежный пиксел сверху и смежный пиксел слева, расположенные на выносной линии, имеющей направленность, то есть, угол tan(dy/dx), проходящую через текущий пиксел P 1610. Предполагается, что размер единицы предсказания, включающей в себя текущий пиксел P 1610,равен nSxnS, где nS является положительным целым числом, положение пиксела единицы предсказания является одним из (0, 0) до (nS-1, nS-1), положение смежного пиксела A 1611 сверху на оси X является (m,-1), где m является целым числом, а положение смежного пиксела B 1612 слева на оси Y является (-1, n), где n является целым числом. Положение смежного пиксела 1611 сверху, пересекающееся выносной линией, проходящей через текущий пиксел P1610, находится в (j+i*dx/dy,-1), а положение смежного пиксела B 1612 слева находится в (-1, i+j*dy/dx). Соответственно, для определения смежного пиксела A 1611 сверху или смежного пиксела B 1612 слева для предсказания текущего пиксела P1610, требуются операция деления, такая, как dx/dy или dy/dx. Как было описано выше, поскольку сложность операции для операции деления является высокой, скорость операции в программных средствах или аппаратных средствах может быть низкой. Соответственно по меньшей мере один из dx и dy, указывающий направленность режима предсказания для определения смежного пиксела, может являться степенью двух. Другими словами, если каждое из n иm являются целым числом, то dx и dy могут являться, соответственно, 2^n и 2^m.
Если смежный пиксел B 1612 слева используется в качестве предиктора текущего пиксела P 1610, а dx имеет значение 2^n, то для определения (-1, i+j*dy/dx) требуется операция j*dy/dx, то есть, положение смежного пиксела B 1612 слева может быть (i*dy)/(2^n), а операция деления, в которой используется степень двух, может быть реализована посредством операции сдвига, такой, как (i*dy)>>n, и, таким образом, производительность уменьшается.
Подобным образом, если смежный пиксел A 1611 сверху используется в качестве предиктора текущего пиксела P 1610, а dy имеет значение 2^m, то для определения (j+i*dx/dy, -1) требуется операция i*dx/dy, то есть, положение смежного пиксела A 1611 сверху может находиться в (i*dx)/(2Am), и операция деления, использующая степень двух, может быть реализована посредством операции сдвига, такой, как (i*dx)>>m.
Фиг. 17 и 18 иллюстрируют схематическое изображение, показывающее направления режима внутреннего предсказания согласно вариантам осуществления настоящего изобретения.
В целом, шаблоны прямых линий, показываемые в сигнале изображения или видео, являются, главным образом, вертикальными или горизонтальными. Следовательно, если режим внутреннего предсказания, имеющий различные направленности, определяется посредством использования параметра (dx, dy), то для улучшения эффективности кодирования изображения значения dx и dy могут быть определены следующим образом.
Более подробно, если dy имеет фиксированное значение 2^m, то абсолютное значение dx может быть установлено таким образом, чтобы интервал между направлениями предсказания, близкими к вертикальному направлению, являлся узким, и интервал между режимами предсказания увеличивался в направлении предсказания, близком к горизонтальному направлению. Например, со ссылкой на Фиг. 17, если dy равен 2^5, то есть, 32, то dx может быть установлен на 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26 и-32 таким образом, чтобы интервал между направлениями предсказания, близкими к вертикальному направлению, был относительно узким, и интервал между режимами предсказания увеличивался в направлении предсказания, близком к горизонтальному направлению.
Подобным образом, если dx имеет фиксированное значение 2^n, то абсолютное значение dy может быть установлено таким образом, чтобы интервал между направлениями предсказания, близким к горизонтальному направлению, являлся узким, и интервал между режимами предсказания увеличивался в направлении предсказания, близком к горизонтальному направлению. Например, со ссылкой на Фиг. 18, если dx равен 2^5, то есть, 32, то dy может быть установлена на 2, 5, 9, 13, 17, 21, 26, 32, -2, -5, -9, -13, -17, -21, -26 и -32 таким образом, чтобы интервал между направлениями предсказания, близкими к горизонтальному направлению, являлся относительно узким, и интервал между режимами предсказания увеличивался в направлении предсказания, близком к вертикальному направлению.
Кроме того, если одно из значений dx и dy является фиксированным, то другое значение может быть установлено таким образом, чтобы увеличиваться в соответствии с режимами предсказания. Например, если значение dy является фиксированным, то интервал между значениями dx может быть установлен таким образом, чтобы увеличиваться на предварительно определенное значение. Такое приращение может быть установлено в соответствии с углами, разделенными между горизонтальным направлением и вертикальным направлением. Например, если dy является фиксированным, то dx может иметь приращение aв секции, где угол с вертикальной осью меньше 15°, приращение b в секции, где угол находится между 15° и 30°, и приращение c в секции, где угол выше 30°.
-1
Например, режимы предсказания, имеющие направленности tan(dy/dx), использующие (dx, dy), могут быть определены посредством параметров (dx, dy), показанных в Таблицах 3-5.
<b>Таблица 3</b>
dx
dy
dx
dy
dx
dy
-32
32
21
32
32
13
-26
32
26
32
32
17
-21
32
32
32
32
21
-17
32
32
-26
32
26
-13
32
32
-21
32
32
-9
32
32
-17
-5
32
32
-13
-2
32
32
-9
0
32
32
-5
2
32
32
-2
5
32
32
0
9
32
32
2
13
32
32
5
17
32
32
9
<b>Таблица 4</b>
dx
dy
dx
dy
dx
dy
-32
32
19
32
32
10
-25
32
25
32
32
14
-19
32
32
32
32
19
-14
32
32
-25
32
25
-10
32
32
-19
32
32
-6
32
32
-14
-3
32
32
-10
-1
32
32
-6
0
32
32
-3
1
32
32
-1
3
32
32
0
6
32
32
1
10
32
32
3
14
32
32
6
<b>Таблица 5</b>
dx
dy
dx
dy
dx
dy
-32
32
23
32
32
15
-27
32
27
32
32
19
-23
32
32
32
32
23
-19
32
32
-27
32
27
-15
32
32
-23
32
32
-11
32
32
-19
-7
32
32
-15
-3
32
32
-11
0
32
32
-7
3
32
32
-3
7
32
32
0
11
32
32
3
15
32
32
7
19
32
32
11
Как было описано выше, режимы внутреннего предсказания, использующие параметры (dx, dy), используют смежный пиксел (-1, i+j*dy/dx) слева или смежный пиксел (j+i*dx/dy, -1) сверху в качестве предиктора пиксела, расположенного в (j, i). Если по меньшей мере один из dx и dy имеет степень двух, как показано в Таблице 2, то положения смежного пиксела (-1, i+j*dy/dx) слева и смежного пиксела (j+i*dx/dy, -1) сверху могут быть получены исключительно посредством операций умножения и сдвига без операции деления. Если dx равен 2^n, то есть, 32, в точке (dx, dy), как показано в Таблице 2, то операция деления, использующая dx, может быть заменена на операцию сдвига вправо, и, таким образом, положение смежного пиксела слева может быть получено без операции деления на основе (i*dy)>>n. Подобным образом, если dy равен 2^m, то есть, 32, в (dx, dy), как показано в Таблице 2, то операция деления, использующая dx, может быть заменена на операцию сдвига вправо, и, таким образом, положение смежного пиксела сверху может быть получено без операции деления на основе (i*dx)>>m.
Фиг. 19 представляет собой схему, представляющую направления режима внутреннего предсказания, имеющего 33 направленности, согласно варианту осуществления настоящего изобретения.
Средства 410 и 550 внутреннего предсказания могут определять смежный пиксел, который должен быть использован в качестве предиктора текущего пиксела в соответствии с режимами внутреннего предсказания, имеющими 33 направленности, показанные на Фиг. 19. Как было описано выше, направления режимов внутреннего предсказания могут быть установлены таким образом, чтобы интервал между режимами предсказания уменьшался в направлении горизонтального или вертикального направления и увеличивался при удалении от вертикального или горизонтального направления.
При этом, использование смежных пикселов, используемых в качестве опорных пикселов текущего блока, может быть ограничено в соответствии с режимами внутреннего предсказания, имеющими различные направленности, как описано со ссылкой на Фиг. 19. Например, использование смежного пиксела, включенного в состав внешнего блока, предсказанного посредством внешнего предсказания, может быть ограничено в процессе внутреннего предсказания текущего блока. Также, использование смежного пиксела, включенного в состав внешнего блока, ограничено таким образом, чтобы предотвращать распространение ошибки, включенной в состав внешнего блока. Кроме того, использование смежного блока, включенного в состав слайса, отличного от такового текущего блока, который является внутренне предсказанным, может быть ограничено в процессе внутреннего предсказания текущего блока. Использование смежного блока, включенного в состав другого слайса, ограничено вследствие использования данных смежного блока, включенного в состав другого слайса, может быть ограничено в качестве опорных данных текущего блока, поскольку данные изображения инкапсулируются и независимо обрабатываются в единице слайса в соответствии с общей обработкой изображения. Соответственно, средства 410 и 550 внутреннего предсказания могут определять, использовать ли смежный пиксел для внутреннего предсказания текущего блока на основе режима предсказания смежного блока, включающего в себя смежный пиксел, или на основе того, является ли слайс, включающий в себя смежный блок тем же, что и слайс, включающий в себя текущий блок. Средство 410 внутреннего предсказания кодера 400 изображения может устанавливать значение флага (constrained_intra_pred_flag), указывающего, использовать ли смежный пиксел, включенный в состав внешнего блока, для внутреннего предсказания текущего блока, а затем добавлять constrained_intra_pred_flag к закодированному битовому потоку таким образом, чтобы сигнализировать ограничение использования смежного пиксела, включенного в состав внешнего блока. Например, если значение constrained_intra_pred_flag равно 0, то смежный пиксел используется для внутреннего предсказания текущего блока, независимо от режима предсказания смежного блока. Если значение constrained_intra_pred_flag равно 1, то использование смежного пиксела, включенного в состав внешнего блока, может быть ограничено во время внутреннего предсказания текущего блока. Альтернативно, средства 410 и 550 внутреннего предсказания могут ограничивать пиксел смежного блока, включенного в состав слайса, отличного от слайса текущего блока для того, чтобы никогда не использовать его для внутреннего предсказания текущего блока.
Далее в настоящем документе, предполагая, что значение constrained_intra_pred_flag равно 1, то есть, использование смежного блока, включенного в состав внешнего блока в качестве опорного пиксела, ограничено во время внутреннего предсказания текущего блока, процесс средств 410 и 550 внутреннего предсказания, заменяющий смежный пиксел, имеющий ограниченное использование в качестве опорного пиксела, другим смежным пикселом, подробно описан со ссылкой на Фиг. 20-26. Кроме того, предполагается, что использование пиксела смежного блока, включенного в состав слайса, отличного от слайса текущего блока, всегда ограничено во время внутреннего предсказания текущего блока.
Фиг. 24 изображает блок-схему устройства 2400 внутреннего предсказания согласно варианту осуществления настоящего изобретения. Устройство 2400 внутреннего предсказания из Фиг. 24 соответствует средствам 410 и 550 внутреннего предсказания из Фиг. 4 и 5.
Со ссылкой на Фиг. 24, устройство 2400 внутреннего предсказания включает в себя определитель 2410 доступности, средство 2420 замены и средство 2430 выполнения внутреннего предсказания.
Определитель 2410 доступности определяет доступность предварительно определенного количества смежных пикселов, используемых для внутреннего предсказания текущего блока. В данном случае, доступность указывает, может ли использоваться смежный пиксел для внутреннего предсказания в качестве опорного пиксела текущего блока. Как было описано выше, поскольку предполагается, что значение constrained_intra_pred_flag равно 1, то определяется, что смежный пиксел, включенный в состав смежного блока, включенного в состав слайса, отличного от слайса, включающего в себя текущий блок или внешне предсказанный смежный блок, не доступен. Соответственно, определитель 2410 доступности определяет, включает ли предварительно определенное количество смежных пикселов текущего блока в себя смежный пиксел, включенный в состав смежного блока, включенного в состав слайса, отличного от слайса, включающего в себя текущий блок, или включает ли предварительно определенное количество смежных пикселов текущего блока в себя смежный пиксел, включенный в состав внешне предсказанного смежного блока. Предварительно определенное количество смежных пикселов может быть определено в соответствии с любым стандартом. Например, если размер текущего блока равен nTxnT, где Nt является целым числом, то доступность может быть определена в отношении всех из 4nT+1 смежных пикселов, содержащих 2nT смежных пикселов сверху, расположенных сверху и сверху справа от текущего блока, 2nT смежных пикселов слева, расположенных слева и снизу слева от текущего блока, и один смежный пиксел, расположенный у верхнего левого угла текущего блока. Однако количество и положения смежных пикселов, доступность которых определена, могут варьироваться.
Если определено, что все смежные пикселы являются доступными, то средство 2430 выполнения внутреннего предсказания кодера использует смежный пиксел в качестве опорного пиксела таким образом, чтобы генерировать блок предсказания текущего блока посредством выполнения внутреннего предсказания в соответствии с режимом внутреннего предсказания, имеющим различные направленности, как изображено на Фиг.19. Средство 2430 выполнения внутреннего предсказания декодера генерирует блок предсказания текущего блока посредством выполнения внутреннего предсказания в отношении текущего блока посредством использования смежного пиксела на основе режима внутреннего предсказания текущего блока, извлеченного из битового потока.
Если определено, что все смежные пикселы являются недоступными, то средство 2420 замены может заменять пиксельное значение недоступного смежного пиксела предварительно определенным значением. В данном случае, предварительно определенное значение может являться значением, определенным на основе битовой глубины пиксела. Битовая глубина пиксела является количеством битов, используемых для выражения пиксельного значения одного пиксела, и может составлять 8-14 битов. Также, переменная битовая глубина BitDepth может быть представлена посредством уравнения: BitDepth=BaseBitDepth+Increased_bit_depth, посредством базовой битовой глубины BaseBitDepth и переменного увеличения битовой глубины increased_bit_depth. Если битовая глубина находится в диапазоне от 8 до 14 битов, как было описано выше, то базовая битовая глубина BaseBitDepth имеет значение 8, а увеличение битовой глубины increased_bit_depth имеет значение от 0 до 6. Если все смежные пикселы являются недоступными, то средство 2420 замены может заменить все значения смежных пикселов значением 1<<((BitDepth)-1). Например, если битовая глубина BitDepth равна 8, то средство 2420 замены может заменить все значения смежных пикселов, чтобы иметь пиксельное значение равное 1<<(8-1), то есть, 128, то есть 1х2^7, если все смежные пикселы являются недоступными.
Если посредством определителя 2410 доступности определено, что не все из предварительно определенного количества смежных пикселов недоступны, но по меньшей мере один смежный пиксел является недоступным, то средство 2420 замены выполняет поиск доступного смежного пиксела посредством выполнения поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе недоступного смежного пиксела, и заменяет пиксельное значение недоступного смежного пиксела пиксельным значением найденного доступного смежного пиксела. Процесс замены недоступного смежного пиксела будет описан ниже со ссылкой на Фиг. 20-23.
Если недоступный смежный пиксел заменен доступным смежным пикселом, то средство 2430 выполнения внутреннего предсказания выполняет внутреннее предсказание в отношении текущего блока посредством использования замененного смежного пиксела и доступных смежных пикселов и генерирует блок предсказания текущего блока.
Далее в настоящем документе, со ссылкой на Фиг. 20-23 будет подробно описан процесс замены недоступного смежного пиксела во время внутреннего предсказания текущего блока.
Фиг. 20 представляет собой схему смежного пиксела, который является недоступным в процессе внутреннего предсказания текущего блока 2000 в соответствии с типом смежного блока, согласно варианту осуществления настоящего изобретения.
Со ссылкой на Фиг. 20, если размер текущего блока 2000 равен nTxnT, то определитель 2410 доступности определяет, являются ли смежные блоки, А, В, C, D и E, включающие в себя 2nT смежных пикселов сверху, расположенных сверху и сверху справа от текущего блока 2000, внешними блоками или блоками, включенными в состав слайса, отличного от слайса, включающего в себя текущий блок 2000. Кроме того, определитель 2410 доступности определяет, являются ли смежные блоки G, H, I, J и K, включающие в себя 2nT смежных пикселов слева, расположенных слева и снизу слева от текущего блока 2000, и смежный блок F, включающий в себя один смежный пиксел, расположенный у верхнего левого угла текущего блока 2000, внешними блоками или блоками, включенными в состав слайса, отличного от слайса, включающего в себя текущий блок 2000.
Определитель 2410 доступности определяет смежный пиксел, включенный в состав внешнего блока или блока, включенного в состав другого слайса из числа смежных блоков от A до K, как недоступный смежный пиксел. На Фиг. 20, поскольку смежные блоки A, B, D, E, F, H и I являются внешне предсказанными внешними блоками, то определитель 2410 доступности определяет смежные пикселы 2011, 2012 и 2013, включенные в состав смежных блоков A, B, D, E, F, H и I, в качестве недоступных смежных пикселов. Как было описано выше, средство 2420 замены выполняет поиск доступного смежного пиксела в предварительно определенном направлении на основе недоступного смежного пиксела, и заменяет пиксельное значение недоступного смежного пиксела пиксельным значением найденного доступного смежного пиксела.
Более подробно, определитель 2410 доступности, согласно варианту осуществления, сначала определяет доступность смежного пиксела (далее в настоящем документе, называемого первым смежным пикселом) в предварительно определенном положении, из числа смежных пикселов. Если первый смежный пиксел является недоступным, то средство 2420 замены выполняет поиск второго смежного пиксела, который является доступным, посредством выполнения поиска смежных пикселов в предварительно определенном направлении. Кроме того, средство 2420 замены заменяет первый смежный пиксел найденным вторым смежным пикселом.
Оставшийся недоступный смежный пиксел (далее в настоящем документе, называемый третьим смежным пикселом), исключая первый смежный пиксел, подвергается предварительной обработке и заменяется на основе предварительно определенного направления или заменяется исходным доступным смежным пикселом. Недоступные третьи смежные пикселы последовательно заменяются в соответствии с порядком поиска, используемым для поиска второго смежного пиксела. Если первый смежный пиксел является доступным, то пропускается процесс замены первого смежного пиксела, и выполняется только процесс замены третьего смежного пиксела.
Далее в настоящем документе предполагается, что размеры текущих блоков 2100, 2200 и 2300 из Фиг. 21-23 равны nTxnT, и точка P(x, y) обозначает смежный пиксел, доступность которого определена для внутреннего предсказания текущих блоков 2100, 2200 и 2300, причем x=-1, y=-1, …, 2nT-1, и x=0, …, 2nT-1, y=1.
Фиг. 21 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно варианту осуществления настоящего изобретения.
Со ссылкой на Фиг. 21, предполагается, что первый смежный пиксел, доступность которого определяется в первую очередь из числа смежных пикселов, является смежным пикселом P(-1,-1) 2110, расположенным у верхнего левого угла текущего блока 2100. Определитель 2410 доступности сначала определяет доступность первого смежного пиксела P(-1,-1) 2110. Если определено, что первый смежный пиксел P(-1,-1) 2110 является недоступным, то средство 2420 замены последовательно выполняет поиск доступного смежного пиксела в смежных пикселах в соответствии с предварительно определенным направлением на основе первого смежного пиксела P(-1,-1) 2110, и заменяет первый смежный пиксел P(-1,-1) 2110 изначально найденным доступным смежным пикселом (далее в настоящем документе, называемым вторым смежным пикселом). Например, средство 2420 замены выполняет поиск в смежных пикселах сверху и сверху справа от текущего блока 2100 в соответствии с первым направлением поиска слева направо, на основе первого смежного пиксела P(-1,-1) 2110, и если второй смежный пиксел не существует в смежных пикселах сверху и сверху справа от текущего блока 2100, то выполняет поиск второго смежного блока посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока 2100 сверху вниз на основе первого смежного пиксела P(-1,-1) 2110. Средство 2420 замены заменяет первый смежный пиксел P(-1,-1) 2110 вторым смежным пикселом, который изначально найден в соответствии с таким направлением и порядком поиска. Например, если смежный пиксел P(nT-2,-1) 2120 является вторым смежным пикселом, то есть, изначально найденным в смежных пикселах сверху и сверху справа от, то средство 2420 замены заменяет пиксельное значение первого смежного пиксела P(-1,-1) 2110 пиксельным значением второго смежного пиксела P(nT-2,-1) 2120.
Средство 2420 замены заменяет оставшийся недоступный третий смежный пиксел, исключая первый смежный пиксел P(-1,-1) 2110, смежным пикселом, который предварительно обработан и заменен на основе предварительно определенного направления поиска, или изначально доступным смежным пикселом. Например, средство 2420 замены заменяет первый смежный пиксел P(-1,-1) 2110 вторым смежным пикселом P(nT-2,-1) 2120, а затем заменяет следующий недоступный смежный пиксел P(0,-1) первым смежным пикселом P(-1,-1) 2110. Поскольку первый смежный пиксел P(-1,-1) 2110 заменен вторым смежным пикселом P(nT-2,-1) 2120, то смежный пиксел P(0,-1) имеет то же самое значение, что и второй смежный пиксел P(nT-2,-1) 2120. Если первый смежный пиксел P(-1,-1) 2110 является изначально доступным, то процесс замены первого смежного пиксела P(-1,-1) 2110 пропускается, и, следовательно, средство 2420 замены заменяет пиксельное значение смежного пиксела P(0,-1) пиксельным значением первого смежного пиксела P(-1,-1) 2110. Пиксельное значение смежного пиксела P(1,-1) заменяется предварительно обработанным пиксельным значением смежного пиксела P(0,-1).
Такой процесс замены повторяется в отношении всех недоступных третьих смежных пикселов. На Фиг. 21, второй смежный пиксел P(nT-2,-1) 2120, который является доступным из числа смежных пикселов сверху, не заменяется и сохраняет свое исходное пиксельное значение. Также, средство 2420 замены заменяет недоступный смежный пиксел сверху смежным пикселом, который предварительно заменен, или изначально доступным смежным пикселом в соответствии с предварительно определенным направлением поиска. Другими словами, исключая первый смежный пиксел P(-1,-1) 2110 и изначально доступный смежный пиксел, средство 2420 замены заменяет третий смежный пиксел посредством смежного пиксела непосредственно слева, если направлением поиска является направление слева направо. Соответственно, если множество третьих смежных пикселов существует сверху от текущего блока 2100, то средство 2420 замены последовательно заменяет третьи смежные пикселы слева направо соответствующим смежным пикселом слева. В данном случае, смежный пиксел слева, используемый для замены третьего смежного пиксела, может быть предварительно замененным или изначально доступным смежным пикселом. Подобным образом, средство 2420 замены заменяет третий смежный пиксел, который является недоступным из числа смежных пикселов слева и снизу слева от текущего блока 2100 пикселами, находящимися непосредственно сверху. Например, средство 2420 замены заменяет недоступный смежный пиксел P(-1,0) посредством первого смежного пиксела P(-1,-1) 2110. Как было описано выше, если первый смежный пиксел P(-1,-1) 2110 является изначально доступным, то процесс замены первого смежного пиксела P(-1,-1) 2110 пропускается, и, следовательно, средство 2420 замены заменяет смежный пиксел P(-1,0) первым смежным пикселом P(-1,-1) 2110. Пиксельное значение смежного пиксела P(-1, 1) заменяется предварительно обработанным пиксельным значением смежного пиксела P(-1,0). Как и в описанном выше процессе замены третьих смежных пикселов сверху, если множество третьих смежных пикселов существует слева от текущего блока 2100, то средство 2420 замены последовательно заменяет третьи смежные пикселы сверху вниз соответствующим смежным пикселом сверху. В данном случае, смежный пиксел сверху, используемый для замены третьего смежного пиксела, может являться предварительно замененным или изначально доступным смежным пикселом.
Такой процесс замены повторяется в отношении всех третьих смежных пикселов слева и снизу слева, которые являются недоступными. Смежный пиксел P(-1, nT+1) 2130, доступный из числа смежных пикселов слева, не заменяется, но сохраняет свое исходное пиксельное значение. Также, средство 2420 замены заменяет смежный пиксел слева, который является недоступным, предварительно замененным или изначально доступным смежным пикселом, в соответствии с предварительно определенным направлением поиска. Другими словами, если направление поиска является направлением сверху вниз, то средство 2420 замены заменяет третий смежный пиксел смежным пикселом непосредственно сверху. Альтернативно, если выполняется поиск всех смежных пикселов, доступных сверху и слева от текущего блока 2100, то средство 2420 замены может заменять первый смежный пиксел P(-1,-1) средним значением найденных смежных пикселов. Например, на Фиг. 21, пиксельное значение первого смежного пиксела P(-1,-1) может быть заменено средним значением второго смежного пиксела P(nT-2,-1) 2120, изначально найденного как доступный из числа смежных пикселов сверху, и смежного пиксела P(-1, nT+1) 2130, изначально найденного как доступный из числа смежных пикселов слева. Другими словами, если PRA обозначает пиксельное значение второго смежного пиксела P(nT-2,-1) 2120, аPLB обозначает пиксельное значение смежного пиксела P(-1, nT+1) 2130, то среднее значение PT, полученное посредством уравнения:PT=(PRA+PLB+1)>>1 может заменять пиксельное значение первого смежного пиксела P(-1,-1) 2110.
Альтернативно, если выполняется поиск всех смежных пикселов, доступных сверху и слева от текущего блока 2100, то средство 2420 замены может заменять первый смежный пиксел P(-1,-1) 2110 посредством определения доступного смежного пиксела, находящегося ближе к первому смежному пикселу P(-1,-1) 2110 на основе расстояния от первого смежного пиксела P(-1,-1) 2110 в качестве второго смежного пиксела, вместо использования только смежного пиксела, изначально найденного в соответствии с предварительно определенным направлением поиска. На Фиг. 21, поскольку расстояние между первым смежным пикселом P(-1,-1) 2110 и вторым смежным пикселом P(nT-2,-1) 2120, изначально найденным как доступный сверху от текущего блока 2100 равно (nT-2)-(-1), то есть, nT-1,а расстояние между первым смежным пикселом P(-1,-1) 2110 и смежным пикселом P(-1, nT+1) 2130, изначально найденным как доступный слева от текущего блока 2100, равно (nT+1)-(-1), то есть, nT+2, то средство 2420 замены может заменить первый смежный пиксел P(-1,-1) 2110 вторым смежным пикселом P(nT-2,-1) 2120.
Альтернативно, для уменьшения сложности процесса поиска второго смежного пиксела для замены первого смежного пиксела P(-1,-1) 2110, средство 2420 замены может выполнять поиск исключительно в пикселах P(-1,0) и P(0,-1), непосредственно смежных с первым смежным пикселем P(-1,-1) 2110, вместо выполнения поиска во всех смежных пикселах сверху и слева от текущего блока 2110, и может заменять первый смежный пиксел P(-1,-1) 2110 доступным смежным пикселом из числа пикселов P(-1,0) и P(0,-1). Например, средство 2420 замены может выполнять поиск в смежных пикселах в порядке пикселов P(-1,0) и P(0,-1) или наоборот, и заменять первый смежный пиксел P(-1,-1) 2110 пиксельным значением доступного смежного пиксела, который был найден первым. Если доступный смежный пиксел не найден в пикселах P(-1,0) и P(0,-1), то средство 2420 замены может заменить первый смежный пиксел P(-1,-1) 2110 предварительно определенным значением на основе битовой глубины, как было описано выше. Если оба из пикселов P(-1,0) и P(0,-1) являются доступными, то средство 2420 замены может заменить первый смежный пиксел P(-1,-1) 2110 с использованием среднего значения пикселей P(-1,0) и P(0,-1).
При этом, порядок поиска и направление поиска в смежных пикселах слева и сверху могут быть изменены. Другими словами, средство 2420 замены может сначала выполнять поиск в смежных пикселах слева и снизу слева от текущего блока 2100, и если доступный смежный пиксел не найден, то тогда может выполнять поиск в смежных пикселах сверху и сверху справа. Кроме того, вместо выполнения поиска доступного смежного пиксела посредством выполнения поиска в смежных пикселах слева и снизу слева сверху вниз, средство 2420 замены может выполнять поиск в смежных пикселах слева и снизу слева снизу вверх. Кроме того, вместо выполнения поиска доступного смежного пиксела посредством выполнения поискав смежных пикселах сверху и сверху справа слева направо, средство 2420 замены может выполнять поиск в смежных пикселах сверху и сверху справа налево.
Альтернативно, средство 2420 замены может заменять пиксельное значение первого смежного пиксела P(-1,-1) 2110 средним значением всех доступных смежных пикселов из числа смежных пикселов сверху, сверху справа, слева и сверху слева от текущего блока 2100, вместо использования изначально найденного смежного пиксела, доступного из числа смежных пикселов слева и сверху, для замены первого смежного пиксела P(-1,-1) 2110.
Фиг. 22 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно другому варианту осуществления настоящего изобретения.
Со ссылкой на Фиг. 22, предполагается, что первый смежный пиксел, доступность которого определена первой из числа смежных пикселов, является смежным пикселом P(-1,2nT-1) 2210, расположенным в самом низу слева от текущего блока 2200. Другими словами, определитель 2410 доступности сначала определяет доступность первого смежного пиксела P(-1,2nT-1) 2210. Если определено, что первый смежный пиксел P(-1,2nT-1) 2210 недоступен, то средство 2420 замены последовательно выполняет поиск доступного смежного пиксела из числа смежных пикселов в соответствии с предварительно определенным порядком на основе первого смежного пиксела P(-1,2nT-1) 2210, и заменяет первый смежный пиксел P(-1,2nT-1) 2210 доступным вторым смежным пикселом, который найден изначально. Например, средство замены 2420 выполняет поиск в смежных пикселах слева и снизу слева от текущего блока 2200 согласно первому направлению поиска снизу вверх на основе первого смежного пиксела P(-1,2nT-1) 2210, и если доступный второй смежный пиксел не найден в смежных пикселах слева и снизу слева, то он выполняет поиск доступного второго смежного пиксела посредством выполнения поискав смежных пикселах сверху и сверху справа от текущего блока 2200 в соответствии со вторым направлением поиска слева направо. Средство 2420 замены заменяет первый смежный пиксел P(-1,2nT-1) 2210 доступным вторым смежным пикселом, изначально найденным в соответствии с таким направлением поиска и порядком поиска. Например, если смежный пиксел P(-1, nT-2) 2220 из числа смежных пикселов слева является доступным вторым смежным пикселом, который изначально найден в соответствии с порядком поиска, то средство 2420 замены заменяет пиксельное значение первого смежного пиксела P(-1,2nT-1) 2210 посредством пиксельного значения второго смежного пиксела P(-1, nT-2) 2220.
Подобно варианту осуществления, описанному выше, средство 2420 замены заменяет оставшийся недоступный третий смежный пиксел, исключая первый смежный пиксел P(-1,2 nT-1) 2210 предварительно обработанным и замененным смежным пикселом или изначально доступным смежным пикселом на основе предварительно определенного направления поиска. Например, средство 2420 замены заменяет первый смежный пиксел P(-1,2nT-1) 2210 вторым смежным пикселом P(-1, nT-2) 2220, а затем заменяет следующий недоступный смежный пиксел P(-1, 2nT-2) первым смежным пикселом P(-1, 2nT-1) 2210. Если первый смежный пиксел P(-1, 2nT-1) 2210 является изначально доступным, то процесс замены первого смежного пиксела P(-1, 2nT-1) 2210 пропускается, и, таким образом, средство 2420 замены заменяет пиксельное значение смежного пиксела P(-1, 2nT-2) пиксельным значением первого смежного пиксела P(-1, 2nT-1) 2210.
Такой процесс замены повторяется в отношении всех недоступных третьих смежных пикселов. На Фиг. 22, второй смежный пиксел P(-1, nT-2) 2220 и смежный пиксел P(nT+1,-1) 2230, которые доступны из числа смежных пикселов слева и сверху, не заменяются и сохраняют свои исходные пиксельные значения. Соответственно, средство 2420 замены выполняет поиск в смежных пикселах слева и сверху от текущего блока 2200 сверху вниз и слева направо, соответственно, на основе первого смежного пиксела P(-1, 2nT-1) 2210, и заменяет третий смежный пиксел посредством смежного пиксела непосредственно снизу или слева. Другими словами, средство 2420 замены заменяет недоступные третьи смежные пикселы, расположенные слева и снизу слева от текущего блока 2200, исключая первый смежный пиксел P(-1, 2nT-1) 2210 и изначально доступный смежный пиксел, соответствующим смежным пикселом непосредственно снизу, и заменяет недоступные третьи смежные пикселы, расположенные сверху и сверху справа от текущего блока 2200, соответствующим смежным пикселом непосредственно слева. В силу этого, средство 2420 замены, соответственно, заменяет множество третьих смежных пикселов, расположенных слева от текущего блока 2200 снизу вверх, соответствующим нижним смежным пикселом, и, соответственно, заменяет множество третьих смежных пикселов, расположенных сверху от текущего блока 2200 слева направо, соответствующим смежным пикселом слева. Как было описано выше, соответствующий смежный пиксел слева и снизу, используемый для замены, может быть предварительно замененным или изначально доступным смежным пикселом.
Как было описано выше, порядок поиска или направление поиска в смежных пикселах слева и сверху могут быть изменены. Другими словами, средство 2420 замены может сначала выполнять поиск в смежных пикселах сверху и сверху справа от текущего блока 2200 справа налево, и если смежный пиксел является недоступным, тогда может выполнять поиск в смежных пикселах слева и снизу слева от текущего блока 2200 сверху вниз, чтобы выполнять поиск второго смежного пиксела для замены первого смежного пиксела P(-1,2nT-1) 2210.
Фиг. 23 представляет собой схему для описания процесса замены недоступного смежного пиксела согласно другому варианту осуществления настоящего изобретения.
Со ссылкой на Фиг. 23, предполагается, что первый смежный пиксел, доступность которого определена изначально из числа смежных пикселов, является смежным пикселом P(2nT-1,-1) 2310, расположенным сверху крайним справа от текущего блока 2300. Другими словами, определитель 2410 доступности сначала определяет доступность первого смежного пиксела P(2nT-1,-1) 2310. Если первый смежный пиксел P(2nT-1,-1) 2310 определен как недоступный, то средство 2420 замены выполняет поиск доступного смежного пиксела посредством последовательного поиска смежных пикселов в соответствии с предварительно определенным направлением на основе первого смежного пиксела P(2nT-1,-1) 2310, и заменяет первый смежный пиксел P(2nT-1,-1) 2310 на доступный второй смежный пиксел, найденный изначально. Например, средство 2420 замены выполняет поиск в смежных пикселах сверху и сверху справа от текущего блока 2300 в соответствии с первым направлением поиска справа налево на основе первого смежного пиксела P(2nT-1,-1) 2310, и если второй смежный пиксел недоступен в смежных пикселах сверху и сверху справа, то выполняет поиск доступного второго смежного пиксела посредством выполнения поиска в смежных пикселах слева и снизу слева от текущего блока 2300 сверху вниз. Средство 2420 замены заменяет первый смежный пиксел P(2nT-1,-1) 2310 доступным вторым смежным пикселом, найденным изначально в соответствии с таким направлением поиска и порядком поиска. Например, если смежный пиксел P(nT+1,-1) 2320 из числа смежных пикселов сверху является доступным вторым смежным пикселом, который обнаружен изначально в соответствии с порядком поиска, то средство 2420 замены заменяет пиксельное значение первого смежного пиксела P(2nT-1,-1) 2310 пиксельным значением второго смежного пиксела P(nT+1,-1) 2320.
Кроме того, средство 2420 замены заменяет оставшийся недоступный третий смежный пиксел, исключая первый смежный пиксел P(2nT-1,-1) 2310, предварительно обработанным и замененным или изначально доступным смежным пикселом на основе предварительно определенного направления поиска. Например, средство 2420 замены заменяет первый смежный пиксел P(2nT-1,-1) 2310 вторым смежным пикселом P(nT+1,-1), а затем заменяет следующий недоступный смежный пиксел P(2nT-2,-1) первым смежным пикселом P(2nT-1,-1) 2310.
Если первый смежный пиксел P(2nT-1,-1) 2310 доступен изначально, то процесс замены первого смежного пиксела P(2nT-1,-1) 2310 пропускается, и, таким образом, средство 2420 замены заменяет пиксельное значение смежного пиксела P(2nT-2,-1) исходным пиксельным значением первого смежного пиксела P(2nT-1,-1) 2310.
Такой процесс замены повторяется в отношении всех недоступных третьих смежных пикселов. На Фиг. 23, доступный второй смежный пиксел P(nT+1,-1) 2320 и доступный смежный пиксел P(-1, nT-1) 2330 из числа смежных пикселов сверху и слева, не заменяются и сохраняют свои исходные пиксельные значения. В силу этого, средство 2420 замены выполняет поиск в смежных пикселах слева и сверху от текущего блока 2300 справа налево и сверху вниз, соответственно, на основе первого смежного пиксела P(2nT-1,-1) 2310, и последовательно заменяет недоступные третьи смежные пикселы соответствующим смежным пикселом сверху или слева. Другими словами, средство 2420 замены последовательно заменяет недоступные третьи смежные пикселы, расположенные сверху и сверху справа от текущего блока 2300, соответствующим смежным пикселом непосредственно слева, а недоступные третьи смежные пикселы, расположенные слева и снизу слева от текущего блока 2300, посредством соответствующего смежного пиксела непосредственно сверху, исключая первый смежный пиксел P(2nT-1,-1) 2310 и изначально доступный смежный пиксел.
Как описано выше, порядок поиска и направление поиска в смежных пикселах слева и сверху может быть изменен. Другими словами, средство 2420 замены сначала выполняет поиск смежных пикселов слева и снизу слева от текущего блока 2300 снизу вверх, и если смежный пиксел недоступен, то выполняет поиск в смежных пикселах сверху и сверху справа от текущего блока 2300 слева направо таким образом, чтобы выполнять поиск второго смежного пиксела для замены первого смежного пиксела P(2nT-1,-1) 2310.
При этом, если процесс замены недоступных смежных пикселов из числа смежных пикселов завершен, то может быть выполнен процесс фильтрации смежных пикселов. Вопрос использования отфильтрованного смежного пиксела может быть определен на основе размера текущего блока. Например, отфильтрованный смежный пиксел может быть использован только если размер текущего блока составляет 16x16.
Фиг. 25 A представляет собой схему отфильтрованных смежных пикселов 2510 и 2520 текущего блока 2500.
Со ссылкой на Фиг. 25A, X смежных пикселов 2510 сверху от текущего блока 2500 и Yсмежных пикселов 2520 слева от текущего блока 2500 могут быть отфильтрованы по меньшей мере один раз, и отфильтрованный смежный пиксел может быть использован для внутреннего предсказания текущего блока 2500. В данном случае, если размер текущего блока 2500 равен nTxnT, то X может быть равно 2nT и Y может быть равно 2nT.
Если ContextOrg[n] обозначает X+Yисходных смежных пикселов сверху и слева от текущего блока 2500, имеющего размер nTxnT, где n является целым числом от 0 до X+Y-1, то n равно 0 в смежном пикселе в самом низу из числа смежных пикселов слева, то есть, ContextOrg[0], и n равно X+Y-1в смежном пикселе крайнем справа из числа смежных пикселов сверху, то есть, ContextOrg[X+Y-1].
Фиг. 25B иллюстрирует справочное схематическое изображение для описания процесса фильтрации смежного пиксела текущего блока.
Со ссылкой на Фиг. 25B, если ContextOrg[n] обозначает смежные пикселы сверху и слева от текущего блока, где n является целым числом от 0 до 4nT-1, то смежные пикселы могут быть отфильтрованы посредством взвешенного среднего значения между смежными пикселами. Если ContextFiltered1[n] обозначает однократно отфильтрованный смежный пиксел, то смежные пикселы, отфильтрованные посредством применения фильтра с тремя отводами к смежным пикселам ContextOrg [n], могут быть получены в соответствии с уравнением: ContextFiltered1[n]=(ContextOrg[n-1] +2*ContextOrg[n]+ContextOrg[n+1])/4. Подобным образом, двукратно отфильтрованный смежный пиксел ContextFiltered2[n] может быть сгенерирован посредством повторного вычисления взвешенного среднего значения между однократно отфильтрованными смежными пикселами ContextFiltered1[n]. Например, смежные пикселы, отфильтрованные посредством применения фильтра с тремя отводами к отфильтрованным смежным пикселам ContextFiltered1[n], могут быть сгенерированы в соответствии с уравнением: ContextFiltered2[n]=(ContextFiltered1[n-1]+2*ContextFiltered1[n] +ContextFiltered1[n +1])/4. Фильтр, используемый для фильтрации, и количество выполняемых фильтраций могут варьироваться.
Фиг. 26 изображает схему последовательности операций, иллюстрирующую способ внутреннего предсказания видео согласно варианту осуществления настоящего изобретения.
На этапе 2610, определитель 2410 доступности определяет доступность предварительно определенного количества смежных пикселов, используемых для внутреннего предсказания текущего блока из числа блоков, полученных посредством разбиения видеокадра, формирующего видео, в иерархической структуре. Как было описано выше, если смежный пиксел, включенный в состав смежного блока слайса, отличного от слайса, включающего в себя внешне предсказанный смежный блок или текущий блок, существует из числа предварительно определенного количества смежных пикселов, то определитель 2410 доступности определяет соответствующий смежный пиксел как недоступный смежный пиксел.
На этапе 2620, если первый смежный пиксел недоступен в предварительно определенном количестве смежных пикселов, то средство 2420 замены выполняет поиск доступного второго смежного пиксела посредством выполнения поиска в предварительно определенном количестве смежных пикселов в предварительно определенном направлении на основе первого смежного пиксела. На этапе 2630, средство 2420 замены заменяет пиксельное значение первого смежного пиксела пиксельным значением второго смежного пиксела. Если первый смежный пиксел в предварительно определенном положении является доступным, то первый смежный пиксел используется в качестве опорного пиксела для выполнения внутреннего предсказания текущего блока, и процесс замены первого смежного пиксела пропускается. В силу этого, если первый смежный пиксел является недоступным и, таким образом, заменяется вторым смежным пикселем, или является доступным, и, таким образом, процесс замены пропускается, то выполняется процесс замены недоступного третьего смежного пиксела из числа смежных пикселов.
Как было описано выше, средство 2420 замены согласно варианту осуществления определяет доступность первого смежного пиксела, расположенного у самого верхнего левого угла текущего блока, если первый смежный пиксел является недоступным, выполняет поиск доступного второго смежного пиксела посредством выполнения поиска в смежных пикселах сверху и сверху справа слева направо на основе первого смежного пиксела, и если второй смежный пиксел является недоступным в смежных пикселах сверху и сверху справа, то выполняет поиск доступного второго смежного пиксела посредством выполнения поиска в смежных пикселах слева и снизу слева сверху вниз на основе первого смежного пиксела. Средство 2420 замены определяет доступный смежный пиксел, найденный изначально в соответствии с таким направлением поиска и порядком поиска, в качестве второго смежного пиксела. Затем, средство 2420 замены заменяет пиксельное значение первого смежного пиксела пиксельным значением второго смежного пиксела. Кроме того, средство 2420 замены заменяет недоступный по меньшей мере один третий смежный пиксел, расположенный слева и снизу слева от текущего блока, смежным пикселом непосредственно сверху, исключая первый смежный пиксел и доступный изначально смежный пиксел, и заменяет недоступный по меньшей мере один третий смежный пиксел, расположенный сверху и сверху справа от текущего блока, смежным пикселем непосредственно слева. Другими словами, средство 2420 замены выполняет процесс замены недоступных третьих смежных пикселов в других положениях, исключая первый смежный пиксел в предварительно определенном положении, посредством использования непосредственно смежного пиксела в предварительно определенном направлении.
Средство 2420 замены согласно другому варианту осуществления определяет доступность первого смежного пиксела, расположенного у самой нижней левой части текущего блока, и если первый смежный пиксел является недоступным, то определяет найденный изначально доступный смежный пиксел в качестве второго смежного пикселя посредством выполнения поиска в смежных пикселах слева и снизу слева снизу вверх на основе первого смежного пиксела. Если второй смежный пиксел является недоступным в смежных пикселах слева и снизу слева от, то средство 2420 замены определяет изначально найденный доступный смежный пиксел в качестве второго смежного пикселя посредством выполнения поиска в смежных пикселах сверху и сверху справа слева направо. Кроме того, средство 2420 замены заменяет пиксельное значение первого смежного пиксела пиксельным значением второго смежного пиксела. Кроме того, средство 2420 замены последовательно заменяет недоступные третьи смежные пикселы слева и снизу слева, посредством соответствующего смежного пиксела непосредственно снизу, а недоступные третьи смежные пикселы сверху и сверху справа, посредством соответствующего смежного пиксел непосредственно слева, исключая первый смежный пиксел и изначально доступный смежный пиксел. Другими словами, средство 2420 замены выполняет процесс замены недоступных третьих смежных пикселов в других положениях смежным пикселом непосредственно слева, в предварительно определенном направлении, исключая первый смежный пиксел в предварительно определенном положении.
Средство 2420 замены согласно другому варианту осуществления определяет доступность первого смежного пиксела, расположенного у верхней самой правой части текущего блока, и если первый смежный пиксел является недоступным, то определяет изначально найденный доступный смежный пиксел в качестве второго смежного пикселя, посредством выполнения поискав смежных пикселах сверху и сверху справа справа налево на основе первого смежного пиксела. Если второй смежный пиксел является недоступным в смежных пикселах сверху и сверху справа, то средство 2420 замены определяет изначально найденный доступный смежный пиксел в качестве второго смежного пикселя, посредством выполнения поиска в смежных пикселах слева и снизу слева сверху вниз. Затем, средство 2420 замены заменяет пиксельное значение первого смежного пиксела пиксельным значением второго смежного пиксела. Кроме того, средство 2420 замены заменяет недоступный по меньшей мере один третий смежный пиксел, расположенный сверху и сверху справа от текущего блока, смежным пикселом непосредственно справа, и заменяет недоступный по меньшей мере один третий смежный пиксел, расположенный слева и снизу слева от текущего блока, смежным пикселом непосредственно сверху, исключая первый смежный пиксел и изначально доступный смежный пиксел. Другими словами, средство 2420 замены выполняет процесс замены недоступных третьих смежных пикселов в других положениях, исключая первый смежный пиксел в предварительно определенном положении, непосредственно смежным пикселом в предварительно определенном направлении. На этапе 2640, средство 2430 выполнения внутреннего предсказания выполняет внутреннее предсказание в отношении текущего блока посредством использования исходных смежных пикселов и смежных пикселов, замененных в соответствии с их доступностью.
Как было описано выше, сложность процесса определения опорного пиксела, используемого для внутреннего предсказания, может быть уменьшена посредством выполнения поиска и замены доступного смежного пиксела, на основе предварительно определенного направления поиска, недоступным смежным пикселом.
Поскольку программы для реализации способа внешнего предсказания, описанного со ссылкой на Фиг. 1-26, хранятся на считываемых компьютером носителях информации, независимая компьютерная система может легко реализовывать операции (этапы)в соответствии с программами, хранящимися на считываемых компьютером носителях информации.
Теперь будет подробно описан считываемый компьютером носитель информации, хранящий программу, например, диск 26000, согласно варианту осуществления настоящего изобретения.
Фиг. 27A представляет собой схему физической структуры диска 26000, на котором хранится программа, согласно варианту осуществления настоящего изобретения. Диск 26000, который является носителем данных, может являться накопителем на жестких дисках, постоянным запоминающим устройством на компакт-дисках (CD-ROM), диском Blu-ray, или цифровым универсальным диском (DVD). Диск 26000 включает в себя множество концентрических дорожек Tr, каждая из которых разделена на определенное количество секторов Se в периферийном направлении диска 26000. В определенной области диска 26000 может быть размещена и сохранена программа, которая исполняет описанный выше способ внешнего предсказания.
Теперь, со ссылкой на Фиг. 27B, будет описана компьютерная система, которая реализует использование носителя данных, который хранит программу, для исполнения способа внутреннего предсказания, как было описано выше.
Фиг. 27B представляет собой схему дисковода 26800 для записи и считывания программы посредством использования диска 26000. Компьютерная система 27000 может хранить программу, которая исполняет способ внутреннего предсказания согласно варианту осуществления настоящего изобретения, на диске 26000 посредством дисковода 26800. Для выполнения программы, хранящейся на диске 26000 в компьютерной системе 27000, программа может быть считана с диска 26000 и передана в компьютерную систему 26700 посредством использования дисковода 27000.
Программа, которая исполняет способ внутреннего предсказания согласно варианту осуществления настоящего изобретения, может быть сохранена не только на диске 26000, иллюстрированном на Фиг. 27A или 27B, но также и на карте памяти, кассете ROM или твердотельном накопителе (SSD).
Ниже будет описана, система, к которой применяется описанный выше способ внутреннего предсказания.
Фиг. 28 представляет собой схему общей структуры системы 11000 доставки контента для обеспечения службы распространения контента. Зона обслуживания системы связи разделена на соты предварительно определенных размеров, и базовые станции 11700, 11800, 11900 и 12000 беспроводной связи, соответственно, установлены в этих сотах.
Система 11000 доставки контента включает в себя множество независимых устройств. Например, множество независимых устройств, таких, как компьютер 12100, карманный персональный компьютер (PDA) 12200, видеокамера 12300 и мобильный телефон 12500, соединены с сетью 11100 Интернет через провайдера 12200 услуг сети Интернет, сеть 11400 связи и базовые станции 11700, 11800, 11900 и 12000 беспроводной связи.
Однако система 11000 доставки контента не ограничена системой, иллюстрированной на Фиг. 28, и устройства могут выборочно присоединяться к ней. Множество независимых устройств может быть непосредственно подсоединено к сети 11400 связи не через базовые станции 11700, 11800, 11900 и 12000 беспроводной связи.
Видеокамера 12300 является устройством формирования изображения, например, цифровой видеокамерой, которая способна захватывать видеоизображения. Мобильный телефон 12500 может использовать по меньшей мере один способ связи из числа различных протоколов, например, Персональная Цифровая Связь (PDC), Множественный доступ с кодовым разделением (CDMA), Широкополосный множественный доступ с кодовым разделением (W-CDMA), Глобальная Система для Мобильной Связи (GSM) и Система Персональных Мобильных Телефонов (PHS).
Видеокамера 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), смонтированных в видеокамере 12300, мобильном телефоне 12500 или камере 12600.
Система 11000 доставки контента может кодировать данные контента, записанные посредством пользователя, с использованием видеокамеры 12300, камеры 12600, мобильного телефона 12500 или другого устройства формирования изображений, например, контента, записанного во время концерта, и передавать закодированные данные контента на сервер 11300 потоковой передачи. Сервер 11300 потоковой передачи может передавать закодированные данные контента в типе контента потоковой передачи на другие клиенты, которые запрашивают данные контента.
Клиенты являются устройствами, способными декодировать закодированные данные контента, например, компьютером 12100, PDA 12200, видеокамерой 12300 или мобильным телефоном 12500. Следовательно, система 11000 доставки контента обеспечивает возможность приема и воспроизведения клиентами закодированных данных контента. Кроме того, система 11000 доставки контента обеспечивает возможность приема клиентом закодированных данных контента и декодирования и воспроизведения закодированных данных контента в режиме реального времени, тем самым создавая возможность персональной широковещательной передачи.
Операции кодирования и декодирования множества независимых устройств, включенных в систему 11000 доставки контента, могут быть аналогичны способу внутреннего предсказания согласно варианту осуществления настоящего изобретения.
Теперь, со ссылкой на Фиг. 29 и 30, будет более подробно описан мобильный телефон 12500 включенный в систему 11000 доставки контента согласно варианту осуществления настоящего изобретения.
Фиг. 29 иллюстрирует внешнюю структуру мобильного телефона 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 данных может являться флэш-памятью, например, картой стандарта SecureDigital (SD) или электрически-стираемым программируемым постоянным запоминающим устройством(EEPROM), включенным в пластиковый корпус.
Фиг. 30 иллюстрирует внутреннюю структуру мобильного телефона 12500 согласно варианту осуществления настоящего изобретения. Для систематического управления частями мобильного телефона 12500, включающего в себя экран 12520 отображения и панель 12540 управления, схема 12700 питания, контроллер 12640 ввода операций, блок 12720 кодирования изображения, интерфейс 12630 камеры, контроллер 12620 LCD, блок 12690 декодирования изображений, мультиплексор/демультиплексор 12680, блок 12670 записи/считывания, блок 12660 модуляции/демодуляции и звуковой процессор 12650, соединены с центральным контроллером 12710 через шину 12730 синхронизации.
Если пользователь приводит в действие кнопку питания и переводит ее из состояния «выключено» в состояние «включено», схема 12700 питания подает питание на все части мобильного телефона 12500 из блока батарей, тем самым переводя мобильный телефон 12500 в рабочий режим.
Центральный контроллер 12710 включает в себя центральный процессор (центральный процессор), 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 управления и передаются на центральный контроллер 12610 через контроллер 12640 ввода операций. Под управлением центрального контроллера 12610, текстовые данные преобразуются в сигнал передачи через блок 12660 модуляции/демодуляции и схему 12610 связи, и передаются на базовую станцию 12000 беспроводной связи через антенну 12510.
Для передачи данных изображения в режиме передачи данных, данные изображения, захваченные посредством камеры 12530, предоставляются в блок12720 кодирования изображений через интерфейс 12630 камеры. Захваченные данные изображения могут быть отображены непосредственно на экране 12520 отображения посредством интерфейса 12630 камеры и контроллера 12620 LCD.
Структура блока 12720 кодирования изображений может соответствовать структуре описанного выше устройства 100 видеокодирования. Блок 12720 кодирования изображений, может преобразовывать данные изображения, принятые из камеры 12530 в сжатые и закодированные данные изображения в соответствии со способом кодирования видео, используемым посредством описанных выше устройства 100 видеокодирования или кодера 400 изображений, а затем выводить закодированные данные изображения на мультиплексор/демультиплексор 12680. В процессе операции записи камеры 12530, звуковой сигнал, получаемый посредством микрофона 12550 мобильного телефона 12500, может быть преобразован в цифровые звуковые данные посредством звукового процессора 12650, и цифровые звуковые данные могут быть переданы на мультиплексор/демультиплексор 12680.
Мультиплексор/демультиплексор 12680 выполняет мультиплексирование закодированных данных изображения, принятых из блока 12720 кодирования изображений, вместе со звуковыми данными, принятыми из звукового процессора 12650. Результат мультиплексирования данных может быть преобразован в сигнал передачи посредством блока 12660 модуляции/демодуляции и схемы 12610 связи, и затем может быть передан через антенну 12510.
В то время как мобильный телефон 12500 принимает данные связи извне, в отношении сигнала, принимаемого через антенну 12510, выполняются частотное восстановление и ADC для преобразования сигнала в цифровой сигнал. Блок 12660 модуляции/демодуляции выполняет модуляцию полосы частот цифрового сигнала. Модулированный цифровой сигнал полосы частот передается на блок 12690 декодирования видео, звуковой процессор 12650 или контроллер 12620 LCD в соответствии с типом цифрового сигнала.
В режиме разговора, мобильный телефон 12500 выполняет усиление сигнала, принимаемого через антенну 12510, и получает цифровой звуковой сигнал посредством выполнения частотного преобразования и ADC для усиленного сигнала. Принятый цифровой звуковой сигнал преобразуется в аналоговый звуковой сигнал посредством блока 12660 модуляции/демодуляции и звукового процессора 12650, и аналоговый звуковой сигнал выводится через динамик 12580 под управлением центрального контроллера 12710.
При нахождении в режиме передачи данных, выполняется прием данных видео файла, к которым был получен доступ на веб-сайте сети Интернет, сигнал, принимаемый от базовой станции 12000 беспроводной связи через антенну 12510, выводится в виде мультиплексированных данных через блок 12660 модуляции/демодуляции, и мультиплексированные данные передаются на мультиплексор/демультиплексор 12680.
Для декодирования мультиплексированных данных, принятых через антенну 12510, мультиплексор/демультиплексор 12680 выполняет демультиплексирование мультиплексированных данных в поток закодированных видеоданных и поток закодированных аудиоданных. Через шину 12730 синхронизации, поток закодированных видеоданных и поток закодированных аудиоданных предоставляются соответственно на блок 12690 декодирования видео и звуковой процессор 12650.
Структура блока 12690 декодирования изображений может соответствовать структуре описанного выше устройства 200 видеодекодирования. Блок 12690 декодирования изображений может выполнять декодирование закодированных видеоданных для получения восстановленных видеоданных и предоставления восстановленных видеоданных на экран 12520 отображения через контроллер 12620 LCD в соответствии со способом декодирования видео, используемым посредством устройства 200 видеодекодирования или декодера 500 изображений, описанных выше.
Таким образом, данные видео файла, к которому осуществляется доступ на веб-сайте в сети Интернет, могут быть отображены на экране 12520 отображения. В то же время, звуковой процессор 12650 может преобразовывать аудиоданные в аналоговый звуковой сигнал и предоставлять аналоговый звуковой сигнал на динамик 12580. Следовательно, аудиоданные, содержащиеся в видео файле, к которому осуществляет доступ на веб-сайте в сети Интернет, также могут быть воспроизведены через динамик 12580.
Мобильный телефон 12500 или другой тип терминала связи может являться приемопередающим терминалом, включающим в себя как устройство видеокодирования, так и устройство видеодекодирования согласно варианту осуществления настоящего изобретения, может являться приемопередающим терминалом, включающим в себя только устройство видеокодирования, или может являться приемопередающим терминалом, включающим в себя только устройство видеодекодирования.
Система связи согласно настоящему изобретению не ограничена системой связи, описанной выше со ссылкой на Фиг. 28. Например, Фиг. 31 иллюстрирует систему цифрового вещания, в которой используется система связи согласно варианту осуществления настоящего изобретения. Система цифрового вещания из Фиг. 31 может принимать цифровое вещание, передаваемое через спутник или наземную сеть посредством использования устройства видеокодирования и устройства видеодекодирования согласно варианту осуществления настоящего изобретения.
В частности, вещательная станция 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, интерфейс 12630 камеры и блок 12720 кодирования изображений из Фиг. 30. Например, компьютер 12100 и телевизионный приемник 12810 может быть не включен в состав камеры 12530, интерфейса 12630 камеры и блока 12720 кодирования изображений из Фиг. 30.
Фиг. 32 представляет собой схему, иллюстрирующую структуру сети системы облачных вычислений, использующей устройство видеокодирования и устройство видеодекодирования согласно варианту осуществления настоящего изобретения.
Система облачных вычислений может включать в себя сервер 14000 облачных вычислений, пользовательскую базу 14100 данных (DB), множество вычислительных ресурсов 14200 и пользовательский терминал.
Система облачных вычислений предоставляет по запросу услугу аутсорсинга множества вычислительных ресурсов 14200 через сеть передачи данных, например, сеть Интернет, в ответ на запрос с пользовательского терминала. В рамках среды облачных вычислений, поставщик услуг предоставляет пользователям требуемые услуги посредством комбинирования вычислительных ресурсов в центрах сбора и обработки данных, расположенных в физически различных положениях посредством использования технологии виртуализации. Пользователь услуги не должен устанавливать вычислительные ресурсы, например, приложение, хранилище, операционную систему (OS), и систему обеспечения безопасности, на его/ее собственный терминал для их использования, но может выбирать и использовать требуемые услуги (службы)из числа услуг в виртуальном пространстве, сгенерированном посредством технологии виртуализации в требуемый момент времени.
Пользовательский терминал заданного пользователя услуги подсоединен к серверу 14000 облачных вычислений через сеть передачи данных, включающую в себя сеть Интернет и мобильную телекоммуникационную сеть. Для пользовательских терминалов может быть предоставлены услуги облачных вычислений, и, в частности, услуги воспроизведения видео, из сервера 14000 облачных вычислений. Пользовательские терминалы могут являться различными типами электронных устройств, способных к соединению с сетью Интернет, например, настольным PC(персональным компьютером) 14300, интеллектуальным ТВ 14400, смартфоном 14500, ноутбуком 14600, портативным мультимедийным проигрывателем (PMP) 14700, планшетным компьютером 14800, и т.п..
Сервер 14000 облачных вычислений может объединять множество вычислительных ресурсов 14200, распределенных в облачной сети, и предоставлять на пользовательские терминалы результат объединения. Множество вычислительных ресурсов 14200 может включать в себя различные услуги данных, и может включать в себя данные, загруженные с пользовательских терминалов. Как было описано выше, сервер 14000 облачных вычислений может предоставлять на пользовательские терминалы требуемые услуги посредством объединения базы данных видео, распределенной в различных областях в соответствии с технологией виртуализации.
Пользовательская информация о пользователях, которые подписаны на услугу облачных вычислений, хранится в пользовательской базе 14100 DB. Пользовательская информация может включать в себя информацию о регистрации, адресах, именах и персональную информацию о кредите пользователей. Пользовательская информация может дополнительно включать в себя индексы видео. В данном случае, индексы могут включать в себя список видео, которые уже были воспроизведены, список видео, которые воспроизводятся в настоящее время, точку приостановки видео, которое воспроизводится в настоящее время, и т.п..
Информация о видео, хранящаяся в пользовательской базе 14100 DB, может совместно использоваться между пользовательскими устройствами. Например, если услуга видеовещания предоставляется для ноутбука 14600 в ответ на запрос с ноутбука 14600, то история воспроизведения услуги видеовещания сохраняется в пользовательской базе 14100 DB. Если запрос на воспроизведение этой услуги видеовещания принимается со смартфона 14500, то сервер 14000 облачных вычислений выполняет поиск и воспроизводит эту услугу видеовещания на основе пользовательской базы 14100 DB. Если смартфон 14500 принимает поток видеоданных с сервера 14000 облачных вычислений, то процесс воспроизведения видео посредством декодирования потока видео данных является аналогичным работе мобильного телефона 12500, описанной выше со ссылкой на Фиг. 30.
Сервер 14000 облачных вычислений может обращаться к истории воспроизведения требуемой услуги видео вещания, хранящейся в пользовательской базе 14100 DB. Например, сервер 14000 облачных вычислений принимает запрос на воспроизведение видео, хранящегося в пользовательской базе 14100 DB, с пользовательского терминала. Если это видео воспроизводилось, то способ потоковой передачи этого видео, выполняемый посредством сервера 14000 облачных вычислений, может варьироваться в соответствии с запросом с пользовательского терминала, то есть, в соответствии с тем, будет ли воспроизводиться видео, начиная с его начала или с момента его приостановки. Например, если пользовательский терминал выполняет запрос на воспроизведение видео, начиная с его начала, то сервер 14000 облачных вычислений передает потоковые данные видео, начиная с его первого кадра, на пользовательский терминал. Если пользовательский терминал выполняет запрос на воспроизведение видео начиная с момента его приостановки, то сервер 14000 облачных вычислений передает текущие данные видео, начиная с кадра, соответствующего моменту приостановки, на пользовательский терминал.
В этом случае, пользовательский терминал может включать в себя устройство видеодекодирования, как было описано выше. В качестве другого примера, пользовательский терминал может включать в себя устройство видеокодирования, как было описано выше. Альтернативно, пользовательский терминал может включать в себя и устройство видеодекодирования и устройство видеокодирования, как было описано выше.
Различные области применения способа кодирования видео, способа декодирования видео, устройства видеокодирования и устройства видеодекодирования, согласно описанным выше вариантам осуществления настоящего изобретения, были описаны выше со ссылкой на Фиг. 27A-32. Однако способы хранения видео, способ кодирования видео и способ декодирования видео на носителе данных или способы реализации устройства видеокодирования и устройства видеодекодирования в устройстве, согласно различным вариантам осуществления настоящего изобретения, не ограничены вариантами осуществления, описанными выше со ссылкой на Фиг. 27A-32.
Согласно одному или более вариантам осуществления настоящего изобретения, сложность процесса определения опорного пиксела, используемого для внутреннего предсказания, может быть уменьшена посредством поиска и замены доступного смежного пиксела на основе предварительно определенного направления поиска недоступным смежным пикселом.
Несмотря на то, что настоящее изобретение было конкретно изображено и описано со ссылкой на его иллюстративные варианты осуществления, специалистам в данной области техники будет понятно, что для него могут быть выполнены различные изменения формы и деталей без отступления от сущности и объема настоящего изобретения, который определен посредством следующей формулы изобретения.