СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ РЕЖИМА ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ ДЛЯ БЛОКА ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЙ И СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ РЕЖИМА ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ ДЛЯ БЛОКА ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЙ
METHOD AND A DEVICE FOR ENCODING AN INTRA-FRAME PREDICTION MODE FOR AN IMAGE PREDICTION UNIT AND METHOD AND DEVICE FOR DECODING AN INTRA-FRAME PREDICTION MODE FOR AN IMAGE PREDICTION UNIT

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию и декодированию изображения и в частности - к способу и устройству для кодирования режима внутрикадрового предсказания блока предсказания изображений, который может эффективно кодировать режим внутрикадрового предсказания компонента цветности на основе корреляции между режимом внутрикадрового предсказания, определенным для блока предсказания изображений компонента яркости, и режимом внутрикадрового предсказания для компонента цветности, и способа и устройства декодирования режима внутрикадрового предсказания блока предсказания изображений.
УРОВЕНЬ ТЕХНИКИ
В способе сжатия изображений, таком как стандарт усовершенствованного кодирования видеосигналов (AVC), разработанный Экспертной группой по вопросам движущегося изображения (MPEG)-1, MPEG-2, MPEG-3 или H.264/MPEG-4, изображение разделяется на макроблоки для кодирования изображения. Каждый из макроблоков кодируется во все режимах кодирования, которые могут использоваться при межкадровом предсказании и внутрикадровом предсказании, и затем кодируется в режиме кодирования, который выбирается в соответствии с битрейтом, используемым для кодирования макроблока, и степенью искажения декодированного макроблока на основе оригинального макроблока.
По мере того как разрабатывается и предлагается аппаратное обеспечение для воспроизведения и хранения видеоконтента с высоким разрешением или высоким качеством, существует растущая потребность в видеокодеке, способном эффективно кодировать и декодировать видеоконтент с высоким разрешением или высоким качеством. В традиционном видеокодеке видеосигналы кодируются в ограниченном режиме предсказания на основе макроблоков, каждый из которых имеет заранее определенный размер.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Настоящее изобретение предполагает способы и устройства для эффективного кодирования и декодирования режима внутрикадрового предсказания блока предсказания компонента цветности изображения, соответствующего блоку предсказания компонента яркости изображения, на основе режима внутрикадрового предсказания, определенного для блока предсказания компонента яркости изображения.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В соответствии с аспектом настоящего изобретения режим внутрикадрового предсказания блока предсказания компонента цветности эффективно кодируется и декодируется путем восстановления группы возможных вариантов режима внутрикадрового предсказания, применяемой в отношении блока предсказания компонента цветности, в соответствии с тем, является ли режим внутрикадрового предсказания компонента яркости таким же, как и режим внутрикадрового предсказания компонента цветности.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
В соответствии с вариантами осуществления настоящего изобретения избыточность между режимом внутрикадрового предсказания блока предсказания компонента яркости изображения и режимом внутрикадрового предсказания блока предсказания компонента цветности изображения может быть устранена, а режим внутрикадрового предсказания блока предсказания компонента цветности изображения может эффективно выражаться на основе режима внутрикадрового предсказания блока предсказания компонента яркости изображения. Также количество битов, используемых сигнализации режима внутрикадрового предсказания блока предсказания компонента цветности изображения, может быть уменьшено.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 представляет собой блок-схему, иллюстрирующую устройство кодирования видеосигналов в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2 представляет собой блок-схему, иллюстрирующую устройство декодирования видеосигналов в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3 представляет собой диаграмму для описания концепции блоков кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 4 представляет собой блок-схему, иллюстрирующую модуль кодирования изображений на основе блока кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5 представляет собой блок-схему, иллюстрирующую модуль декодирования изображений на основе блока кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6 представляет собой диаграмму, иллюстрирующую более глубинные блоки кодирования в соответствии с глубинами и сегменты в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 7 представляет собой диаграмму для описания отношения между блоком кодирования и блоком преобразования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 8 представляет собой диаграмму для описания информации блоков кодирования в соответствии с глубинами, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 9 представляет собой диаграмму, иллюстрирующую блоки кодирования в соответствии с глубинами, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 10, фиг. 11 и фиг. 12 представляют собой диаграммы для описания отношения блоками кодирования, блоками предсказания и блоками преобразования частоты в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 13 представляет собой диаграмму, иллюстрирующую отношение между блоком кодирования, блоком предсказания и блоком преобразования в соответствии с информацией о режиме кодирования из таблицы 1, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 14А - фиг. 14С представляют собой диаграммы, иллюстрирующие форматы блоков предсказания компонента яркости и компонента цветности в соответствии с вариантами осуществления настоящего изобретения.
Фиг. 15 представляет собой таблицу, иллюстрирующую количество режимов внутрикадрового предсказания в соответствии с размерами блоков предсказания компонента яркости, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 16А представляет собой диаграмму, иллюстрирующую режим внутрикадрового предсказания, применимый в отношении блока предсказания компонента яркости, имеющего заранее определенный размер, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 16В представляет собой диаграмму, иллюстрирующую направления режимов внутрикадрового предсказания с фиг. 16А.
Фиг. 16С представляет собой диаграмму для описания способа выполнения внутрикадрового предсказания в отношении блока предсказания компонента яркости путем использования режимов внутрикадрового предсказания с фиг. 16А, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 17 представляет собой диаграмму для описания режима внутрикадрового предсказания, применяемого в отношении блока предсказания компонента яркости, имеющего заранее определенный размер, в соответствии с другим вариантом осуществления настоящего изобретения.
Фиг. 18А - фиг. 18С представляют собой опорные диаграммы для описания режимов внутрикадрового предсказания, имеющих различные направленности, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 19 представляет собой опорную диаграмму для описания билинейного режима в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 20 представляет собой график для описания отношения между текущим пикселем и периферийным пикселем, расположенным на линии, имеющей направленность (dx, dy) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 21 представляет собой график для описания изменения соседнего пикселя, расположенного на линии, имеющей направленность (dx, dy), в соответствии с местоположением текущего пикселя, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 22 и фиг. 23 представляют собой диаграммы для описания способа определения направления режима внутрикадрового предсказания, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 24 представляет собой опорную диаграмму для описания доступного режима внутрикадрового предсказания в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 25А и фиг. 25В представляют собой опорные диаграммы для описания режима внутрикадрового предсказания в соответствии с другим вариантом осуществления настоящего изобретения.
Фиг. 26 представляет собой блок-схему, иллюстрирующую устройство кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 27 представляет собой блок-схему последовательности операций, иллюстрирующую способ кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 28 представляет собой блок-схему последовательности операций, иллюстрирующую процесс кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 29 представляет собой блок-схему, иллюстрирующую устройство декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 30 представляет собой блок-схему последовательности операций, иллюстрирующую способ декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 31 представляет собой блок-схему последовательности операций, иллюстрирующую процесс декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом настоящего изобретения предлагается способ кодирования режима внутрикадрового предсказания изображения, содержащий: определение режима внутрикадрового предсказания блока предсказания первого компонента изображения, составляющего изображение, путем использования первой группы возможных вариантов режима внутрикадрового предсказания, содержащей множество режимов внутрикадрового предсказания; определение режима внутрикадрового предсказания блока предсказания второго компонента изображения, соответствующего блоку предсказания первого компонента изображения, путем использования второй группы возможных вариантов режима внутрикадрового предсказания, содержащей множество режимов внутрикадрового предсказания; когда определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных во вторую группу возможных вариантов режима внутрикадрового предсказания, восстановление второй группы возможных вариантов режима внутрикадрового предсказания, чтобы устранить избыточность режима внутрикадрового предсказания, который включен во вторую группу возможных вариантов режима внутрикадрового предсказания и является таким же, как определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения; и кодирование определенного режима внутрикадрового предсказания блока предсказания второго компонента изображения на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания.
В соответствии с другим аспектом настоящего изобретения предусмотрено устройство кодирования режима внутрикадрового предсказания изображения, включающее в себя: первый модуль определения режима внутрикадрового предсказания, который определяет режим внутрикадрового предсказания блока предсказания первого компонента изображения, составляющего изображение, путем использования первой группы возможных вариантов режима внутрикадрового предсказания, включающей в себя множество режимов внутрикадрового предсказания; второй модуль определения режима внутрикадрового предсказания, который определяет режим внутрикадрового предсказания блока предсказания второго компонента изображения, соответствующего блоку предсказания первого компонента изображения, путем использования второй группы возможных вариантов, включающей в себя множество режимов внутрикадрового предсказания; и модуль кодирования режима внутрикадрового предсказания, который, когда определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных во вторую группу возможных вариантов режима внутрикадрового предсказания, восстанавливает вторую группу возможных вариантов режима внутрикадрового предсказания, чтобы устранить избыточность режима внутрикадрового предсказания, который включен во вторую группу возможных вариантов режима внутрикадрового предсказания и является таким же, как определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения, и кодирует определенный режим внутрикадрового предсказания блока предсказания второго компонента изображения на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания.
В соответствии с другим аспектом настоящего изобретения предусмотрен способ декодирования режима внутрикадрового предсказания изображения, содержащий: получение информации о режиме внутрикадрового предсказания блока предсказания первого компонента изображения, составляющего изображение, из битового потока; когда режим внутрикадрового предсказания блока предсказания первого компонента изображения является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных во вторую группу возможных вариантов режима внутрикадрового предсказания, что может применяться для блока предсказания второго компонента изображения, восстановление второй группы возможных вариантов режима внутрикадрового предсказания, чтобы устранить избыточность режима внутрикадрового предсказания, который включен во вторую группу возможных вариантов режима внутрикадрового предсказания и является таким же, как определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения; и декодирование режима внутрикадрового предсказания блока предсказания второго компонента изображения на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания. В соответствии с другим аспектом настоящего изобретения предусмотрено устройство декодирования режима внутрикадрового предсказания изображения, содержащее: модуль получения режима внутрикадрового предсказания, который получает информацию о режиме внутрикадрового предсказания блока предсказания первого компонента изображения, составляющего изображение, из битового потока, когда определяется, что режим внутрикадрового предсказания блока предсказания первого компонента изображения является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных во вторую группу возможных вариантов режима внутрикадрового предсказания, что может применяться для блока предсказания второго компонента изображения, восстанавливает вторую группу возможных вариантов режима внутрикадрового предсказания, чтобы устранить избыточность режима внутрикадрового предсказания, который включен во вторую группу возможных вариантов режима внутрикадрового предсказания и является таким же, как определенный режим внутрикадрового предсказания блока предсказания первого компонента изображения, и определяет режим внутрикадрового предсказания блока предсказания второго компонента изображения на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания; первый модуль выполнения внутрикадрового предсказания, который выполняет внутрикадровое предсказание в отношении блока предсказания первого компонента изображения на основе режима внутрикадрового предсказания блока предсказания первого компонента изображения, который получается из битового потока; и
второй модуль выполнения внутрикадрового предсказания, который выполняет внутрикадровое предсказание в отношении блока предсказания второго компонента изображения на основе определенного режима внутрикадрового предсказания блока предсказания второго компонента изображения.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Настоящее изобретение теперь будет описано более полно со ссылкой на прилагаемые чертежи, на которых демонстрируются примерные варианты осуществления изобретения.
Фиг. 1 представляет собой блок-схему, иллюстрирующую устройство 100 кодирования видеосигналов в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 включает в себя модуль 110 разделения максимального блока кодирования, модуль 120 определения блока кодирования и блок 130 вывода.
Модуль 110 разделения максимального блока кодирования может разделять текущее изображение на основе максимального блока кодирования, который представляет собой блок кодирования, имеющий максимальный размер для текущего изображения. Если текущее изображение больше, чем максимальный блок кодирования, данные изображения текущего изображения могут быть разбиты на по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования может быть блоком данных, имеющим размер 32х32, 64х64, 128х128 или 256х256, и форма блока данных может быть квадратом, имеющим ширину и длину квадратов от 2 до 8. Данные изображения могут быть выведены к модулю 120 определения блока кодирования в соответствии с по меньшей мере одним максимальным блоком кодирования.
Блок кодирования может характеризоваться максимальным размером и глубиной. Глубина означает количество раз, когда блок кодирования пространственно разбивается от максимального блока кодирования, и по мере того как глубина увеличивается, более глубинные блоки кодирования в соответствии с глубинами могут быть разбиты с максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования - это глубина самого верхнего уровня, а глубина минимального блока кодирования - это глубина самого нижнего уровня. Когда размер блока кодирования, соответствующего каждой глубине, уменьшается, по мере того как глубина максимального блока кодирования увеличивается, блок кодирования, соответствующей меньшей глубине, может включать в себя множество блоков кодирования, соответствующих бóльшим глубинам.
Как описывается выше, данные изображения текущего изображения разбиваются на максимальные блоки кодирования в соответствии с максимальным размером блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубинные блоки кодирования, которые разбиваются в соответствии с глубинами. Когда максимальный блок кодирования разбивается в соответствии с глубинами, данные изображения пространственной области, включенные в максимальный блок кодирования, могут быть классифицированы иерархически в соответствии с глубинами.
Максимальная глубина и максимальный размер блока кодирования, которые ограничивают общее число раз, когда высота и ширина максимального блока кодирования иерархически разделяются, могут быть предварительно установлены.
Модуль 120 определения блока кодирования кодирует по меньшей мере одну разделенную область, полученную в результате разделения области максимального блока кодирования в соответствии с глубинами, и определяет глубину, на которой подлежат выводу финальные результаты кодирования в соответствии с по меньшей мере одной разделенной областью. То есть модуль 120 определения блока кодирования кодирует данные изображения в соответствии с более глубинными блоками изображения в соответствии с глубинами для каждого максимального блока кодирования текущего изображения и выбирает глубину, имеющую наименьшую ошибку кодирования в качестве кодированной глубины. Определенная кодированная глубина и данные изображения в соответствии с максимальными блоками кодирования выводятся к блоку 130 вывода.
Данные изображения в максимальном блоке кодирования кодируются на основе более глубинных блоков кодирования, соответствующих по меньшей мере одной глубине, равной или расположенной ниже, чем максимальная глубина, и результаты кодирования данных изображения сравниваются на основе каждого из более глубинных блоков кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубинных блоков кодирования. По меньшей мере одна кодированная глубина может быть выбрана для каждого максимального блока кодирования.
Размер максимального блока кодирования разбивается, когда блок кодирования иерархически разделяется в соответствии с глубинами и когда количество блоков кодирования увеличивается. Также, даже если блоки кодирования соответствуют одной и той же глубине в одном максимальном блоке кодирования, определяется, разделять ли каждый из блоков кодирования, соответствующих одной и той же глубине, до большей глубины путем измерения ошибки кодирования данных изображения каждого блока кодирования, раздельно. Соответственно, даже когда данные изображения включены в один максимальный блок кодирования, когда ошибки кодирования могут различаться в соответствии с областями в одном максимальном блоке кодирования, кодированные глубины могут различаться в соответствии с областями в данных изображения. Так, одна или несколько кодированных глубин могут быть определены в одном максимальном блоке кодирования, а данные изображения максимального блока кодирования могут быть разделены в соответствии с блоками кодирования по меньшей мере одной кодированной глубины.
Соответственно, модуль 120 определения блока кодирования может определять блоки кодирования, имеющие древовидную структуру, включенные в текущий максимальный блок кодирования. «Блоки кодирования, имеющие древовидную структуру», включают в себя блоки кодирования, имеющие глубину, определенную как кодированная глубина, из числа всех более глубинных блоков кодирования, включенных в текущий максимальный блок кодирования. Блоки кодирования кодированной глубины могут быть иерархически определены в соответствии с глубинами в той же области в максимальном блоке кодирования и могут быть независимо определены в других областях. Подобным образом, кодированная глубина текущей области может быть независимо определена исходя из кодированных глубин других областей.
Максимальная глубина - это индекс, относящийся к количеству разделений максимального блока кодирования до минимального блока кодирования. Первая максимальная глубина может отражать общее количество разделений максимального блока кодирования до минимального блока кодирования. Вторая максимальная глубина может отражать общее количество уровней глубины от максимального блока кодирования до минимального блока кодирования. Например, когда глубина максимального блока кодирования равно 0, глубина блока кодирования, полученного путем разделения максимального блока кодирования один раз, может быть установлена на 1, а глубина блока кодирования, полученного путем разделения максимального блока кодирования два раза, может быть установлена на 2. В этом случае, когда блок кодирования, полученный путем разделения максимального блока кодирования четыре раза, является минимальным блоком кодирования, когда существуют уровни глубины 0, 1, 2, 3 и 4, первая максимальная глубина может быть установлена на 4, а вторая максимальная глубина может быть установлена на 5.
Кодирование с предсказанием и преобразование частоты могут выполняться в отношении максимального блока кодирования. Кодирование с предсказанием и преобразование частоты выполняются на основе более глубинных блоков кодирования в соответствии с глубинами, которые равны или меньше максимальной глубины для каждого максимального блока кодирования.
Когда количество более глубинных блоков кодирования в соответствии с глубинами увеличивается, по мере того как максимальный блок кодирования разделяется в соответствии с глубинами, кодирование, включающее в себя кодирование с предсказанием и преобразование частоты, должно выполняться в отношении всех более глубинных блоков кодирования, сгенерированных, когда глубины увеличиваются. Кодирование с предсказанием и преобразование частоты будут объяснены на основе блока кодирования текущей глубины из числа одного или более максимальных блоков кодирования для удобства объяснения.
Устройство 100 может различным образом выбирать размер или форму блока данных для кодирования данных изображения. С целью кодировать данные изображения выполняются такие операции, как кодирование с предсказанием, преобразование частоты и энтропийное кодирование. Один и тот же блок данных может использоваться для всех операций или же различные блоки данных могут использоваться для разных операций.
Например, устройство 100 может выбирать не только блок кодирования для кодирования данных изображения, но и блок данных, который отличается от блока кодирования, чтобы выполнить кодирование с предсказанием в отношении данных изображения в блоке кодирования.
Чтобы выполнить кодирование с предсказанием в максимальном блоке кодирования, кодирование с предсказанием может быть выполнено на основе блока кодирования кодированной глубины, то есть блок кодирования больше не разделяется. Блок кодирования, который больше не разделяется и становится основой для кодирования с предсказанием, именуется «блоком предсказания». Сегмент, полученный путем разделения блока предсказания, может включать в себя блок предсказания и блок данных, полученные путем разделения по меньшей мере чего-то одного из высоты и глубины блока предсказания.
Например, когда блок кодирования, имеющий размер 2Nx2N (N - положительное целое число), больше не разделяется, блок предсказания может иметь размер 2Nx2N и сегмент может иметь размер может иметь размер 2Nx2N, NxN, Nx2N или NxN. Примеры типа сегмента могут включать в себя симметричные сегменты, полученные путем симметричного разделения высоты или ширины блока предсказания, сегменты, полученные путем асимметричного разделения высоты или ширины блока предсказания, как то 1:n или n:1, сегменты, полученные путем геометрического разделения блока предсказания, и сегменты, имеющие произвольные формы.
Режим предсказания блока предсказания может быть по меньшей мере одним из внутрикадрового режима, межкадрового режима и режима пропуска. Например, внутрикадровый режим и межкадровый режим могут выполняться в отношении сегмента, имеющего размер 2Nx2N, NxN, Nx2N или NxN. Также режим пропуска может выполняться только в отношении сегмента, имеющего размер 2Nx2N. Кодирование может независимо выполняться в отношении одного блока предсказания в блоке кодирования и, режим предсказания, имеющий по меньшей мере ошибку кодирования, может быть выбран.
Также устройство 100 может выполнять преобразование частоты в отношении данных изображения в блоке кодирования на основе не только блока кодирования для кодирования данных изображения, но и блока данных, отличного от блока кодирования.
Чтобы выполнить преобразование частоты в блоке кодирования, преобразование частоты может выполняться на основе блока данных, имеющего размер, равный или меньший того, что имеет блок кодирования. Например, блок данных для преобразования частоты может включать в себя блок данных для межкадрового режима и блока данных для внутрикадрового режима.
Блок данных, который становится основой преобразования частоты, может именоваться «блоком преобразования». Подобно блоку кодирования, блок преобразования в блоке кодирования может быть рекурсивно разделен до блока преобразования, имеющий меньший размер, и остаточные данные блока кодирования могут быть разделены в соответствии с блоками преобразования, имеющими древовидную структуру, в соответствии с глубиной преобразования.
Глубина преобразования, отражающая количество разделений, чтобы достичь блока преобразования путем разделения высоты и ширины блока кодирования, также может быть установлена в блоке преобразования. Например, размер блока преобразования текущего блока кодирования, имеющего размер 2Nx2N, -2Nx2N, глубина преобразования может быть установлена на 0, когда размер блока преобразования NxN, глубина преобразования может быть установлена на 1, и когда размер блока преобразования N/2xN/2, глубина преобразования может быть установлена на 2. То есть блоки преобразования, имеющие древовидную структуру, могут быть установлены в соответствии с глубинами преобразования.
Информация о более глубинных блоках кодирования в соответствии с глубинами задействует информацию о кодированной глубине, информацию, относящуюся к предсказанию, и информацию, относящуюся к преобразованию частоты. Соответственно, модуль 120 определения блока кодирования может определять не только кодированную глубину, которая генерирует по меньшей мере ошибку кодирования, но и тип сегмента, по которому блок предсказания разделяется на сегменты, режим предсказания в соответствии с каждым блоком предсказания и размер блока предсказания для преобразования частоты.
Способ определения сегмента и блоков кодирования, имеющих древовидную структуру, в максимальном блоке кодирования будет подробно объяснен со ссылкой на фиг. 3 - фиг. 12.
Модуль 120 определения блока кодирования может измерять ошибку кодирования более глубинных блоков кодирования в соответствии с глубинами путем использования оптимизации зависимости искажения от скорости передачи на основе множителей Лагранжа.
Блок 130 вывода данных изображения выводит данные изображения максимального блока кодирования, который кодируется на основе по меньшей мере одной кодированной глубины, определенной модулем 120 определения блока кодирования, и информации о режиме кодирования в соответствии с кодированной глубиной, в битовые потоки.
Кодированные данные изображения могут быть результатом, полученным путем кодирования остаточных данных изображения.
Информация о режиме кодирования в соответствии с кодированной глубиной может включать в себя информацию о кодированной глубине, информацию о типе сегмента в блоке предсказания, информацию о режиме предсказания и информацию о размере блока преобразования.
Информация о кодированной глубине может быть определена путем использования информации разделения в соответствии с каждой глубиной, отражающей, выполняется ли кодирование в отношении блоков кодирования большей глубины вместо текущей глубины. Когда текущая глубина текущего блока кодирования является кодированной глубиной, когда данные изображения в текущем блоке кодирования подвергаются кодированию, информация разделения может быть определена так, чтобы не разбивать текущий блок кодирования до большей глубины. В качестве альтернативы, когда текущая глубина текущего блока кодирования не является кодированной глубиной, когда кодирование осуществляется в отношении блока кодирования большей глубины, информация разделения может быть определена так, чтобы разбивать текущий блок кодирования, чтобы получить блоки кодирования большей глубины.
Когда текущая глубина не является кодированной глубиной, кодирование выполняется в отношении блока кодирования, который разделен на блоки кодирования большей глубины. Когда один или несколько блоков кодирования большей глубины существуют в одном блоке кодирования текущей глубины, кодирование может неоднократно выполняться в отношении каждого блока кодирования большей глубины, и таким образом, кодирование может рекурсивно выполняться для блоков кодирования одинаковой глубины.
Когда блоки кодирования, имеющие древовидную структуру, должны быть определены в одном максимальном блоке кодирования и информация о по меньшей мере одном режиме кодирования должна быть определена для каждого блока кодирования кодированной глубины, информация о по меньшей мере одном режиме кодирования может быть определена для одного максимального блока кодирования. Также когда данные изображения максимального блока кодирования могут быть иерархически разделены в соответствии с глубинами и, таким образом, кодированные глубины могут различаться в соответствии с областями, информация о режиме кодирования и кодированной глубине может быть установлена для данных изображения.
Соответственно, блок 130 вывода может назначать информацию кодирования о соответствующей кодированной глубине и режиме кодирования для по меньшей мере одного из блока кодирования, блока предсказания и минимального блока, включенного в максимальный блок кодирования.
Минимальный блок может быть квадратным блоком данных, имеющим размер, полученный путем разделения минимального блока кодирования, составляющего самую большую глубину, на 4, и может быть квадратным блоком данных, имеющим максимальный размер, который может быть включен во все из блоков кодирования, блоков предсказания и блоков преобразования, включенный в максимальный блок кодирования.
Например, информация кодирования, выведенная с помощью блока 130 вывода, может подразделяться на информацию кодирования в соответствии с более глубинными блоками кодирования в соответствии с глубинами и информацию кодирования в соответствии блоками предсказания. Информация кодирования в соответствии с более глубинными блоками кодирования в соответствии с глубинами может включать в себя информацию о режиме предсказания и информацию о размерах сегментов. Информация кодирования о блоках предсказания может включать в себя информацию об оцененном направлении межкадрового режима, информацию об индексе опорного изображения межкадрового режима, информацию о векторе движения, информацию о компоненте цветности внутрикадрового режима и информацию о способе интерполяции внутрикадрового режима. Также информация о максимальном размере блока кодирования, которая определяется в соответствии с изображениями, фрагментами или GOP, и информация о максимальной глубине могут быть внесены в заголовок битового потока.
В соответствии с устройством 100, имеющим простейшую структуру, более глубинный блок кодирования является блоком кодирования, полученным путем разделения высоты или ширины блока кодирования меньшей глубины, который находятся на один уровень выше, на два. То есть когда размер блока кодирования текущей глубины 2Nx2N, размер блока кодирования большей глубины - NxN. Также когда блок кодирования текущей глубины имеет размер 2Nx2N, размер блока кодирования большей глубины - NxN. Также блок кодирования текущей глубины, имеющий размер 2Nx2N, может включать в себя максимум 4 блока кодирования большей глубины.
Соответственно, устройство 100 может формировать блоки кодирования, имеющие древовидную структуру, путем определения блока кодирования, имеющего оптимальную форму и оптимальный размер для каждого максимального блока кодирования, на основе размера максимального блока кодирования и максимальной глубины, определенной с учетом характеристик текущего изображения. Также, когда кодирование может выполняться в отношении каждого максимального блока кодирования путем использования любого из различных режимов предсказания и режимов преобразования частоты, с учетом характеристик блоков изображения, имеющих различные размеры изображения, может быть определен оптимальный режим кодирования.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в стандартном макроблоке, количество макроблоков на изображение чрезмерно увеличивается. Соответственно, количество частей сжатой информации, сгенерированной для каждого макроблока, увеличивается, и, таким образом, сложно передавать сжатую информацию и эффективность сжатия данных снижается. Однако при использовании устройства 100 эффективность сжатия изображения может быть повышена, когда блок кодирования настраивается с учетом характеристик изображения при увеличении максимального размера блока кодирования с учетом размера изображения.
Фиг. 2 представляет собой блок-схему устройства 200 декодирования видеосигналов в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 2 устройство 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 представляет собой диаграмму для описания концепции иерархических блоков кодирования в соответствии с вариантом осуществления настоящего изобретения.
Размер блока кодирования может быть выражен как ширина на высоту, и примеры размера могут включать в себя 64х64, 32х32, 16х16 и 8х8. Блок кодирования, имеющий размер 64х64, может быть разбит на сегменты, имеющие размеры 64х64, 64х32, 32х64 и 32х32, блок кодирования, имеющий размер 32х32, может быть разбит на сегменты, имеющие размеры 32х32, 32х16, 16х32 и 16х16, блок кодирования, имеющий размер 16х16, может быть разбит на сегменты, имеющие размеры 16х16, 16х8, 8х16 и 8х8, и блок кодирования, имеющий размер 8х8, может быть разбит на сегменты, имеющие размеры 8х8, 8х4, 4х8 и 4х4.
В видеоданных 310 разрешение составляет 1920х1080, максимальный размер блока кодирования равен 64 и максимальная глубина - 2. В видеоданных 320 разрешение составляет 1920х1080, максимальный размер блока кодирования равен 64 и максимальная глубина - 4. В видеоданных 330 разрешение составляет 352х288, максимальный размер блока кодирования равен 16 и максимальная глубина - 2. Максимальная глубина на фиг. 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, когда глубины увеличиваются на три уровня путем разделения максимального блока кодирования трижды. Когда глубина увеличивается, подробная информация может быть точно выражена.
Фиг. 4 представляет собой блок-схему модуля 400 кодирования изображения на основе блока кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции для модуля 120 определения блока кодирования устройства 100, чтобы кодировать данные изображения. То есть модуль 410 внутрикадрового предсказания выполняет внутрикадровое предсказание в отношении блоков кодирования во внутрикадровом режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения осуществляют межкадровую оценку и компенсацию движения путем использования опорного кадра 495 и текущего кадра 405 межкадрового режима.
Данные, выведенные от модуля 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 декодирования изображений на основе блока кодирования, в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 5 модуль 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, а размер, то есть высота на ширину, составляет 64х64. Глубина увеличивается вдоль вертикальной оси, и блок 620 кодирования, имеющий размер 32х32 и глубину 1, блок 630 кодирования, имеющий размер 16х16 и глубину 2, блок 640 кодирования, имеющий размер 8х8 и глубину 3, и блок 640 кодирования, имеющий размер 4х4 и глубину 4, существуют. Блок 650 кодирования, имеющий размер 4х4 и глубину 4, является минимальным блоком кодирования.
Частичные блоки данных показаны на фиг. 6 как блоки предсказания блока кодирования вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами, если блок 610 кодирования, имеющий размер 64х64 и глубину 0, является блоком предсказания, блок предсказания может быть разбит на частичные блоки данных, включенные в блок 610 кодирования, то есть частичный блок 610 данных, имеющий размер 64х64, частичные блоки 612 данных, имеющие размер 64х32, частичные блоки 614 данных, имеющие размер 32х64, или частичные блоки 616 данных, имеющие размер 32х32.
Блок предсказания блока 620 кодирования, имеющего размер 32х32 и глубину 1, может быть разбит на частичные блоки данных, включенные в блок 620, то есть частичный блок 620 данных, имеющий размер 32х32, частичные блоки 622 данных, имеющие размер 32х16, частичные блоки 624 данных, имеющие размер 16х32, или частичные блоки 626 данных, имеющие размер 16х16.
Блок предсказания блока 630 кодирования, имеющего размер 16х16 и глубину 2, может быть разбит на частичные блоки данных, включенные в блок 630, то есть частичный блок 630 данных, имеющий размер 16х16, частичные блоки 632 данных, имеющие размер 16х8, частичные блоки 634 данных, имеющие размер 8х16, или частичные блоки 636 данных, имеющие размер 8х8.
Блок предсказания блока 640 кодирования, имеющего размер 8х8 и глубину 3, может быть разбит на частичные блоки данных, включенные в блок 640, то есть частичный блок 640 данных, имеющий размер 8х8, частичные блоки 642 данных, имеющие размер 8х4, частичные блоки 644 данных, имеющие размер 4х8, или частичные блоки 646 данных, имеющие размер 4х4.
Блок предсказания блока 650 кодирования, имеющего размер 4х4 и глубину 4, является минимальным блоком кодирования с самой большой глубиной. Блок предсказания блока 650 кодирования назначается только для частичного блока данных, имеющего размер 4х4.
Чтобы определить кодированную глубину максимального блока 610 кодирования, модуль 120 определения блока кодирования устройства 100 должен выполнять кодирование для блоков кодирования, соответствующих каждой глубине, включенной в максимальный блок 610 кодирования.
Количество более глубинных блоков кодирования в соответствии с глубинами, включающих в себя данные в одном и том же диапазоне и размере, растет по мере того, как увеличивается глубина. Например, четыре блока кодирования, соответствующие глубине 2, требуются, чтобы охватить данные, которые включены в один блок кодирования, соответствующий глубине 1. Соответственно, чтобы сравнить результаты кодирования одинаковых данных в соответствии с глубинами, каждый из блока кодирования, соответствующего глубине 1, и четырех блоков кодирования, соответствующие глубине 2, кодируется.
Чтобы выполнить кодирование в соответствии с глубинами, для текущей глубины из числа глубин, для текущей глубины может быть выбрана репрезентативная ошибка кодирования, которая является наименьшей ошибкой кодирования, путем выполнения кодирования для блоков предсказания в блоках кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. В качестве альтернативы может осуществляться поиск минимальной ошибки кодирования путем сравнения наименьших ошибок кодирования в соответствии с глубинами при выполнении кодирования для каждой глубины по мере того, как глубина увеличивается, вдоль вертикальной оси иерархической структуры 600. Глубина и сегмент, имеющие минимальную ошибку кодирования в блоке кодирования 610, могут быть выбраны как кодированная глубина и тип сегмента блока 610 кодирования.
Фиг. 7 представляет собой диаграмму для описания отношения между блоком 710 кодирования и блоками 720 преобразования в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 или 200 кодирует или декодирует изображение в соответствии с блоками кодирования, имеющими размеры, меньшие или равные максимальному блоку кодирования, для каждого максимального блока кодирования. Размеры блоков преобразования для преобразования частоты во время кодирования могут быть выбраны на основе блоков данных, которые не больше, чем соответствующий блок кодирования.
Например, в устройстве 100 или 200, если размер блока 710 кодирования 64х64, преобразование частоты может выполняться с использованием блоков 720 преобразования, имеющих размер 32х32.
Также данные блока 710 кодирования, имеющего размер 64х64, могут быть кодированы путем выполнения преобразования частоты в отношении каждого из блоков преобразования, имеющих размер 32х32, 16х16, 8х8 и 4х4, которые меньше, чем 64х64, и затем может быть выбран блок преобразования, имеющий наименьшую ошибку кодирования.
Фиг. 8 представляет собой диаграмму для описания информации блоков кодирования в соответствии с глубинами, в соответствии с вариантом осуществления настоящего изобретения.
Блок 130 вывода устройства 100 может кодировать и передавать информацию 800 о типе сегмента, информацию 810 о режиме предсказания и информацию 820 о размере блока преобразования для каждого блока кодирования, соответствующего кодированной глубине, как информацию о режиме кодирования.
Информация 800 отражает информацию о форме сегмента, полученного путем разделения блока предсказания текущего блока кодирования, в виде блока данных для кодирования с предсказанием в отношении текущего блока кодирования. Например, текущий блок кодирования CU_0, имеющий глубину 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 предсказания для кодирования с предсказанием в отношении блока кодирования, имеющего глубину 0 и размер 2N_0x2N_0, может включать в себя тип 912 сегмента, имеющего размер 2N_0x2N_0, тип 914 сегмента, имеющего размер 2N_0xN_0, тип 916 сегмента, имеющего размер N_0x2N_0, и тип 918 сегмента, имеющего размер N_0xN_0. Хотя типы 912, 914, 916 и 918 сегмента, в которых блоки предсказания разделяются симметрично, показаны на фиг. 9, типы сегмента этим не ограничиваются и могут иметь асимметричные, произвольные или геометрические формы, как описано выше.
Кодирование с помощью предсказания движения неоднократно выполняется в отношении одного сегмента, имеющего размер 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, 914 и 916 сегментов, имеющих размеры 2N_0x2N_0, 2N_0xN_0 и N_0x2N_0, больше нет необходимости в дальнейшем разделении до большей глубины.
Если ошибка кодирования является наименьшей в типе 918 сегмента, имеющего размер N_0xN_0, глубина меняется с 0 на 1 для разделения типа 918 сегмента при операции 920, и кодирование неоднократно выполняется в отношении блоков 930 кодирования, имеющих глубину 2 и размер N_0xN_0, чтобы найти минимальную ошибку кодирования.
Блок 940 предсказания для выполнения кодирования с предсказанием в отношении блока 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 сегмента, имеющего размер N_1xN_1, глубина изменяется с 1 на 2, чтобы разделить тип 948 сегмента при операции 950, а кодирование неоднократно выполняется в отношении блоков 960 кодирования, имеющих глубину 2 и размер N_2xN_2, чтобы найти минимальную ошибку кодирования.
Когда максимальная глубина - d, информация разделения в соответствии с каждой глубиной может быть установлена, когда глубина становится d-1, и информация разделения может быть установлена, когда глубина становится d-2. То есть когда кодирование выполняется с глубины d-2 к глубине d-1 при операции 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), в соответствии с каждым типом сегмента, чтобы найти тип сегмента, генерирующий минимальную ошибку кодирования.
Хотя ошибка кодирования типа 998 сегмента, имеющего размер N_(d-1)xN_(d-1), является наименьшей, когда максимальная глубина - d, блок CU_(d-1) кодирования, имеющий глубину d-1, больше не разделяется до большей глубины, и кодированная глубина текущего максимального блока 900 кодирования может быть определена как глубина d-1, а тип сегмента текущего максимального блока 900 кодирования может быть определен как N_(d-1)xN_(d-1). Также когда максимальная глубина - d, информация разделения о блоке 952 кодирования, имеющем глубину d-1, не устанавливается.
Блок 999 данных может именоваться «минимальным блоком» текущего максимального блока кодирования. Минимальный блок может быть квадратным блоком данных, имеющим размер, полученный путем разделения минимального блока кодирования, имеющего кодированную глубину самого нижнего уровня, на 4. Неоднократно осуществляя кодирование, устройство 100 может сравнивать ошибки кодирования в соответствии с глубинами блока 900 кодирования, выбирать глубину, которая генерирует наименьшую ошибку кодирования, определять кодированную глубину и устанавливать соответствующий тип сегмента и режим предсказания как режим кодирования кодированной глубины.
Как таковые минимальные ошибки кодирования в соответствии с глубинами глубин можно сравнить на всех глубинах 0, 1, …, d-1 и d, и глубина, имеющая самую маленькую ошибку, может быть выбрана в качестве кодированной глубины. Кодированная глубина, режим предсказания и тип сегмента блока предсказания могут быть кодироваться и передаваться как информация о режиме кодирования. Также когда блок кодирования должен быть разделен, когда глубина меняется с глубины 0 до кодированной глубины, только информация разделения кодированной глубины должна быть установлена на «0», а информация разделения в соответствии с каждой глубиной, за исключением кодированной глубины, должна быть установлена на «1».
Модуль 220 извлечения данных изображения и информации кодирования устройства 200 может извлекать и использовать информацию о блоке предсказания и кодированной глубине блока 900 кодирования, чтобы декодировать тип 912 сегмента. Устройство 200 может определять глубину, на которой информация разделения «0» как кодированная глубина с использованием информации разделения в соответствии с каждой глубиной, и может использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 10, фиг. 11 и фиг. 12 представляют собой диаграммы для описания отношения блоками 1010 кодирования, блоками 1060 предсказания и блоками 1070 преобразования частоты в соответствии с вариантом осуществления настоящего изобретения.
Блоки 1010 кодирования - это блоки кодирования, соответствующие кодированным глубинам, определенным устройством 100, в максимальном блоке кодирования 1000. Блоки 1060 предсказания - это сегменты блоков предсказания каждого из блоков 1010 кодирования, а блоки 1070 преобразования частоты - это блоки преобразования частоты каждого из блоков 1010 кодирования.
Когда глубина максимального блока кодирования равна 0 в блоках 1010 кодирования, глубины блоков 1012 и 1054 кодирования составляют 1, глубины блоков 1014, 1016, 1018, 1028, 1050 и 1052 кодирования составляют 2, глубины блоков 1020, 1022, 1024, 1026, 1030, 1032 и 1048 составляют 2 и глубины блоков 1040, 1042, 1044 и 1046 составляют 4.
В блоках 1060 предсказания некоторые сегменты 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 получаются путем разделения блоков кодирования в блоках 1010 кодирования. Другими словами, типы сегмента в сегментах 1014, 1022, 1050 и 1054 имеют размер 2NxN, типы сегмента в сегментах 1016, 1048 и 1052 имеют размер Nx2N, и тип сегмента в сегменте 1032 имеет размер NxN. Блоки предсказания и сегменты блоков 1010 кодирования меньше или равны каждому блоку кодирования.
Преобразование частоты или обратное преобразование частоты выполняется в отношении данных изображения блока 1052 кодирования в блоках 1070 преобразования частоты в блоке данных, который меньше, чем блок 1052 кодирования. Также блоки 1014, 1016, 1022, 1032, 1048, 1050 и 1052 преобразования в блоках 1070 преобразования отличаются от тех, что в блоках 1060 предсказания, по размеру и по форме. Другими словами, устройства 100 и 200 могут осуществлять внутрикадровое предсказание, оценку движения, компенсацию движения, преобразование частоты и обратное преобразование частоты индивидуально в отношении блока данных в одном и том же блоке кодирования.
Соответственно, когда оптимальный блок кодирования определяется путем выполнения кодирования рекурсивно в отношении блоков кодирования, имеющих иерархическую структуру, в каждой области для каждого максимального блока кодирования, блоки кодирования, имеющие рекурсивную древовидную структуру, могут быть получены. Информация кодирования может включать в себя информацию разделения о блоке кодирования, информацию о типе сегмента, информацию о режиме предсказания и информацию о размере блока преобразования. Таблица 1 демонстрирует информацию кодирования, которая может быть установлена устройством 100 и устройством 200.
<b>Таблица 1</b>
Информация 0 разделения
Информация 1 разделения
Режим предсказания
Тип сегмента
Размер блока преобразования
Неоднократно кодировать блоки кодирования, имеющие бóльшую глубину d+1
ВнутрикадровыйМежкадровыйПропуск(только 2Nx2N)
Асимметричный тип сегмента 2Nx2N2NxNNx2NNxN
Симметричный тип сегмента2NxnU2nxnDnLx2NnRx2N
Информация 0 разделения блока преобразования 2Nx2N
Информация 1 разделения блока преобразования NxN (симметричный тип сегмента)N/2xN/2 (асимметричный тип сегмента)
Блок 130 вывода устройства 100 может выводить информацию кодирования о блоках кодирования, имеющих древовидную структуру, и модуль 220 извлечения данных изображения и информации кодирования устройства 200 может извлекать информацию кодирования о блоках кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разделения отражает, разделяется ли текущий блок кодирования на блоки кодирования большей глубины. Когда информация разделения текущей глубины d составляет 0, когда глубина, на которой текущий блок кодирования более не разделяется на более глубинный блок кодирования, является кодированной глубиной, информация о типе сегмента, информация о режиме предсказания и информация о размере блока преобразования может быть определена для кодированной глубины. Когда текущий блок кодирования нуждается в дополнительном разделении в соответствии с информацией о разделении, кодирование должно независимо выполняться в отношении 4 разделенных блоков кодирования большей глубины.
Режим предсказания может выражаться как один из внутрикадрового режима, межкадрового режима и режима пропуска. Внутрикадровый режим и межкадровый режим могут быть определены во всех типах сегмента, и режим пропуска может быть определен только в типе сегмента, имеющего размер 2Nx2N.
Информация о типе сегмента может отражать симметричные типы сегмента, имеющего размеры 2Nx2N, 2NxN, Nx2N и NxN, полученные путем симметричного разделения высоты или ширины блока предсказания, асимметричные типы сегмента, имеющего размеры 2NxnU, 2nxnD, nLx2N и nRx2N, полученные путем асимметричного разделения высоты или ширины блока предсказания. Асимметричные типы сегмента, имеющего размеры 2NxnU и 2nxnD, соответственно получают путем разделения высоты 1:3 и 3:1, и асимметричные типы сегмента, имеющего размеры nLx2N и nRx2N, получают путем разделения ширины 1:3 и 3:1.
Размер блока преобразования может быть установлен в виде двух типов во внутрикадровом режиме и двух типов в межкадровом режиме. То есть когда информация разделения о блоке преобразования составляет 0, размер блока преобразования устанавливается как 2Nx2N, что является размером текущего блока кодирования. Когда информация разделения о блоке преобразования составляет 1, блок преобразования может быть получен путем разделения текущего блока кодирования. Также когда тип сегмента, имеющего размер, полученный путем разделения текущего блока кодирования, является асимметричным типом сегмента, размер блока преобразования может быть установлен как 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 сегмента, имеющего размер 2Nx2N, типа 1324 сегмента, имеющего размер 2NxN, типа 1326 сегмента, имеющего размер Nx2N, и типа 1328 сегмента, имеющего размер NxN, которые являются симметричными типами сегмента, когда информация разделения (индикатор, указывающий на размер TU) блока преобразования составляет 0, блок 1342 преобразования, имеющий размер 2Nx2N, может быть установлен, и когда информация разделения блока 1344 преобразования составляет 1, блок 1344 преобразования, имеющий размер NxN, может быть установлен.
Допуская, что информация о типе сегмента устанавливается в отношении одного из типов 1332 сегмента, имеющего размер 2NxnU, типа 1334 сегмента, имеющего размер 2NxnD, nLx2N (1336), и типа 1338 сегмента, имеющего размер nRx2N, когда информация разделения (индикатор, указывающий на размер TU) блока преобразования составляет 0, блок 1352 преобразования, имеющий размер 2Nx2N, может быть установлен, и когда информация разделения блока преобразования составляет 1, блок 1354 преобразования, имеющий размер N/2xN/2, может быть установлен.
Внутрикадровое предсказание, выполняемое в отношении блока преобразования модулем 410 внутрикадрового предсказания устройства 100 с фиг. 4 и модулем 550 внутрикадрового предсказания устройства 200 с фиг. 5, будет объяснено подробно.
Фиг. 14А - фиг. 14С представляют собой диаграммы, иллюстрирующие форматы изображения компонента яркости и изображения компонента цветности в соответствии с вариантами осуществления настоящего изобретения.
Каждый блок кодирования, формирующий один кадр, может выражаться путем использования одного из трех компонентов, то есть Y, Cb и Cr. Y - это данные яркости, содержащие информацию о яркости, Cb и Cr - данные цветности, содержащие информацию о цветности.
Данные цветности могут выражаться с использованием меньшего объема данных, по сравнению с данными яркости, на основе того факта, что человек обычно является более чувствительным к информации о яркости, нежели к информации о цветности. Со ссылкой на фиг. 14А один блок кодирования, имеющий формат 4:2:0, включает в себя данные 1410 яркости, имеющие размер HxW (H и W - положительные целые числа), и два элемента данных 1420 и 1430 цветности, имеющих размер (H/2)x(W/2), полученных при дискретизации компонентов цветности Cb и Cr на ¼. Со ссылкой на фиг. 14В один блок кодирования, имеющий формат 4:2:2, включает в себя данные 1410 яркости, имеющие размер HxW (H и W - положительные целые числа), и два элемента данных 1450 и 1460 цветности, имеющих размер Hx(W/2), полученных при дискретизации компонентов цветности Cb и Cr на ½ в горизонтальном направлении. Также, со ссылкой на фиг. 14С, когда один блок кодирования имеет формат 4:4:4, он включает в себя данные 1470 яркости и данные 1480 и 1490 цветности, каждые из которых имеют размер HxW без дискретизации компонентов цветности Cb и Cr, чтобы точно выразить изображение компонента цветности.
В дальнейшем допускается, что блок кодирования компонента яркости и блок кодирования компонента цветности, которые подвергаются внутрикадровому предсказанию, представляют собой один из сигналов изображения, имеющих цветовые форматы 4:2:0, 4:2:2 и 4:4:4, определенные в цветовой области YCbCr (или YUV). Средним специалистам в данной области техники следует понимать, что варианты осуществления могут применяться не только к изображению, включающему в себя компонент яркости и изображение цветности, но и изображению, включающему в себя множество различных компонентов изображения.
Фиг. 15 представляет собой таблицу, демонстрирующую количество режимов внутрикадрового предсказания в соответствии с размерами блоков кодирования компонента яркости, в соответствии с вариантом осуществления настоящего изобретения.
Количество режимов внутрикадрового предсказания, подлежащих применению к блоку кодирования компонента яркости (блоку декодирования в процессе декодирования), может быть установлено по-разному. Например, со ссылкой на фиг. 15, если размер блока кодирования компонента яркости, в отношении которого осуществляется внутрикадровое предсказание, равен NxN, количество режимов внутрикадрового предсказания, фактически реализуемых в отношении блоков кодирования компонента яркости размеров 2х2, 4х4, 8х8, 16х16, 32х32, 64х64 и 128х128, может быть соответственно установлено как 5, 9, 9, 17, 33, 5 и 5 (в примере 2). Количество режимов внутрикадрового предсказания, подлежащих фактической реализации, устанавливается по-другому в соответствии с размерами блоков кодирования компонента яркости, поскольку издержки для кодирования информации о режиме предсказания различаются в соответствии с размерами блоков кодирования компонента яркости. Другими словами, небольшой блок кодирования компонента яркости занимает небольшую часть всех данных изображения, но может требовать больших издержек для передачи дополнительной информации, такой как информация о режиме предсказания блока кодирования компонента яркости. Соответственно, если небольшой блок кодирования компонента яркости кодируется путем использования чрезмерно большого количества режимов предсказания, количество битов может быть увеличено и, таким образом, эффективность сжатия может быть снижена. Также большой блок кодирования компонента яркости, например, блок кодирования компонента яркости, равный или больший 64х64, в общем соответствует плоской области данных изображения, и, таким образом, кодирование блока кодирования большого компонента яркости путем использования чрезмерно большого количества режимов предсказания может также снизить эффективность сжатия. Соответственно, размер блока предсказания слишком велик или слишком мал по сравнению с заранее определенным размером, только меньшее количество режимов внутрикадрового предсказания может использоваться. Количество режимов внутрикадрового предсказания, используемых в соответствии с размером блока предсказания, может устанавливаться по-разному без ограничений фиг. 15. Количество блоков предсказания, используемых в соответствии с размером каждого блока предсказания с фиг. 15, может изменяться.
Фиг. 16А представляет собой таблицу, демонстрирующую режимы внутрикадрового предсказания, применяемые в отношении блока кодирования компонента яркости, имеющего заранее определенный размер, в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 15 и фиг. 16А, например, когда внутрикадровое предсказание выполняется в отношении блока кодирования компонента яркости, имеющего размер 4х4, блок кодирования компонента яркости может иметь вертикальный режим (режим 0) и горизонтальный режим (режим 1), режим постоянного тока (DC) (режим 2), диагональный нижний левый режим (режим 3), диагональный нижний правый режим (режим 4), вертикальный правый режим (режим 5), горизонтальный нижний режим (режим 6), вертикальный левый режим (режим 7) и горизонтальный верхний режим (режим 8).
Фиг. 16В иллюстрирует направления режимов внутрикадрового предсказания, показанных на фиг. 16А. На фиг. 16В числа и концы стрелок отражают режимы предсказания, соответствующие направлениям предсказания, обозначенным стрелками. Здесь режим 2 - это режим DC, не имеющий направленности и, таким образом, не показанный на фиг. 16В.
Фиг. 16С представляет собой диаграмму для описания способа выполнения внутрикадрового предсказания в отношении блока кодирования компонента яркости путем использования режимов внутрикадрового предсказания, показанных на фиг. 16А, в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 16С блок кодирования с предсказанием генерируется в соответствии с доступным режимом внутрикадрового предсказания, определенным в соответствии с размером текущего блока кодирования компонента яркости путем использования соседних пикселей А-М текущего блока кодирования компонента яркости. Например, будет описана операция выполнения кодирования с предсказанием в отношении текущего блока кодирования, имеющего размер 4х4, в соответствии с режимом 0, то есть вертикальным режимом, продемонстрированным на фиг. 16А. Первоначально значения соседних пикселей А-D на верхней стороне текущего блока кодирования предсказываются как значения пикселей текущего блока кодирования. То есть значение соседнего пикселя А предсказывается как значение четырех пикселей в первом столбце текущего блока кодирования, значение соседнего пикселя В предсказывается как значение четырех пикселей во втором столбце текущего блока кодирования, значение соседнего пикселя С предсказывается как значение четырех пикселей в третьем столбце текущего блока кодирования, а значение соседнего пикселя D предсказывается как значение четырех пикселей в четвертом столбце текущего блока кодирования. После этого значения пикселей текущего блока кодирования, предсказанные путем использования соседних пикселей А-D, вычитаются из значений пикселей оригинального текущего блока кодирования, чтобы вычислить значение ошибки, и затем значение ошибки кодируется.
Фиг. 17 представляет собой диаграмму для описания режимов внутрикадрового предсказания, применяемых в отношении блока кодирования компонента яркости, имеющего заранее определенный размер, в соответствии с другим вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 15 и фиг. 17, например, когда внутрикадровое предсказание выполняется в отношении блока кодирования, имеющего размер 2х2, блок кодирования может иметь всего пять режимов, таких как вертикальный режим, горизонтальный режим, режим DC, плоский режим и диагональный нижний правый режим.
-1
Режим внутрикадрового предсказания блока предсказания компонента яркости может включать в себя режимы внутрикадрового предсказания, которые определяют соседний опорный пиксель путем использования линии, имеющей заранее определенный наклон, относительно пикселя в блоке предсказания и используют определенный соседний опорный пиксель. Наклон может быть установлен путем использования параметров (dx, dy) (dx и dy - целые числа). Например, каждый из 33 режимов предсказания определяется как режим N (где - N целое число от 0 до 32). Режим 0 может быть установлен как вертикальный режим, режим 1 может быть установлен как горизонтальный режим, режим 2 может быть установлен как режим DC, режим 3 может быть установлен как плоский режим и каждый из режимов 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), (7,-6), (7,-4), (11,1), (6,1), (8,3), (5,3), (5,7), (2,7), (5,-7) и (4,-3) как показано в таблице 2, и использует определенный соседний опорный пиксель для предсказания.
<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 - билинейный режим.
Режим 32 может быть установлен как билинейный режим, который использует билинейную интерполяцию, что будет описано позднее со ссылкой на фиг. 19.
Фиг. 18А - фиг. 18С представляют собой опорные диаграммы для описания режимов внутрикадрового предсказания, имеющих различные направленности, в соответствии с вариантом осуществления настоящего изобретения.
-1
Как описано выше со ссылкой на таблицу 2, в каждом из режимов внутрикадрового предсказания соседний опорный пиксель может быть определен путем использования линии, имеющий наклон tan(dy/dx), определенной путем использования множества параметров (dx, dy), и предсказание может осуществляться при использовании определенного соседнего опорного пикселя.
-1
Со ссылкой на фиг. 18А соседние пиксели А и В на линии 180, которые протягивается от текущего пикселя Р в текущем блоке кодирования компонента яркости, который должен быть предсказан, под углом tan(dy/dx), определенным с помощью значения параметра (dx, dy) в соответствии с режимом, как показано в таблице 1, могут использоваться как предикторы текущего пикселя Р. В этом случае соседние пиксели А и В могут быть пикселями, которые были кодированы и восстановлены и относятся к предыдущим блокам кодирования, расположенным выше с левой стороны от текущего блока кодирования. Также, когда линия 180 не проходит через соседние пиксели в точках, каждая из которых имеет целочисленное значение, но проходит между этими соседними пикселями, соседний пиксель, который ближе к линии 180, может использоваться как предиктор текущего пикселя Р. В качестве альтернативы, взвешенное среднее значение с учетом расстояния между пересечениями линии 180 и соседних пикселей, расположенных близко к линии 180, может использоваться как предиктор текущего пикселя Р.
Фиг. 18В и 18С являются опорными диаграммами для описания процесса генерации предиктора, когда линия 180 с фиг. 18А проходит между соседними пикселями целой точки, расположенными в точках, каждая из которых имеет целочисленное значение, не проходит через соседние пиксели в точках, каждая из которых имеет целочисленное значение, в соответствии с вариантом осуществления настоящего изобретения.
-1
-1
Со ссылкой на фиг. 18В, когда линия 180, имеющая угол tan(dy/dx), определенный с помощью значения параметров (dx, dy) в соответствии с режимами, проходит между соседними пикселями А 181 и В 182 в точках, каждая из которых имеет целочисленное значение, взвешенное среднее значение с учетом расстояния между пересечениями линии 180 и соседних пикселей А 181 и В 182, расположенных близко к линии 180, может использоваться как предиктор текущего пикселя Р. Например, когда расстояние между соседним пикселем А 181 и пересечением линии 180, имеющей угол tan(dy/dx), равно f, а расстояние между соседним пикселем В 182 и пересечением равно g, предиктор текущего пикселя Р может быть получен как (A*g+B*f)/(f+g). Расстояния f и g могут быть расстояниями, нормированными целыми числами. Когда программное реализуется обеспечение или аппаратное обеспечение, предиктор текущего пикселя Р может быть получен посредством операции сдвига как (g*A+f*B+2)>>2. Как показано на фиг. 18В, когда линия 180 проходит через точку, соответствующую близости на ¼ от соседнего пикселя А 181, среди точек, полученных путем разделения пространства между соседним пикселем А 181 и соседним пикселем В 182 в точках, имеющих целочисленные значения, на 4, предиктор текущего пикселя Р может быть получен как (3*A+B)/4. Такое вычисление может выполняться посредством операции сдвига с учетом округления, как (3*A+B+2)>>2.
-1
Когда линия 180, имеющая угол tan(dy/dx), определенный с помощью значения параметров (dx, dy) в соответствии с режимами, проходит между соседними пикселями А 181 и В 182 в точках, каждая из которых имеет целочисленное значение, пространство между соседним пикселем А 181 и соседним пикселем В 182 может быть разделено на заранее определенное количество областей, и взвешенное среднее значение с учетом расстояния между пересечениями и соседним пикселем А 181 и соседним пикселем В 182 в соответствии с разделенными областями может использоваться как значение предсказания. Например, со ссылкой на фиг. 18С пространство между соседним пикселем А 181 и соседним пикселем В 182 может быть разделено на 5 областей (Р1 - Р5), репрезентативное взвешенное среднее значение с учетом расстояния между пересечениями и соседним пикселем А 181 и соседним пикселем В 182 в соответствии с областями может быть определено, и репрезентативное взвешенное среднее значение может использоваться как предиктор текущего пикселя Р. Если говорить подробнее, когда линия 180 проходит через область Р1, значение соседнего пикселя А может быть определено как предиктор текущего пикселя Р. Когда линия 180 проходит через область Р2, (3*A+1*B+2)>>2, что является взвешенным средним значением с учетом расстояния между средней точкой области Р2 и соседними пикселями А и В, которое может быть определено как предиктор текущего пикселя Р. Когда линия 180 проходит через область Р3, (2*A+2*B+2)>>2, что является взвешенным средним значением с учетом расстояния между средней точкой области Р3 и соседними пикселями А и В, которое может быть определено как предиктор текущего пикселя Р. Когда линия 180 проходит через область Р4, (1*A+3*B+2)>>2, что является взвешенным средним значением с учетом расстояния между средней точкой области Р4 и соседними пикселями А и В, которое может быть определено как предиктор текущего пикселя Р. Когда линия 180 проходит через область Р5, значение соседнего пикселя В может быть определено как предиктор текущего пикселя Р.
Также когда два соседних пикселя, то есть соседний пиксель А, расположенный над линией 180, и соседний пиксель В, расположенный слева от линии 180, встречаются с линией 180, среднее значение соседнего пикселя А и соседнего пикселя В могут использоваться как предиктор текущего пикселя. В качестве альтернативы, когда значение dx*dy является положительной величиной, соседний пиксель А может использоваться, а когда значение dx*dy является отрицательной величиной, может использоваться соседний пиксель В.
Режимы внутрикадрового предсказания, имеющие различную направленность и показанные в таблице 2, могут быть заранее установлены со стороны кодирования и стороны декодирования, и только индекс режима внутрикадрового предсказания каждого блока кодирования может передаваться.
Фиг. 19 представляет собой опорную диаграмму для описания билинейного режима в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 19 в билинейном режиме среднее геометрическое вычисляется с учетом значения текущего пикселя Р в текущем блоке кодирования компонента яркости, который должен быть предсказан, значений пикселей, расположенных на верхней, нижней, левой и правой границах текущего блока кодирования компонента яркости, и расстояний между текущим пикселем Р и верхней, нижней, левой и правой границами текущего блока кодирования компонента яркости, и среднее геометрическое затем используется как предиктор текущего пикселя Р. Например, в билинейном режиме среднее геометрическое, вычисленное с помощью виртуального пикселя А 161, виртуального пикселя В 162, пикселя D 166 и пикселя E 167, расположенных сверху, снизу, слева и справа от текущего пикселя Р, и расстояний между текущим пикселем Р и верхней, нижней, левой и правой границами текущего блока кодирования компонента яркости, используется как предиктор текущего пикселя Р. Когда билинейный режим является одним из режимов внутрикадрового предсказания, верхний и левый соседние пиксели, которые были кодированы и восстановлены, должны использоваться как опорные пиксели для предсказания. Так, значения пикселей в текущем блоке кодирования компонента яркости не используются, но значения виртуальных пикселей, вычисленные путем использования соседних пикселей, расположенных сверху и слева от текущего блока кодирования компонента яркости, применяются как пиксель А 161 и пиксель В 162. В частности, сначала значение виртуального пикселя 163 в нижней крайней правой точке текущего блока кодирования компонента яркости вычисляется путем вычисления среднего для значений соседнего пикселя (верхнего правого пикселя) 164 в верхней крайней правой точке текущего блока кодирования компонента яркости и соседнего пикселя (левого нижнего пикселя) 165 в нижней крайней левой точке текущего блока кодирования компонента яркости, как выражено в уравнении 1, представленном ниже:
[Уравнение 1]
C=0,5(НижнийПиксель + ВерхнийПиксель)
Далее значение виртуального пикселя А 161, расположенного на крайней нижней границе текущего блока кодирования компонента яркости, когда текущий пиксель Р расширяется по направлению вниз с учетом расстояния W1 между текущим пикселем Р и левой границей текущего блока кодирования компонента яркости, и расстояния W2 между текущим пикселем Р и правой границей текущего блока кодирования компонента яркости, вычисляется с помощью уравнения 2, представленного ниже:
[Уравнение 2]
A=(C*W1+ЛевыйНижнийПиксель*W2)/(W1+W2)
Подобным образом значение виртуального пикселя В 162, расположенного на крайней правой границе текущего блока кодирования компонента яркости, когда текущий пиксель Р расширяется по направлению вправо с учетом расстояния h1 между текущим пикселем Р и верхней границей текущего блока кодирования компонента яркости, и расстояния h2 между текущим пикселем Р и нижней границей текущего блока кодирования компонента яркости, вычисляется с помощью уравнения 3, представленного ниже:
[Уравнение 3]
B=(C*h1+ПравыйВерхнийПиксель*h2)/(h1+h2)
Когда значения виртуальных пикселей А 161 и В 162 определяются с использованием уравнений 1-3, среднее значений пикселей А 161, пикселя В, пикселя D 166 и пикселя Е 167 может использоваться как предиктор текущего пикселя Р. Если говорить подробно, среднее значение пикселей A+B+C+D может использоваться как предиктор текущего пикселя Р, или взвешенное среднее значение с учетом расстояния между текущим пикселем Р и виртуальными пикселями А 161, В 162, D 166 и Е 167 может использоваться как предиктор текущего изображения Р. Например, когда взвешенное среднее значение используется, предиктор текущего пикселя Р может быть получен как {(h1*A+h2*D)/(h1+h2)+(W1*B+W2*E)/(W1+W2)}/2. Такой процесс билинейного предсказания может применяться в отношении всех пикселей в текущем блоке предсказания, и значение предсказания текущего блока предсказания в соответствии с билинейным режимом предсказания может быть сгенерировано.
В соответствии с настоящим вариантом осуществления, когда кодирование с предсказанием выполняется в соответствии с режимами предсказания, по-разному установленными в соответствии с размером блока предсказания, может быть достигнуто более эффективное сжатие в соответствии с характеристиками изображения.
-1
Как было описано выше со ссылкой на фиг. 18А - фиг. 18с, когда предиктор текущего пикселя Р генерируется путем использования соседнего пикселя на линии 180 или близкого к линии 180, линия 180 фактически имеет направленность tan(dy/dx). Когда вычитание (dx/dy) используется, чтобы определить соседний пиксель с использованием линии 180, вычисление с использованием десятичной точки может быть включено, когда реализуется аппаратное или программное обеспечение, таким образом, увеличивая объем вычислений. Соответственно, когда направление предсказания для выбора соседнего пикселя, подлежащего использованию в качестве опорного пикселя, устанавливается путем использования параметров dx и dy, как в таблице 2, dx и dy должны быть установлены так, чтобы уменьшить объем вычислений.
Фиг. 20 представляет собой график для описания отношения между текущим пикселем и соседним пикселем, расположенным на линии, имеющей направленность (dx, dy) в соответствии с вариантом осуществления настоящего изобретения.
-1
Со ссылкой на фиг. 20 текущий пиксель, расположенный на (j, i) - это Р 2010, а верхний соседний пиксель и левый соседний пиксель, которые проходят через текущий пиксель Р 2010 и расположены на линии имеющей направленность, то есть наклон tan(dy/dx), - это, соответственно, А 2011 и В 2012. Предполагается, что точки расположения верхних соседних пикселей соответствуют оси Х на плоскости координат, а точки расположения левых соседних пикселей соответствуют оси y на плоскости координат. Также предполагается, что размер блока предсказания, включенного в текущий пиксель Р 2010, - nSxnS (nS - положительное целое число), местоположение каждого из пикселей блока предсказания - это одно из от (0,0) до (nS-1, nS-1), местоположение верхнего соседнего пикселя, расположенного на оси х, - (m, -1) (m - целое число), и местоположение левого соседнего пикселя, расположенного на оси y, - (-1, n) (n - целое число). Местоположение верхнего соседнего пикселя А 2011, пересекающаяся с линией, проходящей через текущий пиксель Р 2010, - это (j+i*dx/dy, -1), а местоположение левого соседнего пикселя В 2012, пересекающаяся с линией, - (-1, i+j*dy/dx). Соответственно, чтобы определить верхний соседний пиксель А 2011 или левый соседний пиксель В 2012, чтобы предсказать текущий пиксель Р 2010, вычитание, такое как dx/dy или dy/dx, является необходимым. Когда вычитание имеет высокий уровень сложности, скорость вычисления может быть снижена, когда программное или аппаратное обеспечение реализуется так, как было описано выше. Соответственно, в качестве альтернативы значение по меньшей мере одного из dx и dy, отражающих направленность режима предсказания для определения соседнего пикселя, может быть определено как экспоненциальная степень 2. То есть, когда n и m являются целыми числами, dx и dy могут быть 2^n и 2^m соответственно.
Со ссылкой на фиг. 20, когда левый соседний пиксель В 2012 используется как предиктор текущего пикселя Р 2010 и dx имеет значение 2^n, вычисление j*dy/dx, необходимое, чтобы определить (-1, i+j*dy/dx), что является точкой расположения левого соседнего пикселя В 2012, - (i*dy)/(2^n), и вычисление, включающее в себя вычитание с использованием экспоненциальной степени 2, может быть получено посредством операции сдвига как (i*dy)>>n, таким образом, уменьшая объем вычислений.
Подобным образом, когда верхний соседний пиксель 2011 используется как предиктор текущего пикселя Р 2010 и dy имеет значение 2^m, вычисление i*dx/dy, необходимое, чтобы определить (j+i*dx/dy,-1), что является точкой расположения верхнего соседнего пикселя А, может быть (i*dx)/(2^m), и вычисление, включающее в себя вычитание с использованием экспоненциальной степени 2, может быть получено с помощью (i*dx)>>m посредством операции сдвига.
Фиг. 21 представляет собой график для описания изменения соседнего пикселя, расположенного на линии, имеющей направленность (dx, dy), в соответствии с местоположением текущего пикселя, в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 21 местоположение соседнего пикселя, ссылка на которое дается в соответствии с режимом внутрикадрового предсказания, изменяется в соответствии с тем, является ли текущий пиксель, подлежащий предсказанию, пикселем Р 2110 или пикселем Q 2120. Например, когда предсказывается пиксель Р 2110, используется верхний пиксель А, а если предсказывается пиксель Q 2120, используется левый пиксель В. Когда только компонент dy в направлении y из (dx, dy), отражающих направление предсказания, имеет значение, соответствующее экспоненциальной степени 2 как 2^m, местоположение верхнего пикселя А 2111 на фиг. 21 может быть определена посредством операции сдвига без вычитания как (j+(i*dx)>>m, -1) и местоположение левого пикселя В 2121 не нуждается в вычитании и определяется как (-1, a+b*2^m/dx). Соответственно, чтобы исключить вычитание, когда предикторы всех пикселей текущего блока сгенерированы, все dx и dy могут иметь экспоненциальную степень 2.
Фиг. 22 и фиг. 23 представляют собой диаграммы для описания способа определения направления режима внутрикадрового предсказания, в соответствии с вариантом осуществления настоящего изобретения.
В общем, во многих случаях линейные образы в изображении или видеосигнале являются вертикальными или горизонтальными. Соответственно, когда режим внутрикадрового предсказания, имеющий различные направленности, определяется путем использования параметров (dx, dy), эффективность кодирования изображения может быть повышена путем определения значений dx и dy следующим образом.
Если говорить подробно, когда dy имеет фиксированное значение 2^m, абсолютное значение dx может быть установлено так, что интервал между направлениями предсказания, близкими к вертикальному направлению, является узким, и интервал между направлениями предсказания, близкими к горизонтальному направлению, является широким. Например, со ссылкой на фиг. 22, когда 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 может быть установлено так, что интервал между направлениями предсказания, близкими к горизонтальному направлению, является узким, а интервал между направлениями предсказания, близкими к вертикальному направлению, является широким. Например, со ссылкой на фиг. 23, когда 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 может быть установлено так, чтобы иметь увеличенную ширину а, когда угол относительно вертикальной оси меньше 15°, увеличенную ширину b, когда угол находится в пределах от 15° до 30°, и увеличенную ширину с, когда угол равен или больше 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, как показано в таблице 3, местоположение (-1, i+j*dy/dx) левого соседнего пикселя и местоположение (j+i*dx/dy, -1) верхнего соседнего пикселя могут быть получены путем использования только умножения и операции сдвига без вычитания. Когда вычитание с использованием dx со значением 2^n, как показано в случае, когда dx из значений (dx, dy) составляет 32, может быть заменено операцией сдвига вправо, местоположение левого соседнего пикселя может быть получено без вычитания на основе значения (i*dy)>>n. Подобным образом, когда вычитание с использованием dy со значением 2^m, как показано в случае, когда dy из значений (dx, dy) составляет 32, как показано в таблице 3, может быть заменено операцией сдвига вправо, местоположение правого соседнего пикселя может быть получено без вычитания на основе значения (i*dy)>> m.
Фиг. 24 представляет собой опорную диаграмму для описания доступного режима внутрикадрового предсказания в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 24, чтобы получить предиктор текущего пикселя, предиктор Р1, полученный посредством горизонтальной линейной интерполяции текущего пикселя, и предиктор Р2, полученный посредством вертикальной линейной интерполяции текущего пикселя, могут генерироваться и среднее значение предикторов Р1 и Р2 может использоваться как предиктор текущего пикселя. Режим внутрикадрового предсказания с фиг. 24 определяется как планарный режим. В соответствии с планарным режимом пиксели из крайнего правого столбца генерируются путем копирования крайнего правого пикселя Т 244 из пикселей одного и того же блока предсказания, которые расположены в самом верхнем столбце блока предсказания, в крайний правый столбец. Предиктор Р1 243 получают путем горизонтальной линейной интерполяции с использованием пикселей из крайнего левого столбца и крайнего правого столбца, которые расположены в той же строке, что и текущий пиксель. Как показано на фиг. 24, предиктор Р1 243 путем горизонтальной линейной интерполяции текущего пикселя, получают путем использования линейной интерполяции, например, геометрического среднего значения с учетом расстояния или среднего значения, сгенерированного пикселя Т из крайнего правого столбца путем копирования пикселя PL 242 и пикселя 244 в одном и том же блоке предсказания крайнего левого столбца, которые расположены там же, где текущий пиксель.
Подобным образом в соответствии с планарным режимом пиксели в самом нижнем столбце генерируются путем копирования пикселя L 248, который расположен в самой нижней части, из пикселей одного и того же блока предсказания, которые расположены в крайнем левом столбце блока предсказания, к пикселям самого нижнего столбца. Предиктор Р 246 получают посредством вертикальной линейной интерполяции с использованием пикселей из самой верхней строки и самой нижней строки, которые расположены в том же столбце, что и текущий пиксель. Как показано на фиг. 24, предиктор Р2 246 посредством вертикальной линейной интерполяции текущего пикселя получают посредством линейной интерполяции сгенерированного пикселя L из самой нижней строки путем копирования пикселя РТ 245 и пикселя L 248 в одном и том же блоке предсказания самой верхней строки, которые расположены в том же столбце, что и текущий пиксель. В планарном режиме среднее значение горизонтального предиктора Р 243 и вертикального предиктора Р2 246, то есть Р1+Р2>>1, определяется как финальный предиктор текущего пикселя.
Фиг. 25А и фиг. 25В представляют собой опорные диаграммы для описания режима внутрикадрового предсказания в соответствии с другим вариантом осуществления настоящего изобретения.
Существует определенная заранее корреляция, например, линейная корреляция, между соответствующими пикселями яркости и пикселями цветности. Со ссылкой на фиг. 25А и фиг. 25В, когда пиксель в точке (x, y) блока 2520 яркости, который был восстановлен прежде, - это Rec_L’(x,y), значение предсказания Pred_c(x,y) в точке (x, y) блока 2510 цветности может быть получено с помощью линейного отношения между сигналом яркости и сигналом цветности путем использования уравнения 4.
[Уравнение 4]
В уравнении 4 а - это параметр, отражающий вес, и b - параметр, отражающий сдвиг. Значения параметров а и b могут быть получены с помощью вычисления с использованием соседних пикселей 2511 и 2522 RecL’(i) блока 2520 яркости и соседних пикселей 2511 и 2512 Rec_c(i)(i=0, …, 2nS-1) блока 2510 цветности, как показано в уравнениях 5 и 6.
[Уравнение 5]
[Уравнение 6]
В уравнениях 5 и 6 I - это количество соседних пикселей, смежных с верхней стороной и левой стороной блока 2510 цветности или блока 2520 яркости. Когда размеры блока 2510 цветности и блока 2520 яркости - nSxnS, как показано на фиг. 25А и фиг. 25В, количество I равно 2nS. Хотя верхние и левые пиксели используются как соседние пиксели на фиг. 25А и фиг. 25В, если правые или нижние соседние пиксели обрабатываются и восстанавливаются до текущего блока, правые или левые соседние пиксели могут использоваться, чтобы получить значения параметров а и b. Также, чтобы заменить умножение или вычитание операцией сдвига, количество I соседних пикселей может быть экспоненциальной степенью 2. В общем, когда значение ns, которое определяет размер блока, является экспоненциальной степенью 2, количество I имеет значение экспоненциальной степени 2. Значения a’ и b’, которые изменяются посредством масштабирования или округления, чтобы снизить сложность вычислений, когда значение параметра а или b получают путем использования уравнений 5 и 6, могут использоваться вместо параметров а и b. Режимы внутрикадрового предсказания по фиг. 25А и фиг. 25В могут быть определены как режимы внутрикадрового предсказания линейной модели могут использоваться как один из режимов внутрикадрового предсказания блоков предсказания.
Как описывается выше со ссылкой на фиг. 18А - фиг. 25В, количество доступных режимов внутрикадрового предсказания не ограничено, а режим внутрикадрового предсказания, применяемый в отношении блока предсказания компонента яркости, или режим внутрикадрового предсказания, применяемый в отношении блока предсказания компонента цветности, может использоваться выборочно. Например, группа возможных вариантов режима внутрикадрового предсказания, применяемая в отношении блока предсказания компонента яркости, может включать в себя 35 режимов внутрикадрового предсказания, включающих в себя 33 режима внутрикадрового предсказания с использованием 33 (dx, dy) параметров, показанных в таблице 3, режим предсказания DC и планарный режим с фиг. 24. Группа возможных вариантов режима внутрикадрового предсказания, применяемая в отношении блока предсказания компонента цветности, устанавливается так, чтобы иметь меньшее количество режимов внутрикадрового предсказания, чем группа возможных вариантов режима внутрикадрового предсказания, применяемая в отношении блока предсказания компонента цветности. Например, группа возможных вариантов режима внутрикадрового предсказания компонента цветности может включать в себя 5 режимов внутрикадрового предсказания, то есть вертикальный режим, горизонтальный режим, режим DC, 45º-диагональный режим и режим внутрикадрового предсказания компонента яркости, который был предварительно обработан и определен. Однако количество и типы режимов внутрикадрового предсказания, применяемых в отношении блоков предсказания компонента яркости и компонента цветности, этим не ограничиваются. Также различные режимы внутрикадрового предсказания, отличные от режимов внутрикадрового предсказания, описанных со ссылкой на фиг. 18А - фиг. 25В, могут быть включены в число возможных вариантов режима внутрикадрового предсказания для внутрикадрового предсказания компонента цветности и компонента яркости.
Процесс кодирования режима внутрикадрового предсказания блока предсказания изображения будет объяснен подробно.
Фиг. 26 представляет собой блок-схему, иллюстрирующую устройство 2600 кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 27 представляет собой блок-схему последовательности операций, иллюстрирующую способ кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения. Устройство 2600 может функционировать как модуль 410 внутрикадрового предсказания устройства 400 с фиг. 4. Модуль 2630 кодирования режима внутрикадрового предсказания на фиг. 26 может быть включен в модуль 450 энтропийного кодирования с фиг. 4 вместо модуля 410 внутрикадрового предсказания.
Со ссылкой на фиг. 26 и фиг. 27 устройство 2600 включает в себя первый модуль 2610 определения режима внутрикадрового предсказания, второй модуль 2620 определения режима внутрикадрового предсказания и модуль 2630 кодирования режима внутрикадрового предсказания.
При операции 2710 первый модуль 2610 определения режима внутрикадрового предсказания определяет режим внутрикадрового предсказания, требующий минимальных затрат, из группы возможных вариантов режима внутрикадрового предсказания, включающую в себя множество режимов внутрикадрового предсказания, как режим внутрикадрового предсказания блока предсказания компонента яркости путем использования режимов внутрикадрового предсказания, применимых к блоку предсказания компонента яркости. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента яркости, включает в себя 35 режимов внутрикадрового предсказания, включающих в себя 33 режима внутрикадрового предсказания с использованием (dx, dy) параметров, режим предсказания DC и планарный режим, первый модуль 2610 определения режима внутрикадрового предсказания сравнивает затраты значений ошибки, полученных путем использования 35 режимов внутрикадрового предсказания, и определяет оптимальный режим внутрикадрового предсказания IntraMode_Luma, применимый к текущему блоку предсказания текущего компонента яркости.
При операции 2720 второй модуль 2620 определения режима внутрикадрового предсказания определяет режим внутрикадрового предсказания, требующий минимальных затрат, из группы возможных вариантов режима внутрикадрового предсказания, включающую в себя множество режимов внутрикадрового предсказания, как режим внутрикадрового предсказания блока предсказания компонента цветности путем использования режимов внутрикадрового предсказания, применимых к блоку предсказания компонента цветности. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, включает в себя 5 режимов внутрикадрового предсказания, то есть планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45°-диагональный режим, второй модуль 2620 определения режима внутрикадрового предсказания сравнивает затраты значений ошибки, полученных путем использования режимов внутрикадрового предсказания, и определяет оптимальный режим внутрикадрового предсказания IntraMode_Chroma, применимый к текущему блоку предсказания текущего компонента цветности.
Когда режим внутрикадрового предсказания компонента яркости, который был прежде обработан и определен, включается в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, количество режимов внутрикадрового предсказания компонента цветности, которые сравниваются, может быть изменено в соответствии с тем, существует ли в группе возможных вариантов режима внутрикадрового предсказания компонента цветности режим внутрикадрового предсказания компонента цветности, который является таким же, как режим внутрикадрового предсказания компонента яркости.
Также только группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, по существу включает в себя планарный режим, вертикальный режим, горизонтальный режим и режим DC, и определенный режим внутрикадрового предсказания блока предсказания компонента яркости соответствует одному из планарного режима, вертикального режима, горизонтального режима и режима DC, и группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, может быть определена путем замены режима, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, на диагональный режим. В этом случае второй модуль 2620 определения режима внутрикадрового предсказания определяет оптимальный режим внутрикадрового предсказания IntraMode_Chroma путем использования режимов внутрикадрового предсказания из группы возможных вариантов режима внутрикадрового предсказания.
Как описано выше, группа возможных вариантов режима внутрикадрового предсказания, примененная к блоку предсказания компонента цветности, может включать в себя отдельно особый режим внутрикадрового предсказания блока предсказания, который не применяется в отношении блока предсказания компонента яркости. Например, группа возможных вариантов режима внутрикадрового предсказания компонента яркости может не включать в себя режим LM, и только группа возможных вариантов режима внутрикадрового предсказания компонента цветности может включать в себя режим LM. Второй модуль 2620 определения режима внутрикадрового предсказания может определять оптимальный режим внутрикадрового предсказания IntraMode_Chroma путем применения каждого режима внутрикадрового предсказания в группе возможных вариантов режима внутрикадрового предсказания, включая режим LM, к блоку предсказания компонента цветности.
Определенный режим внутрикадрового предсказания блока предсказания компонента цветности и определенный режим внутрикадрового предсказания блока предсказания компонента яркости должны сигнализироваться к стороне декодирования. Соответственно, модуль 2630 кодирования режима внутрикадрового предсказания кодирует финальные режимы внутрикадрового предсказания, примененные к блоку предсказания компонента цветности и блоку предсказания компонента яркости. В частности, при операции 2730, когда режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, чтобы уменьшить избыточность режима внутрикадрового предсказания, включенного группу возможных вариантов режима внутрикадрового предсказания, примененную к блоку предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости. При операции 2740 модуль 2630 кодирования режима внутрикадрового предсказания кодирует режим внутрикадрового предсказания блока предсказания компонента цветности, определенный вторым модулем 2620 определения режима внутрикадрового предсказания на основе восстановленной группы возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности. Модуль 2630 кодирования режима внутрикадрового предсказания кодирует по-разному информацию о режиме внутрикадрового предсказания компонента цветности в соответствии с тем, является ли режим внутрикадрового предсказания блока предсказания компонента яркости таким же, как и режим внутрикадрового предсказания блока предсказания компонента цветности, и тем, является ли режим внутрикадрового предсказания блока предсказания компонента яркости таким же, как и один из определенных заранее режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, как и индекс, отражающий режим внутрикадрового предсказания блока предсказания компонента яркости.
Если описывать подробно, когда режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как и режим внутрикадрового предсказания блока предсказания компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания кодирует только индикатор DM, отражающий, является ли режим внутрикадрового предсказания блока предсказания компонента цветности таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, как информацию режима внутрикадрового предсказания о блоке предсказания компонента цветности. Например, когда определенный режим внутрикадрового предсказания блока предсказания компонента яркости и определенный режим внутрикадрового предсказания блока предсказания компонента цветности являются горизонтальными режимами Н, модуль 2630 кодирования режима внутрикадрового предсказания кодирует индекс и индикатор DM, отражающий режим внутрикадрового предсказания блока предсказания компонента яркости как информацию о режиме внутрикадрового предсказания.
Допуская, что режим внутрикадрового предсказания блока предсказания компонента яркости не является таким же, как режим внутрикадрового предсказания блока предсказания компонента цветности, и является таким же, как и один из определенных заранее режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, когда группа возможных вариантов режима внутрикадрового предсказания компонента цветности восстанавливается, модуль 2630 кодирования режима внутрикадрового предсказания кодирует индекс, отражающий соответствующий режим внутрикадрового предсказания в восстановленной группе возможных вариантов режима внутрикадрового предсказания, и индикатор DM.
Допуская, что режим внутрикадрового предсказания блока предсказания компонента яркости и режим внутрикадрового предсказания блока предсказания компонента цветности не являются одинаковыми и что режим внутрикадрового предсказания блока предсказания компонента яркости не является таким же, как и какой-либо из определенных заранее режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания кодирует индекс, отражающий соответствующий режим внутрикадрового предсказания в изначально установленной группе возможных вариантов режима внутрикадрового предсказания, и индикатор DM.
Если конкретный режим внутрикадрового предсказания, например, режим LM, который не применяется к блоку предсказания компонента яркости в группе возможных вариантов режима внутрикадрового предсказания, которая применяется к блоку предсказания компонента цветности, применяется только к компоненту цветности, индикатор (индикатор LM), отражающий, является ли режим внутрикадрового предсказания блока предсказания компонента цветности режимом LM, может быть включен как информация режима внутрикадрового предсказания о блоке предсказания компонента цветности. Когда режим LM включается как блок предсказания компонента цветности и режим внутрикадрового предсказания блока предсказания компонента цветности является режимом LM, модуль 2630 кодирования режима внутрикадрового предсказания кодирует только индикатор DM и индикатор LM.
Когда режим внутрикадрового предсказания блока предсказания компонента яркости и режим внутрикадрового предсказания блока предсказания компонента цветности не являются одинаковыми и режим внутрикадрового предсказания блока предсказания компонента цветности не является режимом LM, модуль 2630 кодирования режима внутрикадрового предсказания кодирует индикационную информацию, отражающую им внутрикадрового предсказания блока предсказания компонента цветности, индикатор DM и индикатор LM. В этом случае, допуская, что режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как один из определенных заранее режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, когда группа возможных вариантов режима внутрикадрового предсказания компонента цветности восстанавливается, модуль 2630 кодирования режима внутрикадрового предсказания кодирует индикатор LM, индикатор DM и индекс, отражающий соответствующий режим внутрикадрового предсказания в восстановленной группе возможных вариантов режима внутрикадрового предсказания.
Процесс кодирования режима внутрикадрового предсказания блока предсказания компонента цветности будет подробно объяснен со ссылкой на фиг. 28.
Фиг. 28 представляет собой блок-схему последовательности операций, иллюстрирующую процесс кодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 26 и фиг. 28, при операции 2810 первый модель 2610 определения режима внутрикадрового предсказания и второй модуль 3620 определения режима внутрикадрового предсказания определяют режимы внутрикадрового предсказания блока предсказания компонента цветности и блока предсказания компонента яркости путем использования множества доступных режимов внутрикадрового предсказания. Как описывается выше, допускается, что группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента яркости, включает в себя 35 режимов внутрикадрового предсказания, включающих в себя 33 режима внутрикадрового предсказания с использованием параметров (dx, dy), режим предсказания DC и планарный режим, и группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, включает в себя 5 блоков внутрикадрового предсказания, включающих в себя планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45º-диагональный режим. Как описывается выше, режим внутрикадрового предсказания, применимый в отношении компонента цветности, может включать в себя режим внутрикадрового предсказания (выведенный режим, в дальнейшем именуемый «режимом DM») компонента яркости, который прежде был обработан и определен. Режим DM является таким же, как и IntraMode_Luma. Модуль 2630 кодирования режима внутрикадрового предсказания задает определенное заранее кодовое слово каждому из 35 режимов внутрикадрового предсказания, применимых к блоку предсказания компонента яркости, и кодирует кодовое слово, соответствующее определенному заранее режиму внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости. Код Exp-Golomb (экспоненциальный код Голомба) может использоваться в качестве кодового слова.
При операции 2820 модуль 2630 кодирования режима внутрикадрового предсказания определяет, является ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости таким же, как и соответствующий режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности. Если режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является таким же, как и соответствующий режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности, способ переходит к операции 2830. При операции 2830 модуль 2630 кодирования режима внутрикадрового предсказания устанавливает на 0 индикатор DM, отражающий, является ли режим внутрикадрового предсказания блока предсказания компонента цветности таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости. Когда индикатор DM является 0, это означает, что режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как и режим внутрикадрового предсказания компонента цветности. Когда индикатор DM является 1, это означает, что режим внутрикадрового предсказания блока предсказания компонента яркости отличается от режима внутрикадрового предсказания блока предсказания компонента цветности. Значение индикатора DM может быть установлено и противоположным образом. По существу, допуская, что индикатор DM является 0, то есть когда режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как и режим внутрикадрового предсказания компонента цветности, когда только индикатор DM кодируется и передается к стороне декодирования и сторона декодирования принимает индикатор DM, имеющий значение 0, соответствующий режим внутрикадрового предсказания блока предсказания компонента цветности может быть определен исходя из режима внутрикадрового предсказания блока предсказания компонента яркости, который декодируется первым. Например, когда режимы внутрикадрового предсказания блока предсказания компонента цветности и блока предсказания компонента яркости являются горизонтальными режимами, модуль 2630 кодирования режима внутрикадрового предсказания кодирует только индикатор DM и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости.
Когда при операции 2820 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не является таким же, как и соответствующий режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания должен кодировать отдельный режим внутрикадрового предсказания, который применяется к блоку предсказания компонента цветности. При операции 2840 модуль 2630 кодирования режима внутрикадрового предсказания определяет, включен ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости в определенные заранее режимы внутрикадрового предсказания Candidate_Modes в группе возможных вариантов режима внутрикадрового предсказания компонента яркости. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, включает в себя 5 режимов внутрикадрового предсказания, включая планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45º-диагональный режим, модуль 2630 кодирования режима внутрикадрового предсказания определяет, соответствует ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости одному из этих 5 режимов внутрикадрового предсказания. В качестве альтернативы, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, по существу включает в себя планарный режим, вертикальный режим, горизонтальный режим и режим DC и использует диагональный режим вместо режима, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, только когда режим внутрикадрового предсказания блока предсказания компонента яркости соответствует одному из планарного режима, вертикального режима, горизонтального режима и режима DC, модуль 2630 кодирования режима внутрикадрового предсказания определяет, соответствует ли режим внутрикадрового предсказания блока предсказания компонента яркости одному из планарного режима, вертикального режима, горизонтального режима и режима DC.
Когда при операции 2840 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, способ переходит к операции 2850. При операции 2850 модуль 2630 кодирования режима внутрикадрового предсказания кодирует режим внутрикадрового предсказания блока предсказания компонента цветности путем использования второй группы возможных вариантов режима внутрикадрового предсказания, которая применяется к текущему компоненту, который является установленным заранее. Например, определенный заранее индекс может быть установлен заранее, как показано в таблице 6, в каждом из режимов внутрикадрового предсказания, включенных во вторую группу возможных вариантов режима внутрикадрового предсказания, которая применяется в отношении компонента цветности.
<b>Таблица 6</b>
Режим внутрикадрового предсказания компонента цветности
Кодовое слово
Планарный режим
0
Вертикальный режим
10
Горизонтальный режим
110
Режим DC
1110
Диагональный режим
1111
Когда определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, модуль 2630 кодирования режима внутрикадрового предсказания кодирует режим внутрикадрового предсказания блока предсказания компонента цветности путем использования определенного заранее индекса, как показано в таблице 6. Например, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, поскольку режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является режимом внутрикадрового предсказания, который имеет направленность с использованием (-13,32) как (dx, dy), как показано в таблице 3, модуль 2630 кодирования режима внутрикадрового предсказания кодирует режим внутрикадрового предсказания блока предсказания компонента цветности путем использования определенного заранее индекса, как показано в таблице 6. Кодовое слово, количество и типы режимов внутрикадрового предсказания компонента цветности могут меняться.
Когда при операции 2840 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, способ переходит к операции 2860. При операции 2860 модуль 2630 кодирования режима внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания, которая применяется к блоку предсказания компонента цветности, чтобы уменьшить избыточность режима внутрикадрового предсказания, включенного в группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, который является таким же, как режим внутрикадрового предсказания блока предсказания компонента яркости. Например, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является режимом DC, режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности является горизонтальным режимом и определенные заранее режимы внутрикадрового предсказания Candidate_Modes - это планарный режим, вертикальный режим, горизонтальный режим и режим DC, режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности. В этом случае, когда режим DC может быть получен из режима внутрикадрового предсказания блока предсказания компонента яркости в таблице 6, нет необходимости задавать отдельное кодовое слово. Соответственно, в соответствии с настоящим вариантом осуществления, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes блока предсказания компонента яркости, когда режим внутрикадрового предсказания, который подобен режиму внутрикадрового предсказания блока предсказания компонента яркости и включен в группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, может быть заменен режимом внутрикадрового предсказания, отличным от определенных заранее режимов внутрикадрового предсказания Candidate_Modes, или избыточный режим внутрикадрового предсказания может быть сигнализирован посредством индикатора DM, вторая группа возможных вариантов режима внутрикадрового предсказания может быть восстановлена путем удаления избыточного режима внутрикадрового предсказания компонента цветности и индекс, отражающий каждый режим внутрикадрового предсказания, может быть назначен на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания.
Если описывать подробно, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых в отношении компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания может заменить режим внутрикадрового предсказания, включенный в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, на режим внутрикадрового предсказания, не включенный в определенные заранее режимы внутрикадрового предсказания Candidate_Modes. Например, когда группа возможных вариантов режима внутрикадрового предсказания, которая применяется в отношении блока предсказания компонента цветности, по существу включает в себя планарный режим, вертикальный режим, горизонтальный режим и режим DC и определенный режим внутрикадрового предсказания блока предсказания компонента яркости соответствует одному из планарного режима, вертикального режима, горизонтального режима и режима DC, режим, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, может быть заменен на диагональный режим. Допускается, что кодовое слово задается, как показано в таблице 7, только для определенных заранее режимов внутрикадрового предсказания Candidate_Modes, то есть планарного режима, вертикального режима, горизонтального режима и режима DC, в группе возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности.
<b>Таблица 7</b>
Режим внутрикадрового предсказания компонента цветности
Кодовое слово
Планарный режим
0
Вертикальный режим
10
Горизонтальный режим
110
Режим DC
111
Когда режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, такой же, как и режим DC из числа определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых в отношении компонента цветности, режим DC заменяется на диагональный режим, и таблица 7 восстанавливается, как таблица 8.
<b>Таблица 8</b>
Режим внутрикадрового предсказания компонента цветности
Кодовое слово
Планарный режим
0
Вертикальный режим
10
Горизонтальный режим
110
Диагональный режим
111
Также, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых в отношении блока предсказания компонента цветности, модуль 2630 кодирования режима внутрикадрового предсказания может удалить избыточный режим внутрикадрового предсказания, который является избыточным в группе возможных вариантов режима внутрикадрового предсказания компонента цветности. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая в отношении блока предсказания компонента цветности, включает в себя 5 режимов внутрикадрового предсказания, включая планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45°-диагональный режим, и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является диагональным режимом, индексы, отражающие группу возможных вариантов режима внутрикадрового предсказания компонента цветности, могут удалить диагональный режим в таблице 6 и могут быть восстановлены, как показано в таблице 9. В этом случае, когда количество режимов внутрикадрового предсказания, включенных в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, уменьшается, количество битов, которое является значением индекса, отражающего каждый режим внутрикадрового предсказания, может быть уменьшено.
<b>Таблица 9</b>
Режим внутрикадрового предсказания компонента цветности
Кодовое слово
Планарный режим
0
Вертикальный режим
10
Горизонтальный режим
110
Режим DC
111
Модуль 2630 предсказания режима кодирования может уменьшить количество битов, необходимых, чтобы кодировать режим внутрикадрового предсказания, назначив кодовое слово только для (n-1) режимов внутрикадрового предсказания в группе возможных вариантов режима внутрикадрового предсказания, включающей в себя n (n - целое число) режимов внутрикадрового предсказания компонента цветности, заменив режим внутрикадрового предсказания, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, и удалив избыточное кодовое слово.
Также модуль 2630 предсказания режима кодирования может не выполнять индексации, исключая режим внутрикадрового предсказания, который является таким же, как и режим внутрикадрового предсказания компонента яркости в группе возможных вариантов режима внутрикадрового предсказания компонента цветности, который устанавливается заранее из группы возможных вариантов режима внутрикадрового предсказания.
Когда количество доступных режимов внутрикадрового предсказания в группе возможных вариантов режима внутрикадрового предсказания компонента цветности равно n (n - целое число), модуль 2630 кодирования внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания компонента цветности путем замены режима внутрикадрового предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания компонента яркости из числа (n-1) определенных заранее режимов внутрикадрового предсказания Candidate_Modes, которые устанавливаются заранее, на один оставшийся режим внутрикадрового предсказания.
В качестве альтернативы операция 2860, в которой группа возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, может быть выполнена путем исключения режима внутрикадрового предсказания компонента цветности, который является таким же, как режим внутрикадрового предсказания компонента яркости, и назначения кодового слова только для оставшихся режимов внутрикадрового предсказания. Например, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является режимом DC, режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности является горизонтальным режимом и определенные заранее режимы внутрикадрового предсказания Candidate_Modes - это вертикальный режим, горизонтальный режим, режим DC, режим DC и режим DM, режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности. В этом случае, когда отдельное кодовое слово назначается, хотя режим DC в таблице 6 может быть получен из режима внутрикадрового предсказания блока предсказания компонента яркости, количество битов, используемых, чтобы кодировать режим внутрикадрового предсказания, может быть увеличено путем назначения отдельного кодового слова для избыточного режима внутрикадрового предсказания. Соответственно, предпочтительным является, что кодовое слово назначается только для режимов внутрикадрового предсказания, отличных от режима DC. То есть модуль 2630 кодирования режима внутрикадрового предсказания может кодировать режим внутрикадрового предсказания компонента цветности, назначая кодовое слово только для 4 режимов внутрикадрового предсказания, отличных от режима DC, в таблице 9.
Возвращаясь к фиг. 28, стоит отметить, что при операции 2870 модуль 2630 кодирования режима внутрикадрового предсказания кодирует режим внутрикадрового предсказания компонента цветности путем использования восстановленной группы возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности. Когда группа возможных вариантов режима внутрикадрового предсказания компонента цветности восстановлена, модуль 2630 кодирования режима внутрикадрового предсказания кодирует кодовое слово, соответствующее режиму внутрикадрового предсказания блока предсказания компонента цветности, как информацию режима внутрикадрового предсказания о блоке предсказания компонента цветности.
Процесс декодирования режима внутрикадрового предсказания блока предсказания изображения будет объяснен подробно.
Фиг. 29 представляет собой блок-схему, иллюстрирующую устройство 2900 декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения. Фиг. 30 представляет собой блок-схему последовательности операций, иллюстрирующую способ декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения. Устройство 2900 может функционировать как модуль 550 внутрикадрового предсказания устройства 500 с фиг. 5. На фиг. 29 модуль 2910 получения режима внутрикадрового предсказания может быть включен в модуль 510 анализа или модуль 520 энтропийного декодирования с фиг. 5, вместо модуля 550 внутрикадрового предсказания.
Со ссылкой на фиг. 29 и фиг. 30 устройство 2900 включает в себя модуль 2910 получения режима внутрикадрового предсказания, первый модуль 2920 выполнения внутрикадрового предсказания и второй модуль 2920 выполнения внутрикадрового предсказания
При операции 3010 модуль 2910 получения режима внутрикадрового предсказания получает информацию режима внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, составляющего изображение, из битового потока. Также модуль 2910 получения режима внутрикадрового предсказания получает индикатор DM, отражающий, является ли режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности, соответствующий блоку предсказания компонента яркости, таким же, как и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, как информацию о режиме внутрикадрового предсказания блока предсказания компонента цветности.
При операции 3020, когда определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является таким же, как и один из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, включенных в группу возможных вариантов режима внутрикадрового предсказания, применимую к блоку предсказания компонента цветности, модуль 2910 получения режима внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания компонента цветности, чтобы уменьшить избыточность режима внутрикадрового предсказания, включенного в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости.
При операции 3030 модуль 2910 получения режима внутрикадрового предсказания определяет режим внутрикадрового предсказания блока предсказания компонента цветности путем использования индекса, отражающего один из режимов внутрикадрового предсказания, включенных в восстановленную группу возможных вариантов режима внутрикадрового предсказания компонента цветности, что получают из битового потока.
Когда модуль 2910 получения режима внутрикадрового предсказания определяет режимы внутрикадрового предсказания блока предсказания компонента цветности и блока предсказания компонента яркости, первый модуль 2920 выполнения внутрикадрового предсказания генерирует и выводит значение предсказания блока предсказания компонента яркости путем выполнения внутрикадрового предсказания в отношении блока предсказания компонента яркости, а второй модуль 2930 выполнения внутрикадрового предсказания генерирует и выводит значение предсказания блока предсказания компонента цветности путем выполнения внутрикадрового предсказания в отношении блока предсказания компонента цветности.
Фиг. 31 представляет собой блок-схему последовательности операций, иллюстрирующую процесс декодирования режима внутрикадрового предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг. 29 и фиг. 31, при операции 3110 модуль 2910 получения режима внутрикадрового предсказания получает индикатор DM, отражающий, являются ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента цветности и режим внутрикадрового предсказания блока предсказания компонента яркости таким же, что и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, из битового потока.
При операции 3120 модуль 2910 получения режима внутрикадрового предсказания определяет, является ли режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности таким же, как и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, на основе индикатора DM.
Когда при операции 3120 определяется, что значение индикатора DM составляет 0, то есть когда модуль 2910 получения режима внутрикадрового предсказания определяет, что режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности является таким же, как и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, при операции 3130, модуль 2910 получения режима внутрикадрового предсказания устанавливает режим внутрикадрового предсказания блока предсказания компонента цветности для режима внутрикадрового предсказания блока предсказания компонента яркости. По существу, когда индикатор DM является 0, то есть когда режим внутрикадрового предсказания блока предсказания компонента яркости является таким же, как и режим внутрикадрового предсказания компонента цветности, режим внутрикадрового предсказания компонента цветности может быть определен путем использования только индикатора DM.
Когда при операции 3120 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не является таким же, как соответствующий режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности, модуль 2910 получения режима внутрикадрового предсказания определяет, включен ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости в определенные заранее режимы внутрикадрового предсказания Candidate_Modes в группе возможных вариантов режима внутрикадрового предсказания, которая применяется к блоку предсказания компонента цветности. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, включает в себя 5 режимов внутрикадрового предсказания, включая планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45°-диагональный режим, модуль 2910 получения режима внутрикадрового предсказания определяет, соответствует ли режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости одному из 5 режимов внутрикадрового предсказания. В качестве альтернативы, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, по существу включает в себя планарный режим, вертикальный режим, горизонтальный режим и режим DC, и диагональный режим вместо режима, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, используется только тогда, когда режим внутрикадрового предсказания блока предсказания компонента яркости соответствует только одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, например, планарному режиму, вертикальному режиму, горизонтальному режиму и режиму DC, модуль 2910 получения режима внутрикадрового предсказания определяет, соответствует ли режим внутрикадрового предсказания блока предсказания компонента яркости одному из планарного режима, вертикального режима, горизонтального режима и режима DC. Когда при операции 3140 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости не включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, способ переходит к операции 3150. При операции 3150 модуль 2910 получения режима внутрикадрового предсказания считывает индекс из битового потока и определяет режим внутрикадрового предсказания компонента цветности, отраженный считанным индексом. Как описывается выше, определенное заранее кодовое слово может быть установлено заранее, как показано в таблице 6, для режимов внутрикадрового предсказания, которые применяются в отношении компонента цветности, и модуль 2910 получения режима внутрикадрового предсказания может считывать из битового потока кодовое слово, то есть значение индекса, и может определять режим внутрикадрового предсказания блока предсказания компонента цветности.
Когда при операции 3140 определяется, что режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes, способ переходит к операции 3160. При операции 3160 модуль 2910 получения режима внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания, которая применяется в отношении блока предсказания компонента цветности, чтобы устранить избыточность режима внутрикадрового предсказания, включенного в группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости. Как описывается выше, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является режимом DC, режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности является горизонтальным режимом и определенные заранее режимы внутрикадрового предсказания Candidate_Modes - это вертикальный режим, горизонтальный режим, режим DC, режим DC и режим DM, режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности. В этом случае, когда режим DC в таблице 6 может быть получен из режима внутрикадрового предсказания блока предсказания компонента яркости, нет необходимости назначать отдельное кодовое слово. Соответственно, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости включен в определенные заранее режимы внутрикадрового предсказания Candidate_Modes блока предсказания компонента цветности, модуль 2910 получения режима внутрикадрового предсказания может восстанавливать вторую группу возможных вариантов режима внутрикадрового предсказания путем замены режима внутрикадрового предсказания, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости и включен в группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, на режим внутрикадрового предсказания, отличный от определенных заранее режимов внутрикадрового предсказания Candidate_Modes, или удаления избыточного режима внутрикадрового предсказания компонента цветности, и может определять индекс, отражающий каждый режим внутрикадрового предсказания на основе восстановленной второй группы возможных вариантов режима внутрикадрового предсказания. Процесс восстановления группы возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности может быть таким же, как и вышеупомянутый способ восстановления, выполняемый стороной кодирования.
Если говорить подробно, когда режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности, модуль 2910 получения режима внутрикадрового предсказания может заменить режим внутрикадрового предсказания, включенный в группу возможных вариантов режима внутрикадрового предсказания компонента цветности, на режим внутрикадрового предсказания, не включенный в число определенных заранее режимов внутрикадрового предсказания Candidate_Modes. Например, когда группа возможных вариантов режима внутрикадрового предсказания, которая применяется в отношении блока предсказания компонента цветности, по существу включает в себя планарный режим, вертикальный режим, горизонтальный режим и режим DC и определенный режим внутрикадрового предсказания блока предсказания компонента яркости соответствует одному из планарного режима, вертикального режима, горизонтального режима и режима DC, режим, который является таким же, как и режим внутрикадрового предсказания блока предсказания компонента яркости, может быть заменен на диагональный режим. Допуская, что кодовое слово назначается, как показано в таблице 7, для определенных заранее режимов внутрикадрового предсказания Candidate_Modes, то есть вертикального режима, горизонтального режима, режима DC и режима DM, в группе возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, когда режим DC, который является режимом внутрикадрового предсказания блока предсказания компонента яркости, такой же, как и режим DC определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности, режим DC заменяется на диагональный режим и восстанавливается, как показано в таблице 8. Модуль 2910 получения режима внутрикадрового предсказания может определять, отражает ли индекс режима внутрикадрового предсказания, включенный в битовый поток режим внутрикадрового предсказания, используя восстановленную группу возможных вариантов режима внутрикадрового предсказания.
Также, когда режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности, модуль 2910 получения режима внутрикадрового предсказания может удалять режим внутрикадрового предсказания, который является избыточным в группе возможных вариантов режима внутрикадрового предсказания компонента цветности. Например, когда группа возможных вариантов режима внутрикадрового предсказания, применимая к блоку предсказания компонента цветности, включает в себя 5 режимов внутрикадрового предсказания, включая планарный режим, вертикальный режим, горизонтальный режим, режим DC и 45°-диагональный режим, и режим внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является диагональным режимом, индексы, отражающие группу возможных вариантов режима внутрикадрового предсказания компонента цветности, могут быть восстановлены, как показано в таблице 9, путем исключения диагонального режима в таблице 6. Модуль 2910 получения режима внутрикадрового предсказания может определять, отражает ли индекс режима внутрикадрового предсказания компонента цветности, включенного в битовый поток, каков режим внутрикадрового предсказания, используя восстановленную группу возможных вариантов режима внутрикадрового предсказания компонента цветности. Модуль 2910 получения режима кодирования может снизить количество битов, необходимых, чтобы декодировать режим внутрикадрового предсказания, назначив кодовое слово только для (n-1) режимов внутрикадрового предсказания в группе возможных вариантов режима внутрикадрового предсказания, включающей в себя n (n - целое число) режимов внутрикадрового предсказания компонента цветности, и заменив режим внутрикадрового предсказания, который является таким же, как и режим внутрикадрового предсказания компонента яркости, на один оставшийся режим внутрикадрового предсказания, чтобы удалить избыточное кодовое слово. Как описано выше, когда режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, такой же, как и режим DC из числа определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности, кодовое слово режима DC может использоваться как кодовое слово, отражающее диагональный режим. По существу, когда количество доступных режимов внутрикадрового предсказания в группе возможных вариантов режима внутрикадрового предсказания компонента цветности равно n (n - положительное целое число), модуль 2910 получения режима внутрикадрового предсказания восстанавливает группу возможных вариантов режима внутрикадрового предсказания компонента цветности, заменяя режим внутрикадрового предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания компонента яркости из числа установленных прежде (n-1) определенных заранее режимов внутрикадрового предсказания Candidate_Modes, на один оставшийся режим внутрикадрового предсказания.
В качестве альтернативы операция 3160, при которой группа возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности восстанавливается, может выполняться путем назначения кодового слова только для режимов внутрикадрового предсказания, отличных от режима внутрикадрового предсказания компонента цветности, который является таким же, как и режим внутрикадрового предсказания компонента яркости. Например, когда режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости является режимом DC, режим внутрикадрового предсказания IntraMode_Chroma блока предсказания компонента цветности является горизонтальным режимом и определенные заранее режимы внутрикадрового предсказания Candidate_Modes - это вертикальный режим, горизонтальный режим, режим DC, режим DC и режим DM, режим DC, который является режимом внутрикадрового предсказания IntraMode_Luma блока предсказания компонента яркости, соответствует одному из определенных заранее режимов внутрикадрового предсказания Candidate_Modes, применимых к компоненту цветности. В этом случае, когда режим DC в таблице 6 может быть получен из режима внутрикадрового предсказания блока предсказания компонента яркости, кодовое слово назначается только для режимов внутрикадрового предсказания, отличных от режима DC. То есть группа возможных вариантов режима внутрикадрового предсказания восстанавливается путем назначения кодового слова только для 4 оставшихся режимов внутрикадрового предсказания, отличных от режима DC, как показано в таблице 8.
Возвращаясь к фиг. 31, стоит отметить, что при операции 3170 модуль 2910 получения режима внутрикадрового предсказания декодирует режим внутрикадрового предсказания компонента цветности, используя восстановленную группу возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности и индекс, полученный из битового потока. Когда группа возможных вариантов режима внутрикадрового предсказания компонента цветности восстановлена, индекс отражает информацию (кодовое слово) о режиме внутрикадрового предсказания, который применяется к текущему блоку предсказания компонента цветности в восстановленной группе возможных вариантов режима внутрикадрового предсказания компонента цветности посредством того же процесса, что и тот, что выполняется со стороны кодирования, и модуль 2910 получения режима внутрикадрового предсказания определяет режим внутрикадрового предсказания блока предсказания компонента цветности, выбирая режим внутрикадрового предсказания, указанный индексом из группы возможных вариантов режима внутрикадрового предсказания блока предсказания компонента цветности, которая восстанавливается таким же образом, что и со стороны кодирования.
Настоящее изобретение может быть реализовано в виде машиночитаемых кодов на машиночитаемом носителе записи. Машиночитаемый носитель записи включает в себя любое запоминающее устройство, которое может накапливать данные, которые могут считываться компьютерной системой. Примеры машиночитаемого носителя записи включают в себя постоянные запоминающие устройства (ROM), оперативные запоминающие устройства (RAM), устройства CD-ROM, магнитные кассеты, флоппи-диски и оптические запоминающие устройства. Машиночитаемый носитель записи может распространяться с помощью соединенных сетью компьютерных систем так, что машиночитаемые коды хранятся и выполняются распространенным образом.
Тогда как настоящее изобретение было подробно продемонстрировано и описано со ссылкой на его примерные варианты осуществления путем использования специальных терминов, варианты осуществления и термины были использованы только для того, чтобы объяснить настоящее изобретение и не должны рассматриваться как ограничивающие объем настоящего изобретения, как определяется формулой изобретения. Примерные варианты осуществления должны рассматриваться лишь как описательные и не ограничивающие. Следовательно, объем изобретения определяется не подробным описанием изобретения, а прилагаемой формулой изобретения, и все отличия в пределах объема будут рассматриваться как включаемые в настоящее изобретение.