СПОСОБ И УСТРОЙСТВО ДЛЯ ПРЕДСКАЗАНИЯ КОМПОНЕНТЫ ЦВЕТНОСТИ ИЗОБРАЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ КОМПОНЕНТЫ ЯРКОСТИ ИЗОБРАЖЕНИЯ
METHOD AND APPARATUS FOR PREDICTING CHROMA COMPONENTS OF IMAGE USING LUMA COMPONENTS OF IMAGE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к внутреннему предсказанию изображения и, более конкретно, к способу и устройству для предсказания сигнала цветности по ранее восстановленному сигналу яркости посредством использования корреляции между сигналом яркости и сигналом цветности.
УРОВЕНЬ ТЕХНИКИ
В способе сжатия изображения, таком как стандарт экспертной группы по движущимся изображениям (MPEG)-1, MPEG-2, MPEG-4, или улучшенного кодирования видео (AVC) H.264/MPEG-4, изображение делится на блоки, имеющие предварительно определенный размер, чтобы кодировать изображение. Затем, каждый блок кодируется с предсказанием посредством использования внешнего предсказания или внутреннего предсказания.
Остаточный блок генерируется посредством вычитания блока предсказания, сгенерированного посредством внешнего предсказания или внутреннего предсказания, из исходного блока, и сгенерированный остаточный блок подвергается дискретному косинусному преобразованию, квантуется и подвергается энтропийному кодированию, чтобы генерировать битовый поток.
Альтернативно, один пиксель выражается в компоненте яркости и компоненте цветности, и, затем, компоненты яркости и цветности, каждая, кодируются и декодируются.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЦЕЛЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает способ и устройство для понижающей дискретизации блока яркости и предсказания блока цветности, соответствующего блоку яркости, посредством использования подвергнутого понижающей дискретизации блока яркости, учитывая различие размеров блоков яркости и цветности согласно цветовому формату.
СРЕДСТВО ДЛЯ ДОСТИЖЕНИЯ ТЕХНИЧЕСКОЙ ЦЕЛИ
Согласно вариантам осуществления настоящего изобретения, сигнал яркости подвергается понижающей дискретизации, и получается корреляция между подвергнутым понижающей дискретизации сигналом яркости и сигналом цветности, и сигнал цветности предсказывается посредством использования ранее восстановленного сигнала яркости.
ЭФФЕКТ ИЗОБРЕТЕНИЯ
Согласно вариантам осуществления настоящего изобретения, эффективность предсказания может улучшаться посредством использования корреляции между сигналом яркости и сигналом цветности.
Также, согласно вариантам осуществления настоящего изобретения, объем обработки, требуемый для предсказания, может уменьшаться при улучшении скорости работы посредством получения параметра для определения линейного отношения между сигналом яркости и сигналом цветности без необходимости выполнять операцию деления.
Дополнительно, согласно вариантам осуществления настоящего изобретения, переполнение, которое может генерироваться при получении параметра, может предотвращаться при сохранении точности данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является блок-схемой устройства для кодирования видео, согласно одному варианту осуществления настоящего изобретения;
Фиг. 2 является блок-схемой устройства для декодирования видео, согласно одному варианту осуществления настоящего изобретения;
Фиг. 3 является диаграммой для описания концепции блоков кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг. 4 является блок-схемой кодера изображений на основе блоков кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг. 5 является блок-схемой декодера изображений на основе блоков кодирования согласно одному варианту осуществления настоящего изобретения;
Фиг. 6 является диаграммой, иллюстрирующей более глубокие блоки кодирования согласно глубинам, и разбиения согласно одному варианту осуществления настоящего изобретения;
Фиг. 7 является диаграммой для описания отношения между блоком кодирования и блоками преобразования, согласно одному варианту осуществления настоящего изобретения;
Фиг. 8 является диаграммой для описания информации кодирования блоков кодирования, соответствующих кодированной глубине, согласно одному варианту осуществления настоящего изобретения;
Фиг. 9 является диаграммой более глубоких блоков кодирования согласно глубинам, согласно одному варианту осуществления настоящего изобретения;
Фиг. 10 по 12 являются диаграммами для описания отношения между блоками кодирования, блоками предсказания, и блоками преобразования, согласно одному варианту осуществления настоящего изобретения;
Фиг. 13 является диаграммой для описания отношения между блоком кодирования, блоком предсказания или разбиением, и блоком преобразования, согласно информации режима кодирования из Таблицы 1;
Фиг. 14 является блок-схемой устройства внутреннего предсказания согласно одному варианту осуществления настоящего изобретения;
Фиг. 15A по 15C являются ссылочными диаграммами цветового формата;
Фиг. 16A и 16B являются ссылочными диаграммами блока предсказания яркости и блока предсказания цветности согласно цветовому формату;
Фиг. 17A по 17C являются диаграммами для описания обработки выполнения понижающей дискретизации согласно местоположению пикселя яркости, согласно вариантам осуществления настоящего изобретения;
Фиг. 18A и 18B являются ссылочными диаграммами для описания обработки получения параметра, показывающего корреляцию между сигналом яркости и сигналом цветности, и обработки предсказания сигнала цветности, согласно вариантам осуществления настоящего изобретения;
Фиг. 19 является диаграммой для описания обработки получения приблизительного значения, согласно одному варианту осуществления настоящего изобретения;
Фиг. 20 является ссылочной диаграммой таблицы поиска согласно одному варианту осуществления настоящего изобретения; и
Фиг. 21 является блок-схемой последовательности операций, иллюстрирующей способ предсказания изображения компоненты цветности, согласно одному варианту осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Согласно одному аспекту настоящего изобретения, обеспечивается способ предсказания изображения компоненты цветности посредством использования изображения компоненты яркости, при этом способ содержит: понижающую дискретизацию внутренних пикселей блока предсказания яркости, который был предварительно кодирован и предварительно восстановлен, и смежных пикселей блока предсказания яркости, учитывая размер блока предсказания яркости и размер блока предсказания цветности, соответствующих друг другу, согласно цветовому формату; получение параметров, показывающих корреляцию между блоком предсказания яркости и предсказанным блоком предсказания цветности, на основе подвергнутых понижающей дискретизации смежных пикселей блока предсказания яркости и восстановленных смежных пикселей предсказанного блока предсказания цветности; и получение значения предсказания блока предсказания цветности, соответствующего подвергнутому понижающей дискретизации блоку предсказания яркости, из подвергнутого понижающей дискретизации блока предсказания яркости посредством использования полученных параметров, при этом понижающая дискретизация содержит: выбор первого местоположения пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или первого способа фильтрации пикселей яркости, для понижающей дискретизации по отношению к внутренним пикселям блока предсказания яркости; выбор второго местоположения пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или второго способа фильтрации пикселей яркости, для понижающей дискретизации по отношению к смежным верхним пикселям блока предсказания яркости; и выбор третьего местоположения пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или третьего способа фильтрации пикселей яркости, для понижающей дискретизации по отношению к смежным левым пикселям блока предсказания яркости.
Согласно другому аспекту настоящего изобретения, обеспечивается устройство для предсказания изображения компоненты цветности посредством использования изображения компоненты яркости, при этом устройство содержит: блок дискретизации для понижающей дискретизации внутренних пикселей блока предсказания яркости, который был предварительно кодирован и предварительно восстановлен, и смежных пикселей блока предсказания яркости, учитывая размер блока предсказания яркости и размер блока предсказания цветности, соответствующих друг другу, согласно цветовому формату; блок получения параметров для получения параметров, показывающих корреляцию между блоком предсказания яркости и предсказанным блоком предсказания цветности, на основе подвергнутых понижающей дискретизации смежных пикселей блока предсказания яркости и восстановленных смежных пикселей предсказанного блока предсказания цветности; и блок выполнения предсказания для получения значения предсказания блока предсказания цветности, соответствующего подвергнутому понижающей дискретизации блоку предсказания яркости, из подвергнутого понижающей дискретизации блока предсказания яркости посредством использования полученных параметров, при этом блок дискретизации выбирает первое местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или первый способ фильтрации пикселей яркости, для понижающей дискретизации по отношению к внутренним пикселям блока предсказания яркости, выбирает второе местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или второй способ фильтрации пикселей яркости, для понижающей дискретизации по отношению к смежным верхним пикселям блока предсказания яркости, и выбирает третье местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или третий способ фильтрации пикселей яркости, для понижающей дискретизации по отношению к смежным левым пикселям блока предсказания яркости.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Ниже, настоящее изобретение будет описываться более полно со ссылкой на сопровождающие чертежи, на которых показаны иллюстративные варианты осуществления изобретения.
Фиг. 1 является блок-схемой устройства 100 кодирования видео, согласно одному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео включает в себя блок 110 разделения максимального блока кодирования, блок 120 определения блока кодирования, и блок 130 вывода.
Блок 110 разделения максимального блока кодирования может разделять текущую картинку на основе максимального блока кодирования для текущей картинки изображения. Если текущая картинка является более большой, чем максимальный блок кодирования, данные изображения текущей картинки могут разделяться на упомянутый, по меньшей мере, один максимальный блок кодирования. Максимальный блок кодирования согласно одному варианту осуществления настоящего изобретения может быть блоком данных, имеющим размер 32×32, 64×64, 128×128, 256×256 и т.д., при этом форма блока данных является квадратом, имеющим ширину и длину в квадратах 2. Данные изображения могут выводиться в блок 120 определения блока кодирования согласно упомянутому, по меньшей мере, одному максимальному блоку кодирования.
Блок кодирования согласно одному варианту осуществления настоящего изобретения может характеризоваться максимальным размером и глубиной. Глубина обозначает количество того, сколько раз блок кодирования пространственно разделяют из максимального блока кодирования, и по мере того как глубина становится глубже, более глубокие блоки кодирования согласно глубинам могут разделяться из максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования является самой верхней глубиной, и глубина минимального блока кодирования является самой нижней глубиной. Так как размер блока кодирования, соответствующий каждой глубине, уменьшается по мере того, как глубина максимального блока кодирования становится глубже, блок кодирования, соответствующий более высокой глубине, может включать в себя множество блоков кодирования, соответствующих более низким глубинам.
Как описано выше, данные изображения текущей картинки разделяются на максимальные блоки кодирования согласно максимальному размеру блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубокие блоки кодирования, которые разделяются согласно глубинам. Так как максимальный блок кодирования согласно одному варианту осуществления настоящего изобретения разделяется согласно глубинам, данные изображения пространственной области, включенные в максимальный блок кодирования, могут иерархически классифицироваться согласно глубинам.
Могут предварительно определяться максимальная глубина и максимальный размер блока кодирования, которые ограничивают полное количество того, сколько раз высота и ширина максимального блока кодирования иерархическим образом разделяются.
Блок 120 определения блока кодирования кодирует, по меньшей мере, одну область разделения, полученную посредством разделения области максимального блока кодирования согласно глубинам, и определяет глубину, чтобы выводить окончательно кодированные данные изображения согласно упомянутой, по меньшей мере, одной области разделения. Другими словами, блок 120 определения блока кодирования определяет кодированную глубину посредством кодирования данных изображения в более глубоких блоках кодирования согласно глубинам, согласно максимальному блоку кодирования текущей картинки, и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодированная глубина и кодированные данные изображения согласно определенной кодированной глубине выводятся в блок 130 вывода.
Данные изображения в максимальном блоке кодирования кодируются на основе более глубоких блоков кодирования, соответствующих, по меньшей мере, одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основе каждого из более глубоких блоков кодирования. Глубина, имеющая наименьшую ошибку кодирования, может выбираться после сравнения ошибок кодирования более глубоких блоков кодирования. Для каждого максимального блока кодирования может выбираться, по меньшей мере, одна кодированная глубина.
Размер максимального блока кодирования разделяется, так как блок кодирования иерархическим образом разделяется согласно глубинам, и так как количество блоков кодирования увеличивается. Также, даже если блоки кодирования соответствуют одной и той же глубине в одном максимальном блоке кодирования, определяется, разделять ли каждый из блоков кодирования, соответствующих одной и той же глубине, на более низкую глубину, посредством измерения ошибки кодирования данных изображения каждого блока кодирования, отдельно. Соответственно, даже когда данные изображения включены в один максимальный блок кодирования, ошибки кодирования могут отличаться согласно областям в одном максимальном блоке кодирования, и, таким образом, кодированные глубины могут отличаться согласно областям в данных изображения. Таким образом, в одном максимальном блоке кодирования могут определяться одна или более кодированных глубин, и данные изображения максимального блока кодирования могут делиться согласно блокам кодирования, по меньшей мере, одной кодированной глубины.
Соответственно, блок 120 определения блока кодирования может определять блоки кодирования, имеющие древовидную структуру, включенную в максимальный блок кодирования. ′Блоки кодирования, имеющие древовидную структуру′ согласно одному варианту осуществления настоящего изобретения включают в себя блоки кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких блоков кодирования, включенных в максимальный блок кодирования. Блок кодирования кодированной глубины может иерархическим образом определяться согласно глубинам в одной и той же области максимального блока кодирования, и может независимо определяться в разных областях. Аналогично, кодированная глубина в текущей области может независимо определяться из кодированной глубины в другой области.
Максимальная глубина согласно одному варианту осуществления настоящего изобретения является индексом, относящимся к количеству раз разделений из максимального блока кодирования к минимальному блоку кодирования. Первая максимальная глубина согласно одному варианту осуществления настоящего изобретения может обозначать полное количество раз разделений из максимального блока кодирования к минимальному блоку кодирования. Вторая максимальная глубина согласно одному варианту осуществления настоящего изобретения может обозначать полное количество уровней глубины от максимального блока кодирования к минимальному блоку кодирования. Например, когда глубина максимального блока кодирования равняется 0, глубина блока кодирования, в которой максимальный блок кодирования разделяется один раз, может устанавливаться на 1, и глубина блока кодирования, в которой максимальный блок кодирования разделяется дважды, может устанавливаться на 2. Здесь, если минимальный блок кодирования является блоком кодирования, в котором максимальный блок кодирования разделяется четыре раза, существует 5 уровней глубины глубин 0, 1, 2, 3 и 4, и, таким образом, первая максимальная глубина может устанавливаться на 4, и вторая максимальная глубина может устанавливаться на 5.
Кодирование с предсказанием и преобразование могут выполняться согласно максимальному блоку кодирования. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких блоков кодирования согласно глубине, равной или глубинам, меньшим, чем максимальная глубина, согласно максимальному блоку кодирования.
Так как количество более глубоких блоков кодирования увеличивается всякий раз, когда максимальный блок кодирования разделяется согласно глубинам, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми из более глубоких блоков кодирования, генерируемых по мере того, как глубина становится глубже. Для удобства описания, теперь будут описываться кодирование с предсказанием и преобразование на основе блока кодирования текущей глубины, в максимальном блоке кодирования.
Устройство 100 кодирования видео может различным образом выбирать размер или форму блока данных для кодирования данных изображения. Чтобы кодировать данные изображения, выполняются операции, такие как кодирование с предсказанием, преобразование, и энтропийное кодирование, и в это время, для всех операций может использоваться один и тот же блок данных или для каждой операции могут использоваться разные блоки данных.
Например, устройство 100 кодирования видео может выбирать не только блок кодирования для кодирования данных изображения, но также блок данных, отличающийся от блока кодирования, так, чтобы выполнять кодирование с предсказанием над данными изображения в блоке кодирования.
Чтобы выполнять кодирование с предсказанием в максимальном блоке кодирования, кодирование с предсказанием может выполняться на основе блока кодирования, соответствующего кодированной глубине, т.е. на основе блока кодирования, который более не разделяется на блоки кодирования, соответствующие более низкой глубине. Ниже, блок кодирования, который более не разделяется и становится базовым блоком для кодирования с предсказанием, теперь будет упоминаться как ′блок предсказания′. Разбиение, полученное посредством разделения блока предсказания, может включать в себя блок предсказания или блок данных, полученный посредством разделения, по меньшей мере, одного из высоты и ширины блока предсказания.
Например, когда блок кодирования, равный 2N×2N (где N является положительным целым числом), более не разделяется и становится блоком предсказания, равным 2N×2N, и размер разбиения может быть 2N×2N, 2N×N, N×2N или N×N. Примеры типа разбиения включают в себя симметричные разбиения, которые получаются посредством симметричного разделения высоты или ширины блока предсказания, разбиения, получаемые посредством асимметричного разделения высоты или ширины блока предсказания, как, например, 1:n или n:1, разбиения, которые получаются посредством геометрического разделения блока предсказания, и разбиения, имеющие произвольные формы.
Режим предсказания блока предсказания может быть, по меньшей мере, одним из внутреннего режима, внешнего режима, и режима пропуска. Например, внутренний режим или внешний режим могут выполняться над разбиением, равным 2N×2N, 2N×N, N×2N, или N×N. Также, режим пропуска может выполняться только над разбиением, равным 2N×2N. Кодирование независимо выполняется над одним блоком предсказания в блоке кодирования, тем самым, выбирая режим предсказания, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование над данными изображения в блоке кодирования на основе не только блока кодирования для кодирования данных изображения, но также на основе блока данных, который является отличающимся от блока кодирования.
Чтобы выполнять преобразование в блоке кодирования, преобразование может выполняться на основе блока данных, имеющего размер более маленький, чем или равный блоку кодирования. Например, блок данных для преобразования может включать в себя блок данных для внутреннего режима и блок данных для внешнего режима.
Блок данных, используемый в качестве основы преобразования, теперь будет упоминаться как ′блок преобразования′. Аналогично блоку кодирования, блок преобразования в блоке кодирования может рекурсивно разделяться на области меньшего размера, так что блок преобразования может определяться независимо в единицах областей. Таким образом, остаточные данные в блоке кодирования могут делиться согласно блоку преобразования, имеющему древовидную структуру, согласно глубинам преобразования.
Глубина преобразования, показывающая количество раз разделений, чтобы достигать блок преобразования посредством разделения высоты и ширины блока кодирования, также может устанавливаться в блоке преобразования. Например, в текущем блоке кодирования, равном 2N×2N, глубина преобразования может быть 0, когда размер блока преобразования равняется 2N×2N, может быть 1, когда размер блока преобразования равняется, таким образом, N×N, и может быть 2, когда размер блока преобразования равняется, таким образом, N/2×N/2. Другими словами, блок преобразования, имеющий древовидную структуру, может устанавливаться согласно глубинам преобразования.
Информация кодирования согласно блокам кодирования, соответствующим кодированной глубине, требует не только информацию о кодированной глубине, но также об информации, относящейся к кодированию с предсказанием и преобразованию. Соответственно, блок 120 определения блока кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также определяет тип разбиения в блоке предсказания, режим предсказания согласно блокам предсказания, и размер блока преобразования для преобразования.
Блоки кодирования согласно древовидной структуре в максимальном блоке кодирования и способ определения разбиения, согласно вариантам осуществления настоящего изобретения, будут подробно описываться ниже со ссылкой на фиг. с 3 по 12.
Блок 120 определения блока кодирования может измерять ошибку кодирования более глубоких блоков кодирования согласно глубинам посредством использования оптимизации искажения скорости на основе множителей Лагранжа.
Блок 130 вывода выводит данные изображения максимального блока кодирования, которые кодированы на основе упомянутой, по меньшей мере, одной кодированной глубины, определенной посредством блока 120 определения блока кодирования, и информацию о режиме кодирования согласно кодированной глубине, в битовых потоках.
Кодированные данные изображения могут получаться посредством кодирования остаточных данных изображения.
Информация о режиме кодирования согласно кодированной глубине может включать в себя информацию о кодированной глубине, о типе разбиения в блоке предсказания, режим предсказания, и размер блока преобразования.
Информация о кодированной глубине может определяться посредством использования информации разделения согласно глубинам, которая показывает, выполняется ли кодирование над блоками кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущего блока кодирования является кодированной глубиной, данные изображения в текущем блоке кодирования кодируются и выводятся, и, таким образом, информация разделения может определяться, чтобы не разделять текущий блок кодирования до более низкой глубины. Альтернативно, если текущая глубина текущего блока кодирования не является кодированной глубиной, кодирование выполняется над блоком кодирования более низкой глубины, и, таким образом, информация разделения может определяться, чтобы разделять текущий блок кодирования, чтобы получать блоки кодирования более низкой глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется над блоком кодирования, который разделяется на блок кодирования более низкой глубины. Так как в одном блоке кодирования текущей глубины существует, по меньшей мере, один блок кодирования более низкой глубины, кодирование многократно выполняется над каждым блоком кодирования более низкой глубины, и, таким образом, кодирование может рекурсивно выполняться для блоков кодирования, имеющих одну и ту же глубину.
Так как блоки кодирования, имеющие древовидную структуру, определяются для одного максимального блока кодирования, и информация о, по меньшей мере, одном режиме кодирования определяется для блока кодирования кодированной глубины, информация о, по меньшей мере, одном режиме кодирования может определяться для одного максимального блока кодирования. Также, кодированная глубина данных изображения максимального блока кодирования может быть разной согласно местоположениям, так как данные изображения иерархическим образом разделяются согласно глубинам, и, таким образом, информация о кодированной глубине и режиме кодирования может устанавливаться для данных изображения.
Соответственно, блок 130 вывода может назначать информацию кодирования о соответствующей кодированной глубине и режиме кодирования, по меньшей мере, одному из блока кодирования, блока предсказания и минимального блока, включенных в максимальный блок кодирования.
Минимальный блок согласно одному варианту осуществления настоящего изобретения является квадратным блоком данных, получаемым посредством разделения минимального блока кодирования, составляющего самую нижнюю глубину, на 4. Альтернативно, минимальный блок может быть максимальным квадратным блоком данных, который может быть включен во все из блоков кодирования, блоков предсказания, блоков разбиения, и блоков преобразования, включенных в максимальный блок кодирования.
Например, информация кодирования, выводимая посредством блока 130 вывода, может классифицироваться на информацию кодирования согласно блокам кодирования, и информацию кодирования согласно блокам предсказания. Информация кодирования согласно блокам кодирования может включать в себя информацию о режиме предсказания и о размере разбиений. Информация кодирования согласно блокам предсказания может включать в себя информацию об оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о компоненте цветности внутреннего режима, и о способе интерполяции внутреннего режима. Также, информация о максимальном размере блока кодирования, определенного согласно картинкам, срезам, или GOP, и информация о максимальной глубине могут вставляться в заголовок битового потока.
В устройстве 100 кодирования видео, более глубокий блок кодирования может быть блоком кодирования, получаемым посредством деления высоты или ширины блока кодирования более высокой глубины, которая находится на один слой выше, на два. Другими словами, когда размер блока кодирования текущей глубины равняется 2N×2N, размер блока кодирования более низкой глубины равняется N×N. Также, блок кодирования текущей глубины, имеющий размер, равный 2N×2N, может включать в себя максимум 4 блока кодирования более низкой глубины.
Соответственно, устройство 100 кодирования видео может формировать блоки кодирования, имеющие древовидную структуру, посредством определения блоков кодирования, имеющих оптимальную форму и оптимальный размер для каждого максимального блока кодирования, на основе размера максимального блока кодирования и максимальной глубины, определенных, учитывая характеристики текущей картинки. Также, так как кодирование может выполняться над каждым максимальным блоком кодирования посредством использования любого из различных режимов предсказания и преобразований, оптимальный режим кодирования может определяться, учитывая характеристики блока кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большую величину данных, кодируется в стандартном макроблоке, количество макроблоков в расчете на картинку избыточно увеличивается. Соответственно, количество частей сжатой информации, генерируемой для каждого макроблока, увеличивается, и, таким образом, является трудным передавать сжатую информацию и эффективность сжатия данных уменьшается. Однако посредством использования устройства 100 кодирования видео, эффективность сжатия изображения может увеличиваться, так как блок кодирования регулируется, учитывая характеристики изображения, при увеличении максимального размера блока кодирования, учитывая размер изображения.
Фиг. 2 является блок-схемой устройства 200 декодирования видео, согласно одному варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео включает в себя приемник 210, блок 220 извлечения данных изображения и информации кодирования, и декодер 230 данных изображения. Определения различных признаков, таких как блок кодирования, глубина, блок предсказания, блок преобразования, и информация о различных режимах кодирования, для различных операций устройства 200 декодирования видео, являются идентичными тем, что описаны со ссылкой на фиг. 1, и устройству 100 кодирования видео.
Приемник 210 принимает и осуществляет синтаксический разбор битового потока кодированного видео. Блок 220 извлечения данных изображения и информации кодирования извлекает кодированные данные изображения для каждого блока кодирования из синтаксически разобранного битового потока, при этом блоки кодирования имеют древовидную структуру согласно каждому максимальному блоку кодирования, и выводит извлеченные данные изображения в декодер 230 данных изображения. Блок 220 извлечения данных изображения и информации кодирования может извлекать информацию о максимальном размере блока кодирования текущей картинки, из заголовка о текущей картинке.
Также, блок 220 извлечения данных изображения и информации кодирования извлекает информацию о кодированной глубине и режиме кодирования для блоков кодирования, имеющих древовидную структуру согласно каждому максимальному блоку кодирования, из синтаксически разобранного битового потока. Извлеченная информация о кодированной глубине и режиме кодирования выводится в декодер 230 данных изображения. Другими словами, данные изображения в битовом потоке разделяются на максимальный блок кодирования, так что декодер 230 данных изображения декодирует данные изображения для каждого максимального блока кодирования.
Информация о кодированной глубине и режиме кодирования согласно максимальному блоку кодирования может устанавливаться для информации о, по меньшей мере, одном блоке кодирования, соответствующем кодированной глубине, и информация о режиме кодирования может включать в себя информацию о типе разбиения соответствующего блока кодирования, соответствующего кодированной глубине, о режиме предсказания, и размере блока преобразования. Также, информация разделения согласно глубинам может извлекаться как информация о кодированной глубине.
Информация о кодированной глубине и режиме кодирования согласно каждому максимальному блоку кодирования, извлеченному посредством блока 220 извлечения данных изображения и информации кодирования, является информацией о кодированной глубине и режиме кодирования, определенной, чтобы генерировать минимальную ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждого более глубокого блока кодирования согласно глубинам согласно каждому максимальному блоку кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображения согласно кодированной глубине и режиму кодирования, который генерирует минимальную ошибку кодирования.
Так как информация кодирования о кодированной глубине и режиме кодирования может назначаться предварительно определенному блоку данных из числа соответствующего блока кодирования, блока предсказания, и минимального блока, блок 220 извлечения данных изображения и информации кодирования может извлекать информацию о кодированной глубине и режиме кодирования согласно предварительно определенным блокам данных. Если информация о кодированной глубине и режиме кодирования соответствующего максимального блока кодирования записана согласно предварительно определенным блокам данных, в отношении предварительно определенных блоков данных, которым назначена одна и та же информация о кодированной глубине и режиме кодирования, может делаться вывод, что они являются блоками данных, включенными в один и тот же максимальный блок кодирования.
Декодер 230 данных изображения восстанавливает текущую картинку посредством декодирования данных изображения в каждом максимальном блоке кодирования на основе информации о кодированной глубине и режиме кодирования согласно максимальным блокам кодирования. Другими словами, декодер 230 данных изображения может декодировать кодированные данные изображения на основе извлеченной информации о типе разбиения, режиме предсказания, и блоке преобразования для каждого блока кодирования из числа блоков кодирования, имеющих древовидную структуру, включенную в каждый максимальный блок кодирования. Обработка декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных изображения может выполнять внутреннее предсказание или компенсацию движения согласно разбиению и режиму предсказания каждого блока кодирования, на основе информации о типе разбиения и режиме предсказания блока кодирования согласно кодированным глубинам.
Также, декодер 230 данных изображения может выполнять обратное преобразование согласно каждому блоку преобразования в блоке кодирования, на основе информации о размере блока преобразования блока кодирования согласно кодированным глубинам, так, чтобы выполнять обратное преобразование согласно максимальным блокам кодирования.
Декодер 230 данных изображения может определять, по меньшей мере, одну кодированную глубину текущего максимального блока кодирования посредством использования информации разделения согласно глубинам. Если информация разделения показывает, что данные изображения более не разделяются в текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные, по меньшей мере, одного блока кодирования, соответствующего каждой кодированной глубине в текущем максимальном блоке кодирования, посредством использования информации о типе разбиения блока предсказания, режиме предсказания, и размере блока преобразования для каждого блока кодирования, соответствующего кодированной глубине.
Другими словами, блоки данных, содержащие информацию кодирования, включающую в себя одну и ту же информацию разделения, могут собираться посредством наблюдения набора информации кодирования, назначенной для предварительно определенного блока данных из числа блока кодирования, блока предсказания, и минимального блока, и собранные блоки данных могут рассматриваться как один блок данных, подлежащий декодированию посредством декодера 230 данных изображения в одном и том же режиме кодирования.
Устройство 200 декодирования видео может получать информацию о, по меньшей мере, одном блоке кодирования, который генерирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждого максимального блока кодирования, и может использовать упомянутую информацию, чтобы декодировать текущую картинку. Другими словами, блоки кодирования, имеющие древовидную структуру, определенные, чтобы быть оптимальными блоками кодирования в каждом максимальном блоке кодирования, могут декодироваться.
Соответственно, даже если данные изображения имеют высокое разрешение и большую величину данных, данные изображения могут эффективно декодироваться и восстанавливаться посредством использования размера блока кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображения, посредством использования информации об оптимальном режиме кодирования, принятом от кодера.
Теперь будет описываться способ определения блоков кодирования, имеющих древовидную структуру, блока предсказания, и блока преобразования, согласно одному варианту осуществления настоящего изобретения, со ссылкой на фиг. 3 по 13.
Фиг. 3 является диаграммой для описания концепции блоков кодирования согласно одному варианту осуществления настоящего изобретения.
Размер блока кодирования может выражаться в виде ширина × высота, и может быть 64×64, 32×32, 16×16, и 8×8. Блок кодирования 64×64 может разделяться на разбиения, равные 64×64, 64×32, 32×64, или 32×32, и блок кодирования 32×32 может разделяться на разбиения, равные 32×32, 32×16, 16×32, или 16×16, блок кодирования 16×16 может разделяться на разбиения, равные 16×16, 16×8, 8×16 или 8×8, и блок кодирования 8×8 может разделяться на разбиения, равные 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310, разрешение равняется 1920×1080, максимальный размер блока кодирования равняется 64, и максимальная глубина равняется 2. В видеоданных 320, разрешение равняется 1920×1080, максимальный размер блока кодирования равняется 64, и максимальная глубина равняется 3. В видеоданных 330, разрешение равняется 352×288, максимальный размер блока кодирования равняется 16, и максимальная глубина равняется 1. Максимальная глубина, показанная на фиг. 3, обозначает полное количество разделений от максимального блока кодирования к минимальному блоку декодирования.
Если разрешение является высоким или величина данных является большой, максимальный размер блока кодирования может быть большим с тем, чтобы не только увеличивать эффективность кодирования, но также точно отражать характеристики изображения. Соответственно, максимальный размер блока кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть 64.
Так как максимальная глубина видеоданных 310 равняется 2, блоки 315 кодирования видеоданных 310 могут включать в себя максимальный блок кодирования, имеющий размер вдоль длинной оси, равный 64, и блоки кодирования, имеющие размеры вдоль длинной оси, равные 32 и 16, так как глубины становятся глубже до двух слоев в силу разделения максимального блока кодирования дважды. Тем временем, так как максимальная глубина видеоданных 330 равняется 1, блоки 335 кодирования видеоданных 330 могут включать в себя максимальный блок кодирования, имеющий размер вдоль длинной оси, равный 16, и блоки кодирования, имеющие размер вдоль длинной оси, равный 8, так как глубины становятся глубже до одного слоя в силу разделения максимального блока кодирования один раз.
Так как максимальная глубина видеоданных 320 равняется 3, блоки 325 кодирования видеоданных 320 могут включать в себя максимальный блок кодирования, имеющий размер вдоль длинной оси, равный 64, и блоки кодирования, имеющие размеры вдоль длинной оси, равные 32, 16, и 8, так как глубины становятся глубже до 3 слоев в силу разделения максимального блока кодирования три раза. Так как глубина становится глубже, детальная информация может выражаться точно.
Фиг. 4 является блок-схемой кодера 400 изображений на основе блоков кодирования, согласно одному варианту осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции блока 120 определения блока кодирования устройства 100 кодирования видео, чтобы кодировать данные изображения. Другими словами, блок 410 внутреннего предсказания выполняет внутреннее предсказание над блоками кодирования во внутреннем режиме, из числа текущего кадра 405, и блок 420 оценки движения и блок 425 компенсации движения выполняет внешнюю оценку и компенсацию движения над блоками кодирования во внешнем режиме из числа текущего кадра 405 посредством использования текущего кадра 405, и опорного кадра 495.
Данные, выводимые из блока 410 внутреннего предсказания, блока 420 оценки движения, и блока 425 компенсации движения, выводятся как квантованный коэффициент преобразования через преобразователь 430 и блок 440 квантования. Квантованный коэффициент преобразования восстанавливается как данные в пространственной области посредством блока 460 обратного квантования и обратного преобразователя 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки посредством блока 480 удаления блочности и блока 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться как битовый поток 455 посредством энтропийного кодера 450.
Чтобы применять кодер 400 изображений в устройстве 100 кодирования видео, все элементы кодера 400 изображений, т.е. блок 410 внутреннего предсказания, блок 420 оценки движения, блок 425 компенсации движения, преобразователь 430, блок 440 квантования, энтропийный кодер 450, блок 460 обратного квантования, обратный преобразователь 470, блок 480 удаления блочности, и блок 490 контурной фильтрации выполняют операции на основе каждого блока кодирования из числа блоков кодирования, имеющих древовидную структуру, учитывая максимальную глубину каждого максимального блока кодирования.
Конкретно, блок 410 внутреннего предсказания, блок 420 оценки движения, и блок 425 компенсации движения определяет разбиения и режим предсказания каждого блока кодирования из числа блоков кодирования, имеющих древовидную структуру, учитывая максимальный размер и максимальную глубину текущего максимального блока кодирования, и преобразователь 430 определяет размер блока преобразования в каждом блоке кодирования из числа блоков кодирования, имеющих древовидную структуру.
Фиг. 5 является блок-схемой декодера 500 изображений на основе блоков кодирования, согласно одному варианту осуществления настоящего изобретения.
Блок 510 синтаксического разбора осуществляет синтаксический разбор кодированных данных изображения, подлежащих декодированию, и информации о кодировании, требуемой для декодирования, из битового потока 505. Кодированные данные изображения выводятся как обратно квантованные данные посредством энтропийного декодера 520 и блока 530 обратного квантования, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области посредством обратного преобразователя 540.
Блок 550 внутреннего предсказания выполняет внутреннее предсказание над блоками кодирования во внутреннем режиме по отношению к данным изображения в пространственной области, и блок 560 компенсации движения выполняет компенсацию движения над блоками кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые прошли через блок 550 внутреннего предсказания и блок 560 компенсации движения, могут выводиться как восстановленный кадр 595 после постобработки посредством блока 570 удаления блочности и блока 580 контурной фильтрации. Также, данные изображения, которые подверглись постобработке посредством блока 570 удаления блочности и блока 580 контурной фильтрации, могут выводиться как опорный кадр 585.
Чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после блока 510 синтаксического разбора.
Чтобы применять декодер 500 изображений в устройстве 200 декодирования видео, все элементы декодера 500 изображений, т.е. блок 510 синтаксического разбора, энтропийный декодер 520, блок 530 обратного квантования, обратный преобразователь 540, блок 550 внутреннего предсказания, блок 560 компенсации движения, блок 570 удаления блочности, и блок 580 контурной фильтрации выполняют операции на основе блоков кодирования, имеющих древовидную структуру, для каждого максимального блока кодирования.
Конкретно, внутреннее предсказание 550 и блок 560 компенсации движения выполняют операции на основе разбиений и режима предсказания для каждого из блоков кодирования, имеющих древовидную структуру, и обратный преобразователь 540 выполняют операции на основе размера блока преобразования для каждого блока кодирования.
Фиг. 6 является диаграммой, иллюстрирующей более глубокие блоки кодирования согласно глубинам, и разбиения, согласно одному варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические блоки кодирования с тем, чтобы принимать во внимание характеристики изображения. Максимальная высота, максимальная ширина, и максимальная глубина блоков кодирования могут адаптивно определяться согласно характеристикам изображения, или могут различным образом устанавливаться пользователем. Размеры более глубоких блоков кодирования согласно глубинам могут определяться согласно предварительно определенному максимальному размеру блока кодирования.
В иерархической структуре 600 блоков кодирования, согласно одному варианту осуществления настоящего изобретения, максимальная высота и максимальная ширина блоков кодирования равняются каждая 64, и максимальная глубина равняется 4. Так как глубина становится глубже вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубокого блока кодирования, каждая, разделяются. Также, блок предсказания и разбиения, которые являются основами для кодирования с предсказанием каждого более глубокого блока кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, блок 610 кодирования является максимальным блоком кодирования в иерархической структуре 600, при этом глубина равняется 0 и размер, т.е. высота на ширину, равняется 64×64. Глубина становится глубже вдоль вертикальной оси, и существуют блок 620 кодирования, имеющий размер, равный 32×32, и глубину, равную 1, блок 630 кодирования, имеющий размер, равный 16×16, и глубину, равную 2, блок 640 кодирования, имеющий размер, равный 8×8, и глубину, равную 3, и блок 650 кодирования, имеющий размер, равный 4×4, и глубину, равную 4. Блок 650 кодирования, имеющий размер, равный 4×4, и глубину, равную 4, является минимальным блоком кодирования.
Блок предсказания и разбиения блока кодирования располагаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если блок 610 кодирования, имеющий размер, равный 64×64, и глубину, равную 0, является блоком предсказания, блок предсказания может разделяться на разбиения, включенные в блок 610 кодирования, т.е. разбиение 610, имеющее размер, равный 64×64, разбиения 612, имеющие размер, равный 64×32, разбиения 614, имеющие размер, равный 32×64, или разбиения 616, имеющие размер, равный 32×32.
Аналогично, блок предсказания блока 620 кодирования, имеющего размер, равный 32×32, и глубину, равную 1, может разделяться на разбиения, включенные в блок 620 кодирования, т.е. разбиение 620, имеющее размер, равный 32×32, разбиения 622, имеющие размер, равный 32×16, разбиения 624, имеющие размер, равный 16×32, и разбиения 626, имеющие размер, равный 16×16.
Аналогично, блок предсказания блока 630 кодирования, имеющего размер, равный 16×16, и глубину, равную 2, может разделяться на разбиения, включенные в блок 630 кодирования, т.е. разбиение, имеющее размер, равный 16×16, включенное в блок 630 кодирования, разбиения 632, имеющие размер, равный 16×8, разбиения 634, имеющие размер, равный 8×16, и разбиения 636, имеющие размер, равный 8×8.
Аналогично, блок предсказания блока 640 кодирования, имеющего размер, равный 8×8, и глубину, равную 3, может разделяться на разбиения, включенные в блок 640 кодирования, т.е. разбиение, имеющее размер, равный 8×8, включенное в блок 640 кодирования, разбиения 642, имеющие размер, равный 8×4, разбиения 644, имеющие размер, равный 4×8, и разбиения 646, имеющие размер, равный 4×4.
Блок 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 кодирования, имеющий размер, равный 2N×2N, может разделяться на любое из разбиения 802, имеющего размер, равный 2N×2N, разбиения 804, имеющего размер, равный 2N×N, разбиения 806, имеющего размер, равный N×2N, и разбиения 808, имеющего размер, равный N×N. Здесь, информация 800 о типе разбиения устанавливается, чтобы показывать одно из разбиения 804, имеющего размер, равный 2N×N, разбиения 806, имеющего размер, равный N×2N, и разбиения 808, имеющего размер, равный N×N.
Информация 810 показывает режим предсказания каждого разбиения. Например, информация 810 может показывать режим кодирования с предсказанием, выполняемого над разбиением, показанным посредством информации 800, т.е. внутренний режим 812, внешний режим 814, или режим 816 пропуска.
Информация 820 показывает то, каким должен быть блок преобразования, на основе того, когда преобразование выполняется над текущим блоком кодирования. Например, блок преобразования может быть первым внутренним блоком 822 преобразования, вторым внутренним блоком 824 преобразования, первым внешним блоком 826 преобразования, или вторым внутренним блоком 828 преобразования.
Блок 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию 800, 810, и 820 для декодирования, согласно каждому более глубокому блоку кодирования.
Фиг. 9 является диаграммой более глубоких блоков кодирования согласно глубинам, согласно одному варианту осуществления настоящего изобретения.
Информация разделения может использоваться, чтобы показывать изменение глубины. Информация разделения показывает, разделяется ли блок кодирования текущей глубины на блоки кодирования более низкой глубины.
Блок 910 предсказания для кодирования с предсказанием блока 900 кодирования, имеющего глубину, равную 0, и размер 2N_0×2N_0, может включать в себя разбиения типа 912 разбиения, имеющего размер, равный 2N_0×2N_0, типа 914 разбиения, имеющего размер, равный 2N_0×N_0, типа 916 разбиения, имеющего размер, равный N_0×2N_0, и типа 918 разбиения, имеющего размер, равный N_0×N_0. Фиг. 9 иллюстрирует только типы 912 по 918 разбиения, которые получаются посредством симметричного разделения блока 910 предсказания, но тип разбиения не ограничен этим, и разбиения блока 910 предсказания могут включать в себя асимметричные разбиения, разбиения, имеющие предварительно определенную форму, и разбиения, имеющие геометрическую форму.
Кодирование с предсказанием многократно выполняется над одним разбиением, имеющим размер, равный 2N_0×2N_0, двумя разбиениями, имеющими размер, равный 2N_0×N_0, двумя разбиениями, имеющими размер, равный N_0×2N_0, и четырьмя разбиениями, имеющими размер, равный N_0×N_0, согласно каждому типу разбиения. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может выполняться над разбиениями, имеющими размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0, и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только над разбиением, имеющим размер, равный 2N_0×2N_0.
Если ошибка кодирования является наименьшей в одном из типов 912 по 916 разбиения, блок 910 предсказания может не разделяться на более низкую глубину.
Если ошибка кодирования является наименьшей в типе 918 разбиения, глубина изменяется от 0 к 1, чтобы разделять тип 918 разбиения в операции 920, и кодирование многократно выполняется над блоками 930 кодирования, имеющими глубину, равную 2, и размер N_0×N_0, чтобы осуществлять поиск минимальной ошибки кодирования.
Блок 940 предсказания для кодирования с предсказанием блока 930 кодирования, имеющего глубину, равную 1, и размер, равный 2N_1×2N_1 (=N_0×N_0), может включать в себя разбиения типа 942 разбиения, имеющего размер, равный 2N_1×2N_1, типа 944 разбиения, имеющего размер, равный 2N_1×N_1, типа 946 разбиения, имеющего размер, равный N_1×2N_1, и типа 948 разбиения, имеющего размер, равный N_1×N_1.
Если ошибка кодирования является наименьшей в типе 948 разбиения, глубина изменяется от 1 к 2, чтобы разделять тип 948 разбиения в операции 950, и кодирование многократно выполняется над блоками 960 кодирования, которые имеют глубину, равную 2, и размер, равный N_2×N_2, чтобы осуществлять поиск минимальной ошибки кодирования.
Когда максимальная глубина равняется d, операция разделения согласно каждой глубине может выполняться вплоть до того, когда глубина станет d-1, и информация разделения может кодироваться вплоть до того, когда глубина будет одной из от 0 до d-2. Другими словами, когда кодирование выполняется вплоть до того, когда глубина равняется d-1, после того, как блок кодирования, соответствующий глубине, равной d-2, разделяется в операции 970, блок 990 предсказания для кодирования с предсказанием блока 980 кодирования, имеющего глубину, равную d-1, и размер, равный 2N_(d-1)×2N_(d-1), может включать в себя разбиения типа 992 разбиения, имеющего размер, равный 2N_(d-1)×2N_(d-1), тип 994 разбиения, имеющий размер, равный 2N_(d-1)×N_(d-1), тип 996 разбиения, имеющий размер, равный N_(d-1)×2N_(d-1), и тип 998 разбиения, имеющий размер, равный N_(d-1)×N_(d-1).
Кодирование с предсказанием может многократно выполняться над одним разбиением, имеющим размер, равный 2N_(d-1)×2N_(d-1), двумя разбиениями, имеющими размер, равный 2N_(d-1)×N_(d-1), двумя разбиениями, имеющими размер, равный N_(d-1)×2N_(d-1), четырьмя разбиениями, имеющими размер, равный N_(d-1)×N_(d-1) из числа типов 992 по 998 разбиения, чтобы осуществлять поиск тип разбиения, имеющего минимальную ошибку кодирования.
Даже когда тип 998 разбиения имеет минимальную ошибку кодирования, так как максимальная глубина равняется d, блок кодирования CU_(d-1), имеющий глубину, равную d-1, более не разделяется на более низкую глубину, и кодированная глубина для блоков кодирования, составляющих текущий максимальный блок 900 кодирования, определяется, чтобы быть d-1, и тип разбиения текущего максимального блока 900 кодирования может определяться, чтобы быть N_(d-1)×N_(d-1). Также, так как максимальная глубина равняется d и минимальный блок кодирования 980, имеющий самую нижнюю глубину, равную d-1, более не разделяется до более низкой глубины, информация разделения для минимального блока кодирования 980 не устанавливается.
Блок данных 999 может быть ′минимальным блоком′ для текущего максимального блока кодирования. Минимальный блок согласно одному варианту осуществления настоящего изобретения может быть квадратным блоком данных, получаемым посредством разделения минимального блока кодирования 980 на 4. Посредством выполнения кодирования многократно, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам блока 900 кодирования, чтобы определять кодированную глубину, и устанавливать соответствующий тип разбиения и режим предсказания в качестве режима кодирования кодированной глубины.
Как таковые, минимальные ошибки кодирования согласно глубинам сравниваются во всех глубинах, равных от 1 до d, и в качестве кодированной глубины может определяться глубина, имеющая наименьшую ошибку кодирования. Кодированная глубина, тип разбиения блока предсказания, и режим предсказания могут кодироваться и передаваться в качестве информации о режиме кодирования. Также, так как блок кодирования разделяется от глубины, равной 0, до кодированной глубины, только информация разделения кодированной глубины устанавливается на 0, и информация разделения глубин, исключающих кодированную глубину, устанавливается на 1.
Блок 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию о кодированной глубине и блоке предсказания блока 900 кодирования, чтобы декодировать разбиение 912. Устройство 200 декодирования видео может определять глубину, в которой информация разделения равняется 0, в качестве кодированной глубины посредством использования информации разделения согласно глубинам, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 10 по 12 являются диаграммами для описания отношения между блоками 1010 кодирования, блоками 1060 предсказания, и блоками 1070 преобразования, согласно одному варианту осуществления настоящего изобретения.
Блоки 1010 кодирования являются блоками кодирования, имеющими древовидную структуру, соответствующими кодированным глубинам, определенным посредством устройства 100 кодирования видео, в максимальном блоке кодирования. Блоки 1060 предсказания являются разбиениями блоков предсказания каждого из блоков 1010 кодирования, и блоки 1070 преобразования являются блоками преобразования каждого из блоков 1010 кодирования.
Когда глубина максимального блока кодирования равняется 0 в блоках 1010 кодирования, глубины блоков 1012 и 1054 кодирования равняются 1, глубины блоков 1014, 1016, 1018, 1028, 1050, и 1052 кодирования равняются 2, глубины блоков 1020, 1022, 1024, 1026, 1030, 1032, и 1048 кодирования равняются 3, и глубины блоков 1040, 1042, 1044, и 1046 кодирования равняются 4.
В блоках 1060 предсказания, некоторые блоки 1014, 1016, 1022, 1032, 1048, 1050, 1052, и 1054 кодирования получаются посредством разделения блоков кодирования в блоках 1010 кодирования. Другими словами, типы разбиения в блоках 1014, 1022, 1050, и 1054 кодирования имеют размер, равный 2N×N, типы разбиения в блоках 1016, 1048, и 1052 кодирования имеют размер, равный N×2N, и тип разбиения блока 1032 кодирования имеет размер, равный N×N. Блоки предсказания и разбиения блоков 1010 кодирования являются более маленькими, чем или равными каждому блоку кодирования.
Преобразование или обратное преобразование выполняется над данными изображения блока 1052 кодирования в блоках 1070 преобразования в блоке данных, который является более маленьким, чем блок 1052 кодирования. Также, блоки 1014, 1016, 1022, 1032, 1048, 1050, и 1052 кодирования в блоках 1070 преобразования отличаются от блоков в блоках 1060 предсказания в размерах и формах. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование, и обратное преобразование индивидуально над блоком данных в одном и том же блоке кодирования.
Соответственно, кодирование рекурсивно выполняется над каждым из блоков кодирования, имеющих иерархическую структуру, в каждой области максимального блока кодирования, чтобы определять оптимальный блок кодирования, и, таким образом, могут получаться блоки кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разделения о блоке кодирования, информацию о типе разбиения, информацию о режиме предсказания, и информацию о размере блока преобразования. Таблица 1 показывает информацию кодирования, которая может устанавливаться посредством устройств 100 и 200 кодирования и декодирования видео.
Таблица 1
Информация 0 разделения(Кодирование над блоком кодирования, имеющим размер, равный 2N×2N, и текущую глубину, равную d)
Информация 1 разделения
Режим предсказания
Тип разбиения
Размер блока преобразования
Многократное кодирование блоков кодирования, имеющих более низкую глубину, равную d+1
Внутренний режимВнешний режимРежим пропуска (только)
Тип симметричного разбиения
Тип асимметричного разбиения
Информация 0 разделения блока преобразования
Информация 1 разделения блока преобразования
2N×2N)
2N×2N2N×NN×2NN×N
2N×nU2N×nDnL×2NnR×2N
2N×2N
N×N (Симметрич-ный тип)N/2×N/2 (Асимметрич-ный тип)
Блок 130 вывода устройства 100 кодирования видео может выводить информацию кодирования о блоках кодирования, имеющих древовидную структуру, и блок 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео может извлекать информацию кодирования о блоках кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разделения показывает, разделяется ли текущий блок кодирования на блоки кодирования более низкой глубины. Если информация разделения текущей глубины d равняется 0, глубина, в которой текущий блок кодирования более не разделяется на более низкую глубину, является кодированной глубиной, и, таким образом, информация о типе разбиения, режим предсказания, и размер блока преобразования могут определяться для кодированной глубины. Если текущий блок кодирования дополнительно разделяется согласно информации разделения, кодирование независимо выполняется над четырьмя разделенными блоками кодирования более низкой глубины.
Режим предсказания может быть одним из внутреннего режима, внешнего режима, и режима пропуска. Внутренний режим и внешний режим могут определяться во всех типах разбиения, и режим пропуска определяется только в типе разбиения, имеющем размер, равный 2N×2N.
Информация о типе разбиения может показывать типы симметричного разбиения, имеющие размеры 2N×2N, 2N×N, N×2N, и N×N, которые получаются посредством симметричного разделения высоты или ширины блока предсказания, и типы асимметричного разбиения, имеющие размеры 2N×nU, 2N×nD, nL×2N, и nR×2N, которые получаются посредством асимметричного разделения высоты или ширины блока предсказания. Типы асимметричного разбиения, имеющие размеры, равные 2N×nU и 2N×nD, могут соответственно получаться посредством разделения высоты блока предсказания в 1:3 и 3:1, и типы асимметричного разбиения, имеющие размеры, равные nL×2N и nR×2N, могут соответственно получаться посредством разделения ширины блока предсказания в 1:3 и 3:1.
Размер блока преобразования может устанавливаться на два типа во внутреннем режиме и два типа во внешнем режиме. Другими словами, если информация разделения блока преобразования равняется 0, размер блока преобразования может быть 2N×2N, который является размером текущего блока кодирования. Если информация разделения блока преобразования равняется 1, блоки преобразования могут получаться посредством разделения текущего блока кодирования. Также, если тип разбиения текущего блока кодирования, имеющего размер, равный 2N×2N, является типом симметричного разбиения, размер блока преобразования может быть N×N, и если тип разбиения текущего блока кодирования является типом асимметричного разбиения, размер блока преобразования может быть N/2×N/2.
Информация кодирования о блоках кодирования, имеющих древовидную структуру, могут включать в себя, по меньшей мере, один из блока кодирования, соответствующего кодированной глубине, блока предсказания, и минимального блока. Блок кодирования, соответствующий кодированной глубине, может включать в себя, по меньшей мере, один из блока предсказания и минимального блока, содержащего такую же информацию кодирования.
Соответственно, определяется, включены ли смежные блоки данных в тот же блок кодирования, соответствующий кодированной глубине, посредством сравнения информации кодирования смежных блоков данных. Также, соответствующий блок кодирования, соответствующий кодированной глубине, определяется посредством использования информации кодирования блока данных, и, таким образом, может определяться распределение кодированных глубин в максимальном блоке кодирования.
Соответственно, если текущий блок кодирования предсказывается на основе информации кодирования смежных блоков данных, информация кодирования блоков данных в более глубоких блоках кодирования, смежных с текущим блоком кодирования, может напрямую указываться и использоваться.
Альтернативно, если текущий блок кодирования предсказывается на основе информации кодирования смежных блоков данных, осуществляется поиск блоков данных, смежных с текущим блоком кодирования, с использованием кодированной информации блоков данных, и найденные смежные блоки кодирования могут указываться для предсказания текущего блока кодирования.
Фиг. 13 является диаграммой для описания отношения между блоком кодирования, блоком предсказания или разбиением, и блоком преобразования, согласно информации режима кодирования из Таблицы 1.
Максимальный блок 1300 кодирования включает в себя блоки 1302, 1304, 1306, 1312, 1314, 1316, и 1318 кодирования кодированных глубин. Здесь, так как блок 1318 кодирования является блоком кодирования кодированной глубины, информация разделения может устанавливаться на 0. Информация о типе разбиения блока 1318 кодирования, имеющего размер, равный 2N×2N, может устанавливаться на один из типа 1322 разбиения, имеющего размер, равный 2N×2N, типа 1324 разбиения, имеющего размер, равный 2N×N, типа 1326 разбиения, имеющего размер, равный N×2N, типа 1328 разбиения, имеющего размер, равный N×N, типа 1332 разбиения, имеющего размер, равный 2N×nU, типа 1334 разбиения, имеющего размер, равный 2N×nD, типа 1336 разбиения, имеющего размер, равный nL×2N, и типа 1338 разбиения, имеющего размер, равный nR×2N.
Когда тип разбиения устанавливается на симметричный, т.е. тип 1322, 1324, 1326, или 1328 разбиения, устанавливается блок 1342 преобразования, имеющий размер, равный 2N×2N, если информация разделения (флаг размера TU) блока преобразования равняется 0, и устанавливается блок 1344 преобразования, имеющий размер, равный N×N, если флаг размера TU равняется 1.
Когда тип разбиения устанавливается на асимметричный, т.е. тип 1332, 1334, 1336, или 1338 разбиения, устанавливается блок 1352 преобразования, имеющий размер, равный 2N×2N, если флаг размера TU равняется 0, и устанавливается блок 1354 преобразования, имеющий размер, равный N/2×N/2, если флаг размера TU равняется 1.
Ниже, будут подробно описываться операции предсказания, выполняемые посредством кодера 400 изображений из фиг. 4 и декодера 500 изображений из фиг. 5. Обработка предсказания блока предсказания компоненты цветности по блоку предсказания компоненты яркости, согласно одному варианту осуществления настоящего изобретения, может выполняться посредством блока 410 внутреннего предсказания из фиг. 4 и блока 550 внутреннего предсказания из фиг. 5 в новом режиме внутреннего предсказания. Предсказание режима внутреннего предсказания блока предсказания компоненты цветности по блоку предсказания компоненты яркости может упоминаться как режим Intra_FromLuma.
В общем, цветной видеосигнал требует, по меньшей мере, три цветовых компоненты на пиксель, чтобы выражать цвет. Цветовое пространство включает в себя различные типы, такие как цветовое пространство RGB, где каждая выборка цветного видеосигнала показывается посредством трех пиксельных значений, показывающих относительные отношения красного, зеленого, и синего, и цветовое пространство YCbCr и цветовое пространство YUV, где компонента яркости и компонента цветности являются отдельными друг от друга в цветном видеосигнале, учитывая, что человеческая зрительная система (HVS) является более чувствительной к компоненте яркости, чем к компоненте цветности. Общие способы кодирования/декодирования видео кодируют и декодируют видеосигнал посредством деления видеосигнала на множество цветовых компонент. В таком видеосигнале, включающем в себя множество цветовых компонент, равномерная корреляция может существовать между цветовыми компонентами, выражающими один и тот же пиксель. Например, значение компоненты яркости (Y) и значения компонент цветности (Cb и Cr) пикселей в одном и том же блоке могут иметь аналогичные шаблоны.
Соответственно, устройство предсказания согласно одному варианту осуществления настоящего изобретения получает параметры, показывающие линейную корреляцию между сигналом яркости и сигналом цветности, посредством использования кодированных и восстановленных смежных пикселей яркости и восстановленных смежных пикселей цветности перед тем, как выполняется обработка текущего блока предсказания цветности, и генерирует значение предсказания текущего блока предсказания цветности по ранее кодированному и восстановленному смежному блоку пикселей яркости посредством использования полученных параметров. Согласно одному варианту осуществления настоящего изобретения, учитывая различие размеров между блоком предсказания яркости и блоком предсказания цветности согласно цветовому формату, разные способы понижающей дискретизации применяются к внутренним пикселям, смежным верхним пикселям, и смежным левым пикселям блока предсказания яркости, чтобы дискретизировать пиксель яркости, соответствующий пикселю цветности. Один вариант осуществления настоящего изобретения обеспечивает способ эффективного получения параметра, показывающего линейную корреляцию между сигналом яркости и сигналом цветности, посредством предотвращения операции деления, которая является нагрузкой для аппаратного обеспечения, и только с помощью использования операций сдвига, умножения, сложения, вычитания и осуществления доступа к таблице поиска. Также, один вариант осуществления настоящего изобретения обеспечивает способ уменьшения объема обработки посредством предварительного сохранения значений, требуемых при получении параметров, в таблице поиска и получения параметров посредством указания на таблицу поиска. Ниже, пиксель соответствующей компоненты цветности предсказывается по пикселю компоненты яркости, но специалисту в данной области техники должно быть очевидно, что варианты осуществления настоящего изобретения могут применяться к другим цветовым пространствам, таким как цветовое пространство RGB, вместо цветового пространства YCbCr.
Фиг. 14 является блок-схемой устройства 1400 внутреннего предсказания согласно одному варианту осуществления настоящего изобретения.
Как показано на фиг. 14, устройство 1400 внутреннего предсказания включает в себя блок 1410 дискретизации, блок 1420 получения параметров, и блок 1430 выполнения предсказания.
Когда размер блока предсказания яркости больше, чем размер блока предсказания цветности, блок 1410 дискретизации подвергает понижающей дискретизации сигнал яркости, так что размер блока предсказания яркости и размер блока предсказания цветности являются одинаковыми в силу понижающей дискретизации пикселей и смежных пикселей восстановленного блока предсказания яркости. Обработка понижающей дискретизации сигнала яркости будет подробно описываться ниже. Ниже, пиксель компоненты яркости упоминается как пиксель яркости и пиксель компоненты цветности упоминается как пиксель цветности.
Блок 1420 получения параметров получает параметры, показывающие корреляцию между блоком предсказания цветности и блоком предсказания яркости, на основе восстановленных смежных пикселей блока предсказания цветности и восстановленных смежных пикселей блока предсказания яркости, соответствующих блоку предсказания цветности. Конкретно, блок 1410 получения параметров выполняет операцию масштабирования для изменения битовой глубины таким образом, чтобы предотвращать переполнение, генерируемое при вычислении размера таблицы поиска и при получении параметров. Подробные операции блока 1410 получения параметров будут описываться ниже.
Блок 1430 выполнения предсказания предсказывает соответствующий пиксель цветности по восстановленному пикселю яркости посредством использования полученных параметров.
Фиг. 15A по 15C являются ссылочными диаграммами цветового формата, включающего в себя множество цветовых компонент, и фиг. 16A и 16B являются ссылочными диаграммами блока предсказания яркости и блока предсказания цветности согласно цветовому формату.
Каждое число в цветовом формате 4:2:0, цветовом формате 4:2:2, и цветовом формате 4:4:4 соответственно из фиг. 15A по 15C показывает относительное отношение дискретизации в горизонтальном направлении. Например, в цветовом формате 4:4:4, четыре пикселя цветности Cb и четыре пикселя цветности Cr существуют по отношению к четырем пикселям 1530 яркости Y. Как показано на фиг. 16A, когда размер блока предсказания яркости Y равняется 2N×2M в цветовом формате 4:4:4, где N и M являются целыми числами, блоки предсказания цветности Cb и Cr, соответствующие блоку предсказания яркости Y, также имеют размер, равный 2N×2M. В цветовом формате 4:2:2, компоненты цветности Cb и Cr имеют такое же разрешение, что и компонента яркости Y в вертикальном направлении, но имеют половину разрешения компоненты яркости Y в горизонтальном направлении. Другими словами, в цветовом формате 4:2:2, существуют два пикселя цветности Cb и два пикселя цветности Cr на четыре пикселя 1510 яркости Y в горизонтальном направлении. Также, в цветовом формате 4:2:0, компоненты цветности Cb и Cr имеют половину разрешения от компоненты яркости Y в горизонтальном и вертикальном направлениях. Другими словами, компоненты цветности Cb и Cr имеют 1/4 пикселей по сравнению с количеством пикселей компоненты яркости Y, и как показано на фиг. 16B, соответствующие блоки предсказания цветности Cb и Cr имеют размер, равный N×M, который является 1/2 разрешения в горизонтальном и вертикальном направлениях, по сравнению с блоком предсказания яркости Y, имеющим размер, равный 2N×2M, в цветовом формате 4:2:0.
Соответственно, когда блок предсказания яркости больше, чем блок предсказания цветности как в цветовом формате 4:2:2 или 4:2:0, блок 1410 дискретизации подвергает понижающей дискретизации восстановленный блок предсказания яркости и смежные пиксели восстановленного блока предсказания яркости, так что сигнал яркости и сигнал цветности соответствуют 1:1.
Конкретно, блок 1410 дискретизации согласно одному варианту осуществления настоящего изобретения выполняет понижающую дискретизацию посредством применения независимого способа понижающей дискретизации над внутренними пикселями блока предсказания яркости, смежными верхними пикселями блока предсказания яркости, и смежными левыми пикселями блока предсказания яркости, соответственно. Примеры способа понижающей дискретизации включают в себя способ выбора одного пикселя из группы пикселей яркости, имеющей предварительно определенный размер, например, группы пикселей яркости 2×2, и способ независимого определения направления фильтрации (горизонтального или вертикального направления), количества выводов фильтра, и коэффициента фильтра для пикселей яркости в предварительно определенной группе пикселей яркости и выполнения фильтрации, чтобы выбирать один фильтрованный пиксель яркости в качестве подвергнутого понижающей дискретизации пикселя. Как таковой, блок 1410 дискретизации подвергает понижающей дискретизации пиксель яркости таким образом, чтобы соответствовать пикселю цветности 1:1, посредством использования одного из различных способов понижающей дискретизации, таких как способ понижающей дискретизации, использующий среднее значение (фильтр с 2 выводами) множества смежных пикселей яркости на линии в предварительно определенном направлении, выбранном из группы пикселей яркости, имеющей предварительно определенный размер, способ понижающей дискретизации, использующий взвешенное среднее значение (фильтр с n выводами) множества смежных пикселей яркости в предварительно определенном направлении, выбранном из группы пикселей яркости, имеющей предварительно определенный размер, и способ понижающей дискретизации, выбирающий пиксель яркости в предварительно определенном местоположении в группе пикселей яркости, имеющей предварительно определенный размер. Например, блок 1410 дискретизации выбирает первое местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или первый способ фильтрации пикселей яркости для понижающей дискретизации внутренних пикселей блока предсказания яркости, выбирает второе местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или второй способ фильтрации пикселей яркости для понижающей дискретизации смежных верхних пикселей блока предсказания яркости, и выбирает третье местоположение пикселя яркости, подлежащего выбору из предварительно определенной группы пикселей яркости, или третий способ фильтрации пикселей яркости для понижающей дискретизации смежных левых пикселей блока предсказания яркости. Здесь, первое местоположение и первый способ фильтрации, используемый для понижающей дискретизации внутренних пикселей блока предсказания яркости, второе местоположение и второй способ фильтрации для понижающей дискретизации смежных верхних пикселей блока предсказания яркости, и третье местоположение и третий способ фильтрации для понижающей дискретизации смежных левых пикселей блока предсказания яркости определяются независимо, и, таким образом, могут быть идентичными или отличающимся друг от друга. Также, блок 1410 дискретизации выполняет понижающую дискретизацию посредством применения способа фильтрации независимо над внутренними пикселями, смежными верхними пикселями, и смежными левыми пикселями блока предсказания яркости.
Ниже, будут описываться различные способы понижающей дискретизации пикселя яркости согласно вариантам осуществления настоящего изобретения.
Фиг. 16A является ссылочной диаграммой для описания обработки понижающей дискретизации сигнала яркости, согласно одному варианту осуществления настоящего изобретения.
LM
LM
LM
LM
LM
LM
LM
r
r
LM
LM
LM
Как показано на фиг. 16A, блок 1410 дискретизации может осуществлять понижающую дискретизацию над группой 1610 пикселей яркости, включающую в себя четыре пикселя яркости P(2x, 2y), P(2x+1,2y), P(2x, 2y-1), и P(2x+1, 2y-1) в один пиксель яркости. Подробно, блок 1410 дискретизации получает подвергнутый понижающей дискретизации пиксель яркости, соответствующий пикселю цветности в местоположении (x, y), при этом x и y являются, каждое, целым числом, посредством вычисления взвешенного среднего значения с использованием трех пикселей, т.е. пикселя яркости P(2x, 2y), расположенного ниже слева в группе 1610 пикселей яркости, и пикселей яркости P(2x-1,2y) и P(2x+1,2y), расположенных справа и слева от пикселя яркости P(2x, 2y). Например, подвергнутый понижающей дискретизации пиксель яркости p′(x, y), соответствующий пикселю цветности в местоположении (x, y), может получаться согласно уравнению, p′(x, y)=(P(2x-1,2y)+2*P(2x, 2y)+P(2x+1,2y)+2)>>2.
LM
LM
LM
LM
LM
LM
LM
r
Аналогично, блок 1410 дискретизации может подвергать понижающей дискретизации группу 1620 пикселей яркости, включающую в себя четыре пикселя яркости P(2x+2,2y), P(2x+3,2y), P(2x+2,2y-1), и P(2x+3,2y-1), в один пиксель яркости. Подробно, блок 1410 дискретизации получает подвергнутый понижающей дискретизации пиксель яркости, соответствующий пикселю цветности в местоположении (x, y), при этом x и y являются, каждое, целым числом, посредством вычисления взвешенного среднего значения с использованием трех пикселей яркости, т.е. пикселя яркости P(2x+2,2y), расположенного ниже слева в группе 1620 пикселей яркости, и пикселей яркости P(2x+1,2y) и P(2x+3,2y), расположенных слева и справа от пикселя яркости P(2x+2,2y). Например, подвергнутый понижающей дискретизации пиксель яркости p′(x+1,y), соответствующий пикселю цветности в местоположении (x+1,y), может получаться согласно уравнению,
r
LM
LM
LM
p′(x+1,y)=(P(2x+1,2y)+2*P(2x+2,2y)+P(2x+3,2y)+2)>>2.
В вышеописанных вариантах осуществления, блок 1410 дискретизации выполняет понижающую дискретизацию посредством вычисления взвешенного среднего значения посредством установки веса, равного 2, центральному пикселю яркости и веса, равного 1, каждому из пикселей яркости слева и справа от центрального пикселя яркости, но такие веса могут изменяться, и могут изменяться местоположения и количества центрального пикселя яркости и смежных пикселей, используемые, чтобы вычислять взвешенное среднее значение.
Фиг. 16B является ссылочной диаграммой для описания обработки понижающей дискретизации сигнала яркости, согласно другому варианту осуществления настоящего изобретения.
r
LM
LM
LM
Как показано на фиг. 16B, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости p′(x, y), соответствующий пикселю цветности в местоположении (x, y), при этом x и y являются, каждое, целым числом, посредством использования среднего значения пикселей яркости на линии в предварительно определенном направлении, выбранном из четырех пикселей яркости P(2x, 2y), P(2x+1,2y), P(2x, 2y-1), и P(2x+1,2y-1), или посредством выбора пикселя яркости в предварительно определенном местоположении.
r
LM
LM
LM
LM
LM
LM
r
LM
LM
LM
r
Подробно, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости p′(x, y) посредством выбора одного пикселя яркости в предварительно определенном местоположении из числа четырех пикселей яркости P(2x, 2y), P(2x+1,2y), P(2x, 2y-1), и P(2x+1,2y-1). Альтернативно, блок 1410 дискретизации может определять среднее значение пикселей яркости P(2x, 2y) и P(2x+1,2y) или пикселя яркости P(2x, 2y-1) и P(2x+1,2y-1), которые являются смежными в горизонтальном направлении, в качестве подвергнутого понижающей дискретизации пикселя яркости p′(x, y). Альтернативно, блок 1410 дискретизации может определять среднее значение пикселей яркости P(2x, 2y) и P(2x, 2y-1) или пикселей яркости P(2x+1,2y) и P(2x+1,2y-1), которые являются смежными в вертикальном направлении, в качестве подвергнутого понижающей дискретизации пикселя яркости p′(x, y).
Блок 1410 дискретизации выполняет понижающую дискретизацию, так что пиксель яркости и пиксель цветности соответствуют 1:1, посредством различного применения различных способов понижающей дискретизации согласно местоположению пикселя яркости.
Фиг. 17A по 17C являются диаграммами для описания обработки выполнения понижающей дискретизации согласно местоположению пикселя яркости, согласно вариантам осуществления настоящего изобретения.
Как показано на фиг. 17A, когда размер блока 1710 предсказания яркости равняется 2nS×2nS и размер блока 1720 предсказания цветности равняется nS×nS, где nS является положительным целым числом, блок 1410 дискретизации выполняет понижающую дискретизацию над блоком 1710 предсказания яркости и смежными пикселями, так что подвергнутый понижающей дискретизации блок предсказания яркости и подвергнутые понижающей дискретизации смежные пиксели соответствуют блоку 1720 предсказания цветности и смежным пикселям.
Подробно, когда RecL(x, y) (x и y от 0 до 2nS-1) обозначает внутренний пиксель яркости блока 1710 предсказания яркости, RecL(x, -1) (x от 0 до 2nS-1) обозначает верхний пиксель яркости блока 1710 предсказания яркости, RecL(-1, y) (y от 0 до 2nS-1) обозначает левый пиксель яркости блока 1710 предсказания яркости, и RecL′(x, y) обозначает подвергнутый понижающей дискретизации пиксель яркости, соответствующий пикселю цветности в местоположении (x, y), блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, -1), соответствующий смежным верхним пикселям Pc(x, -1) блока 1720 предсказания цветности, согласно уравнению, RecL′(x, -1)=(RecL(2x, -2)+RecL(2x, -1))>>1, по отношению к смежным верхним пикселям блока 1710 предсказания яркости. Например, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством использования средних значений пикселей яркости в местоположениях (2x, -2) и (2x, -1) в группах 171 пикселей яркости выше блока 1710 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(-1, y), соответствующий смежным левым пикселям Pc(-1, y) блока 1720 предсказания цветности, согласно уравнению, RecL′(-1, y)=(RecL(-2,2y)+RecL(-2,2y+1))>>1, по отношению к смежным левым пикселям блока 1710 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, y), соответствующий внутренним пикселям Pc(x, y) блока 1720 предсказания цветности, согласно уравнению, RecL′(x, y)=(RecL(2x, 2y)+RecL(2x, 2y+1))>>1, по отношению к внутренним пикселям блока 1710 предсказания яркости.
Как показано на фиг. 17B, блок 1410 дискретизации согласно другому варианту осуществления настоящего изобретения может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, -1), соответствующий смежным верхним пикселям Pc(x, -1) блока предсказания цветности, согласно уравнению, RecL′(x, -1)=RecL(2x, -1), по отношению к смежным верхним пикселям блока 1730 предсказания яркости. Например, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством выбора пикселя яркости в (2x, -1) в группах 1731 пикселей яркости выше блока 1730 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(-1, y), соответствующий смежным левым пикселям Pc(-1, y) блока предсказания цветности, согласно уравнению, RecL′(-1, y)=(RecL(-1,2y)+RecL(-1,2y+1))>>1, по отношению к смежным левым пикселям блока 1730 предсказания яркости. Например, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством использования среднего значения пикселей яркости RecL(-1,2y) и RecL(-1,2y+1), включенных в группы 1732 пикселей яркости слева от блока 1730 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, y), соответствующий внутренним пикселям Pc(x,y) блока предсказания цветности, согласно уравнению, RecL′(x, y)=(RecL(2x, 2y)+RecL(2x, 2y+1))>>1, по отношению к внутренним пикселям блока 1730 предсказания яркости.
Как показано на фиг. 17C, блок 1410 дискретизации согласно другому варианту осуществления настоящего изобретения может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, -1), соответствующий смежным верхним пикселям Pc(x, -1) блока предсказания цветности, согласно уравнению, RecL′(x, -1)=RecL(2x, -1), по отношению к смежным верхним пикселям блока 1740 предсказания яркости. Например, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством выбора пикселя яркости в (2x, -1), включенного в группы 1741 пикселей яркости выше блока 1740 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(-1, y), соответствующий смежным левым пикселям Pc(-1, y) блока предсказания цветности, согласно уравнению, RecL′(-1, y)=(RecL(-2,2y)+RecL(-2,2y+1))>>1, по отношению к смежным левым пикселям блока 1740 предсказания яркости. Например, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством использования среднего значения пикселей яркости RecL(-2,2y) и RecL(-2,2y+1), включенных в группы 1742 пикселей яркости слева от блока 1740 предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, y), соответствующий внутренним пикселям Pc(x, y) блока предсказания цветности, согласно уравнению, RecL′(x, y)=(RecL(2x, 2y)+RecL(2x, 2y+1))>>1, по отношению к внутренним пикселям блока 1740 предсказания яркости.
Блок 1410 дискретизации согласно другому варианту осуществления настоящего изобретения может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, -1), соответствующий смежным верхним пикселям Pc(x, -1) блока предсказания цветности, согласно уравнению, RecL′(x, -1)=(RecL(2x-1, -1)+2*RecL(2x, -1)+RecL(2x+1, -1)+2)>>2, по отношению к смежным верхним пикселям блока предсказания яркости. Как описано выше со ссылкой на фиг. 16A, блок 1410 дискретизации может выполнять понижающую дискретизацию посредством вычисления взвешенного среднего значения посредством установки веса, равного 2, центральному пикселю яркости и веса, равного 1, каждому из пикселей яркости слева и справа от центрального пикселя яркости, по отношению к смежным верхним пикселям яркости блока предсказания яркости.
Также, блок 1410 дискретизации может получать подвергнутый понижающей дискретизации пиксель яркости RecL′(-1, y), соответствующий смежным левым пикселям Pc(-1, y) блока предсказания цветности, согласно уравнению, RecL′(-1, y)=(RecL(-1,2y)+RecL(-1,2y+1))>>1, по отношению к смежным левым пикселям блока предсказания яркости, и получать подвергнутый понижающей дискретизации пиксель яркости RecL′(x, y), соответствующий смежным внутренним пикселям Pc(x, y) блока предсказания цветности, согласно уравнению, RecL′(x, y)=(RecL(2x, 2y)+RecL(2x, 2y+1))>>1, по отношению к внутренним пикселям блока предсказания яркости.
Как таковой, блок 1410 дискретизации согласно вариантам осуществления настоящего изобретения получает подвергнутый понижающей дискретизации пиксель яркости, соответствующий пикселю цветности, посредством применения различных способов дискретизации согласно местоположению пикселя яркости.
Блок 1410 дискретизации, описанный выше, может выполнять понижающую дискретизацию только в цветовом формате 4:2:2 или 4:2:0 и пропускает понижающую дискретизацию в цветовом формате 4:4:4, так как пиксель яркости и пиксель цветности соответствуют 1:1.
В цветовом формате 4:4:4, так как сигналы компоненты U и компоненты V имеют относительно более узкие диапазоны, чем сигнал компоненты Y, к восстановленному сигналу яркости может дополнительно применяться низкополосный фильтр, чтобы улучшать эффективность предсказания, вместо фильтра понижающей дискретизации.
Ниже, теперь будут описываться обработка предсказания сигнала цветности посредством использования сигнала яркости, который соответствует 1:1 с сигналом цветности, посредством понижающей дискретизации. Предполагается, что сигнал яркости подвергается понижающей дискретизации таким образом, чтобы соответствовать 1:1 сигналу цветности.
Фиг. 18A и 18B являются ссылочными диаграммами для описания обработки получения параметра, показывающего корреляцию между сигналом яркости и сигналом цветности, и обработки предсказания сигнала цветности, согласно вариантам осуществления настоящего изобретения.
Пиксель яркости и пиксели цветности, которые соответствуют друг другу, имеют предварительно определенную корреляцию, например, линейную корреляцию. Как показано на фиг. 18A и 18B, когда Rec_L′(x, y) обозначает пиксель в местоположении (x, y) в предварительно восстановленном блоке 1820 предсказания яркости, блок 1430 выполнения предсказания может получать значение предсказания Pred_c(x, y) в местоположении (x, y) блока 1810 предсказания цветности посредством использования линейного отношения между сигналом яркости и сигналом цветности согласно Уравнению 1 ниже.
[Уравнение 1]
В Уравнении 1, a обозначает параметр, показывающий вес, и b обозначает параметр, показывающий смещение. Значения a и b могут получаться посредством вычислений с использованием смежных пикселей Rec_c(i) 1811 и 1812, где i от 0 до 2nS-1, блока 1810 предсказания цветности и смежных пикселей Rec_L′(i) 1821 и 1822 предварительно сохраненного блока 1820 предсказания яркости, как показано в Уравнениях 2 и 3.
[Уравнение 2]
[Уравнение 3]
В Уравнениях 2 и 3, I обозначает количество смежных верхних и левых пикселей блока 1810 предсказания цветности или предварительно сохраненного блока 1820 предсказания яркости, и, как показано на фиг. 18A и 18B, когда размеры блока 1810 предсказания цветности и предварительно сохраненного блока 1820 предсказания яркости равняются nS×nS, I равняется 2nS. Фиг. 18A и 18B показывает случай, когда верхние и левые пиксели используются в качестве смежных пикселей, но если смежные правые или нижние пиксели обрабатываются и восстанавливаются до текущего блока предсказания, смежные правые или нижние пиксели также могут использоваться, чтобы получать значения a и b. Также, чтобы заменять операцию умножения или деления на операцию сдвига, количество I смежных пикселей может быть степенью 2. В общем, так как значение nS, определяющее размер блока предсказания, является степенью 2, I также имеет значение, равное степени 2.
Тем временем, операция с плавающей запятой используется, чтобы вычислять значение a при высокой точности данных посредством использования Уравнения 2. Однако, когда значение a имеет значение с плавающей запятой, Уравнение 2 включает в себя деление с плавающей запятой, и, таким образом, сложность операции увеличивается. Соответственно, блок 1420 получения параметров согласно вариантам осуществления настоящего изобретения вычисляет параметры a′ и b′, которые масштабируются согласно алгоритму целочисленной операции, полученному посредством изменения Уравнений 2 и 3, чтобы упрощать операции при предотвращении переполнения.
a
Подробно, чтобы избегать операции с плавающей запятой, вместо значения a в Уравнении 2 используется целое число a′, полученное посредством повышающего масштабирования и округления значения a посредством бита n, как показано в Уравнении 4 ниже.
[Уравнение 4]
a
a
Согласно Уравнению 4, значение a, составляющее число с плавающей запятой, может заменяться на целое число a′ посредством повышающего масштабирования и округления посредством операции левого сдвига (<<). Бит n может устанавливаться, учитывая точность данных и сложность вычислений. Например, n может быть 13. Также, значение b согласно Уравнению 3 также может заменяться на целое число b′, полученное посредством изменения и округления значения a′ в Уравнении 4. Когда используются целые числа a′ и b′, Уравнение 1 может изменяться на Уравнение 5 ниже.
[Уравнение 5]
A1
A2
Тем временем, чтобы вычислять целое число a′ на основе Уравнения 4, требуется вычисление A1/A2. Вместо A1 и A2 могут использоваться приблизительные значения A1′ и A2′, сгенерированные посредством изменения битов, исключая предварительно определенное количество верхних битов A1 и A2, на 0. Подробно, приблизительное значение A1′, сгенерированное посредством изменения битов, исключая верхние n битов A1, на 0, и приблизительное значение A2′, сгенерированное посредством изменения битов, исключая верхние n битов A2, на 0, могут соответственно представляться посредством Уравнений 6 и 7 ниже.
[Уравнение 6]
[Уравнение 7]
A1
A1
A2
A2
A1
A1
A2
A2
В Уравнении 6, операция [.] показывает операцию floor, т.е. операцию выбора максимального целого числа, меньшего, чем значение внутри [], r=max(bdepth(A1)-n, 0) и r=max(bdepth(A2)-n, 0). bdepth(A1) и bdepth(A2) соответственно показывают битовые глубины A1 и A2. Также, n может устанавливаться, учитывая количество битов, сгенерированных в течение умножения, так, чтобы предотвращать переполнение, и, например, n может быть 15. Также, n относится к размеру таблицы поиска, которая будет описана ниже, и, например, n может быть 6 в таблице поиска на основе 64 переменных.
Фиг. 19 является диаграммой для описания обработки получения приблизительного значения A2′, согласно одному варианту осуществления настоящего изобретения.
A2
A2
rA2
21
Как показано на фиг. 19, предполагается, что битовая глубина A2 равняется 27 и полная битовая глубина равняется 32. Когда n=6, и r=max(27-6,0)=21, ′101011′ 1910, которые являются верхними 6 битами A2, извлекается посредством операции [A2>>21]. Когда 2, т.е. 2, умножается снова на значение [A2>>21], оставшиеся 21 бит, исключая верхние 6 битов, имеют значение, равное 0, и, таким образом, получается приблизительное значение A2′.
Когда Уравнения 6 и 7 применяются к Уравнению 4, получается Уравнение 8.
[Уравнение 8]
table
table
В Уравнении 8, n может определяться, учитывая точность данных и сложность операций, и, например, n может быть 15.
В Уравнении 8,  включает в себя операцию деления. Чтобы предотвращать операцию деления, результирующее значение  может сохраняться в предварительно определенной таблице поиска вместо операции деления, и значение a′ может получаться согласно Уравнению 8 посредством указания на предварительно определенную таблицу поиска. Когда предварительно определенная таблица поиска используется как таковая, значение a′ может получаться посредством только операций умножения и сдвига без необходимости выполнять операцию деления при вычислении a′ на основе Уравнения 8.
Фиг. 20 является ссылочной диаграммой таблицы поиска согласно одному варианту осуществления настоящего изобретения.
A2
Когда n=6, количество случаев  равняется количеству случаев верхних 6 битов A2. Другими словами,  может определяться посредством использования таблицы поиска, имеющей  т.е. в целом 64 элемента. Соответственно, блок 1420 получения параметров может получать  посредством использования таблицы поиска, хранящей , соответствующих 64 переменным верхних 6 битов A2, как показано на фиг. 20. Когда получается , блок 1420 получения параметров может вычислять значение a′ посредством использования операций умножения и сдвига на основе Уравнения 8.
Также, блок 1420 получения параметров может вычислять значение b′ согласно Уравнению 9 посредством использования полученного значения a′.
[Уравнение 9]
Значение b′ на основе Уравнения 9 может вычисляться без операции деления, когда I является степенью 2. Если I не является степенью 2, так как используются верхние левые или верхние правые смежные пиксели, вместо смежных пикселей, показанных на фиг. 18A и 18B, в качестве смежных пикселей, в таблице поиска может сохраняться значение (1/I) и значение b′ может получаться посредством умножения значения (1/I) согласно таблице поиска на числитель из Уравнения 9.
-15
15
a
Значение a′ на основе Уравнения 8 может усекаться, так что операция умножения согласно Уравнению 5 выполняется внутри предварительно определенных битов. Например, когда операция умножения согласно Уравнению 5 выполняется в 16 битах, значение a′ усекается внутри диапазона [-2, 2-1]. Когда n равняется 13, фактическое значение a может быть ограничено диапазоном [-4, 4) таким образом, чтобы предотвращать ошибку.
a
a
Тем временем, чтобы уменьшать ошибку округления, пока блок 1420 получения параметров вычисляет значение a′ на основе Уравнения 8, n может адаптивно определяться согласно значениям A1 и A2, вместо того, чтобы быть константой. Например, n может определяться согласно Уравнению 10 ниже.
[Уравнение 10]
Когда Уравнение 10 подставляется в Уравнение 8, может получаться Уравнение 11 ниже.
[Уравнение 11]
a
a
Чтобы поддерживать значение a′ на предварительно определенном бите, может быть необходимым регулировать битовую глубину a′. Например, чтобы поддерживать битовую глубину a′ на (a_bits) бит, когда переменная bitAdjust для регулировки битовой глубины a′ получается согласно уравнению, bitAdjust=max(0, bdepth(abs(a′))-(a_bits-1)), блок 1420 получения параметров уменьшает битовую глубину a′ посредством a′=a′>>bitAdjust. Чтобы поддерживать значение a′, чтобы оно было ниже, чем 8 бит, обычное значение a_bits может быть 7 или 8. Ошибка округления значения a′ может уменьшаться при поддержании значения a′, чтобы оно было внутри предварительно определенных битов, посредством применения n из Уравнения 12 ниже к Уравнению 5, вместо n из Уравнения 11.
[Уравнение 12]
Как таковой, блок 1420 получения параметров согласно одному варианту осуществления настоящего изобретения получает значения a′ и b′ для определения корреляции между сигналом яркости и сигналом цветности согласно Уравнениям 8 и 9. Когда значения a′ и b′ получены, блок 1430 выполнения предсказания генерирует значение предсказания соответствующего пикселя цветности по восстановленному пикселю яркости на основе Уравнения 5.
Тем временем, Уравнение 2 выше может быть выражено как Уравнение 13 ниже.
[Уравнение 13]
В Уравнении 13, значения CL, C, L, и LL могут вычисляться согласно Уравнению 14 ниже.
[Уравнение 14]
Чтобы предотвращать переполнение при вычислении значения a согласно Уравнению 13, блок 1420 получения параметров выполняет демасштабирование, чтобы уменьшать количества битов значений CL, C, L, и LL.
s
max
Например, когда количество битов выборки, такой как Rec_L′(i) или Rec_c(i), равняется n, максимальные биты bits чисел A1 и A2 вычисляются согласно Уравнению 15 ниже.
[Уравнение 15]
max
A
Чтобы поддерживать максимальные биты bits, чтобы они были предварительно определенными A битами, где A является целым числом, битовая глубина должна уменьшаться на количество бит, превосходящих предварительно определенные A битов. Например, когда A=32, параметр регулировки битов bitAdjust может представляться посредством Уравнения 16 ниже.
[Уравнение 16]
Посредством применения Уравнения 16, блок 1420 получения параметров масштабирует значения A1 и A1 согласно Уравнению 17 ниже.
[Уравнение 17]
A
Если I является степенью 2, параметр bitAdjust2 регулировки битов может заново определяться согласно Уравнению 18 ниже.
[Уравнение 18]
A
Посредством использования параметра bitAdjust2 регулировки битов из Уравнения 18, блок 1420 получения параметров может демасштабировать значения CL, C, LL, L, и I согласно Уравнению 19 ниже до вычисления значений A1 и A2.
[Уравнение 19]
Как таковой, блок 1420 получения параметров согласно другому варианту осуществления настоящего изобретения уменьшает битовую глубину посредством демасштабирования значений CL, C, LL, L, и I, используемых, чтобы вычислять значения A1 и A2 согласно Уравнению 19, так что переполнение не генерируется, учитывая диапазоны значений A1 и A2.
C
Тем временем, блок 1420 получения параметров согласно другому варианту осуществления настоящего изобретения получает параметр k3, определенный посредством Уравнения 20 ниже, на основе nS, определяющего размеры блока 1810 предсказания цветности и предварительно сохраненного блока 1820 предсказания яркости, и битовой глубины BitDepth Rec_C(i).
[Уравнение 20]
Блок 1420 получения параметров демасштабирует значения CL, C, LL, и L согласно Уравнению 21 таким образом, чтобы предотвращать переполнение при вычислении значений A1 и A2.
[Уравнение 21]
Также, блок 1420 получения параметров получает параметр k2, определенный посредством Уравнения 22 ниже на основе параметра k3 и nS.
[Уравнение 22]
Также, блок 1420 получения параметров может получать значения A1 и A2 согласно Уравнению 23 ниже посредством использования значений CL, C, LL, и L, демасштабированных согласно Уравнению 21 выше, и параметра k2 согласно Уравнению 21.
[Уравнение 23]
Блок 1420 получения параметров может генерировать значения A1′ и A2′, получаемые посредством понижающего масштабирования значений A1 и A2 согласно Уравнению 24 ниже, так что значения A1 и A2 выражаются в пределах битов предварительно определенного диапазона.
[Уравнение 24]
Как таковые, когда значения A1′ и A2′ получены, блок 1420 получения параметров получает значения веса a и смещения b, показывающих линейную корреляцию между сигналом яркости и сигналом цветности, согласно следующему алгоритму.
В вышеописанном алгоритме, константы могут определяться так, что значение веса a выражается в 7-битных данных. ImDiv обозначает предварительно определенное значение, определенное согласно A2′ из Уравнения 23.
Когда значения веса a и смещения b определяются согласно вышеописанному алгоритму, блок 1430 выполнения предсказания согласно другому варианту осуществления настоящего изобретения получает значение предсказания Pred_C(x, y) сигнала цветности, соответствующего восстановленному сигналу яркости Rec_L′(x, y), согласно Уравнению 25 ниже.
[Уравнение 25]
Здесь, k может быть 13. Блок 1430 выполнения предсказания может усекать значение предсказания Pred_C(x, y) сигнала цветности согласно Уравнению 25, как показано в Уравнении 26 ниже, так что значение предсказания Pred_C(x, y) существует внутри диапазона значений сигнала цветности, учитывая битовую глубину сигнала цветности.
[Уравнение 26]
Фиг. 21 является блок-схемой последовательности операций, иллюстрирующей способ предсказания изображения компоненты цветности, согласно одному варианту осуществления настоящего изобретения.
Как показано на фиг. 21, в операции 2110, блок 1410 дискретизации подвергает понижающей дискретизации предварительно кодированный и восстановленный блок предсказания яркости и смежные пиксели предварительно кодированного и восстановленного блока предсказания яркости, учитывая размеры блока предсказания яркости и блока предсказания цветности, которые соответствуют друг другу, согласно цветовому формату. Как описано выше, блок 1410 дискретизации подвергает понижающей дискретизации пиксель яркости, чтобы он соответствовал 1:1 пикселю цветности, посредством применения различных способов понижающей дискретизации, таких как способ понижающей дискретизации, использующий среднее значение множества смежных пикселей яркости на линии в предварительно определенном направлении, выбранном из группы пикселей яркости, имеющей предварительно определенный размер, способ понижающей дискретизации, использующий взвешенное среднее значение множества смежных пикселей яркости, расположенных в предварительно определенном направлении, выбранном из группы пикселей яркости, имеющей предварительно определенный размер, и способ понижающей дискретизации, выбирающий пиксель яркости в предварительно определенном местоположении в группе пикселей яркости, имеющей предварительно определенный размер, по отношению к каждому из внутренних пикселей блока предсказания яркости, смежных верхних пикселей блока предсказания яркости, и смежных левых пикселей блока предсказания яркости.
В операции 2120, параметры, показывающие корреляцию между блоком предсказания яркости и блоком предсказания цветности, получаются на основе подвергнутых понижающей дискретизации смежных пикселей блока предсказания яркости и восстановленных смежных пикселей предсказанного блока предсказания цветности. Как описано выше, блок 1420 получения параметров вычисляет значения веса a и смещения b согласно Уравнениям 2 и 3 посредством использования восстановленных смежных пикселей блока предсказания цветности и восстановленных смежных пикселей блока предсказания яркости. Конкретно, блок 1420 получения параметров может изменять битовые глубины веса a и смещения b таким образом, чтобы улучшать точность данных и предотвращать переполнение, которое может генерироваться в процессе операции вычисления. Также, блок 1420 получения параметров получает значения веса a и смещения b только посредством использования операций умножения, вычитания, и сдвига, исключая операцию деления посредством масштабирования переменных, используемых при вычислении значений веса a и смещения b, или заменяя упомянутые переменные на приблизительные значения.
В операции 2130, блок выполнения предсказания получает значение предсказания блока предсказания цветности, соответствующего подвергнутому понижающей дискретизации блоку предсказания яркости, из подвергнутого понижающей дискретизации блока предсказания яркости посредством использования полученных параметров. Как описано выше, блок 1430 выполнения предсказания предсказывает соответствующий сигнал цветности по сигналу яркости, восстановленному на основе Уравнения 1. Также, блок 1430 выполнения предсказания может выполнять предсказание посредством повышающего масштабирования значений веса a и смещения b таким образом, чтобы выполнять целочисленную операцию вместо операции с использованием плавающей запятой, как показано в Уравнении 7.
Согласно вариантам осуществления настоящего изобретения, эффективность предсказания может улучшаться посредством использования корреляции между сигналом яркости и сигналом цветности.
Также, согласно вариантам осуществления настоящего изобретения, объем обработки, требуемый для предсказания, может уменьшаться при улучшении скорости работы посредством получения параметра для определения линейного отношения между сигналом яркости и сигналом цветности без необходимости выполнять операцию деления.
Дополнительно, согласно вариантам осуществления настоящего изобретения, переполнение, которое может генерироваться при получении параметра, может предотвращаться при сохранении точности данных.
Варианты осуществления настоящего изобретения могут быть записаны как компьютерные программы и могут осуществляться в цифровых компьютерах общего использования, которые выполняют программы посредством использования машиночитаемого записывающего носителя. Примеры машиночитаемого записывающего носителя включают в себя магнитные запоминающие носители (например, ROM, гибкие диски, жесткие диски, и т.д.), оптические носители записи (например, CD-ROM, или DVD), и запоминающие носители.
Несмотря на то, что изобретение было конкретно показано и описано со ссылкой на его предпочтительные варианты осуществления, специалистам в данной области техники следует понимать, что здесь могут делаться различные изменения в форме и деталях без отхода от сущности и объема изобретения, как определено посредством прилагаемой формулы изобретения. Предпочтительные варианты осуществления должны рассматриваться только в описательном смысле и не для целей ограничения. Поэтому, объем изобретения определяется не подробным описанием изобретения, но прилагаемой формулой изобретения, и все отличия в пределах объема должны толковаться как включенные в настоящее изобретение.