Усовершенствованное кодирование с внутрикадровым предсказанием с использованием планарных представлений

Иллюстрации

Показать все

Изобретение относится к технологиям кодирования/декодирования данных видеоизображений. Техническим результатом является повышение эффективности кодирования/декодирования видео за счет обеспечения внутрикадрового предсказания в планарном режиме, который обеспечивает представление блока с плавным изображением, пиксельные значения которого постепенно изменяются. Предложен способ кодирования видео для предсказания пиксельных значений каждого целевого пикселя в целевом блоке в планарном режиме. Способ содержит компьютерно-исполняемые этапы, исполняемые процессором видеокодера, включающие в себя вычисление первого значения предсказания каждого целевого пикселя с использованием линейной интерполяции между пиксельным значением пикселя горизонтальной границы в том же самом горизонтальном положении, что и каждый целевой пиксель из множества пикселей горизонтальной границы на верхней стороне целевого блока, и пиксельным значением одного пикселя вертикальной границы из множества пикселей вертикальной границы на левой стороне целевого блока. А также способ включает в себя этап, на котором вычисляют второе значение предсказания каждого целевого пикселя с использованием линейной интерполяции между пиксельным значением пикселя вертикальной границы в том же самом вертикальном положении, что и каждый целевой пиксель из множества пикселей вертикальной границы, и пиксельным значением одного пикселя горизонтальной границы из множества пикселей горизонтальной границы. 4 н. и 10 з.п. ф-лы, 12 ил.

Реферат

РОДСТВЕННЫЕ ЗАЯВКИ

Настоящий патентный документ испрашивает приоритет по дате подачи временной заявки на патент США серийный номер 61/425,670, поданной 21 декабря 2010 года, и 61/449,528, поданной 4 марта 2011 года, содержание которых тем самым включено в настоящий документ по ссылке во всей своей полноте.

УРОВЕНЬ ТЕХНИКИ

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Настоящее изобретение относится к видеокодированию и, в частности, к внутрикадровому предсказанию, усовершенствованному с помощью режима кодирования с планарным предсказанием с низкой сложностью.

ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ

Цифровое видео требует большого объема данных для представления каждого кадра цифровой видеопоследовательности (например, серии кадров) в несжатом виде. Для большинства приложений передача несжатого цифрового видео через компьютерные сети является невыполнимой из-за ограничений пропускной способности. Кроме того, несжатое цифровое видео требует большого количества места для хранения. Цифровое видео обычно некоторым образом кодируется для уменьшения требований к хранению и уменьшения требований к пропускной способности.

Одной из методик для кодирования цифрового видео является межкадровое предсказание. Межкадровое предсказание использует временную избыточность среди разных кадров. Смежные по времени кадры видео, как правило, включают в себя блоки пикселей, которые остаются в значительной степени одинаковыми. Во время процесса кодирования вектор движения взаимно связывает движение блока пикселей в одном кадре с блоком аналогичных пикселей в другом кадре. В соответствии с этим система не нуждается в кодировании блока пикселей не дважды, а вместо этого кодирует блок пикселей один раз и предоставляет вектор движения для предсказания другого блока пикселей.

Другой методикой для кодирования цифрового видео является внутрикадровое предсказание. Внутрикадровое предсказание кодирует кадр или его часть независимо от пикселей в других кадрах. Внутрикадровое предсказание использует пространственную избыточность среди блоков пикселей в пределах кадра. Поскольку пространственно смежные блоки пикселей обычно имеют похожие атрибуты, эффективность процесса кодирования улучшается посредством ссылки на пространственную корреляцию между смежными блоками. Эта корреляция может использоваться посредством предсказания целевого блока на основе видов предсказания, используемых в смежных блоках.

Как правило, кодер содержит модуль предсказания пикселей, который содержит модуль межкадрового предсказания, модуль внутрикадрового предсказания и селектор режима. Модуль межкадрового предсказания выполняет предсказание для принятого изображения на основе опорного кадра с компенсацией движения. Модуль внутрикадрового предсказания выполняет предсказание для принятого изображения на основе уже обработанных частей текущего кадра или изображения. Модуль внутрикадрового предсказания дополнительно содержит множество разных режимов внутрикадрового предсказания и выполняет предсказание в соответствующих режимах предсказания. Выходная информация из модуля межкадрового предсказания и модуля внутрикадрового предсказания подается на селектор режима.

Селектор режима определяет, какой способ кодирования должен использоваться: кодирование с межкадровым предсказанием или кодирование с внутрикадровым предсказанием, и когда должно использоваться кодирование с внутрикадровым предсказанием, определяет, какой режим кодирования с внутрикадровым предсказанием должен использоваться среди множества режимов внутрикадрового предсказания. В процессе определения селектор режима использует функции затрат для анализа, какой способ кодирования или какой режим дает самый эффективный результат относительно эффективности кодирования и затрат на обработку.

Режимы внутрикадрового предсказания содержат режим DC (постоянный) и направленные режимы. Режим DC надлежащим образом представляет блок, пиксельные значения которого являются постоянными в блоке. Направленные режимы подходят для представления блока, который имеет шаблон полосы в некотором направлении. Имеется другой шаблон изображения, в котором изображение является плавным, и его пиксельные значения постепенно изменяются в блоке. Режим DC и направленные режимы не подходят для предсказания небольших постепенных изменений в содержании изображения и могут создавать раздражающие артефакты блочности, особенно при низких и средних битовых скоростях. Это происходит потому, что когда кодируются блоки с постепенным изменением пиксельных значений, коэффициенты AC (переменные) для блоков имеют тенденцию квантоваться как нуль, в то время как коэффициенты DC имеют ненулевые значения.

Чтобы справиться с этой проблемой, режимы внутрикадрового предсказания стандарта H.264/AVC дополнительно включают в себя планарный режим для представления блока с плавным изображением, пиксельные значения которого постепенно изменяются с малым планарным градиентом. В планарном режиме стандарта H.264/AVC планарный градиент оценивается и сообщается в битовом потоке декодеру.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее изобретение обеспечивает режим кодирования с планарным предсказанием с низкой сложностью, который может улучшить эффективность кодирования с внутрикадровым предсказанием. В настоящем изобретении в планарном режиме предсказания кодер вычисляет первое значение предсказания и второе значение предсказания. Первое значение предсказания вычисляется с использованием линейной интерполяции между значением соответствующих пикселей горизонтальной границы и значением одного из пикселей вертикальной границы. Второе значение предсказания вычисляется с использованием линейной интерполяции между значением соответствующих пикселей вертикальной границы и значением одного из пикселей горизонтальной границы. Затем кодер выполняет усреднение первого и второго значений предсказания для получения соответствующего значения предсказания в блоке предсказания.

В одном аспекте настоящего изобретения кодер сообщает разность между блоком предсказания и целевым блоком в битовом потоке декодеру.

В другом аспекте настоящего изобретения первичный набор ядра преобразования HN(i, j) переключается на вторичный набор ядра преобразования GN(i., j). Кодер преобразовывает разность с использованием вторичного набора ядра преобразования GN(i, j).

Вторичный набор ядра преобразования GN(i, j) может быть задан одним из следующих уравнений:

и

В другом аспекте настоящего изобретения вторичный набор ядра преобразования GN(i, j) для размера N×N задается посредством первичного набора ядра преобразования HM(i, j) для размера M×M, где M>N. В частности, вторичный набор ядра преобразования GN(i, j) может быть задан посредством

GN(i, j) = ki×H2N(2i,N+1-j), если поддерживаются ядра преобразования размером 2N×2N (H2N), или

GN(i, j)=HN(i, j) в ином случае.

Настоящее изобретение также обеспечивает планарный режим кодирования низкой сложности, используемый для декодирования. В планарном режиме декодер вычисляет первое значение предсказания и второе значение предсказания. Первое значение предсказания вычисляется с использованием линейной интерполяции между значением соответствующих пикселей горизонтальной границы и значением одного из пикселей вертикальной границы. Второе значение предсказания вычисляется с использованием линейной интерполяции между значением соответствующих пикселей вертикальной границы и значением одного из пикселей горизонтальной границы. Затем декодер выполняет усреднение первого и второго значений предсказания для получения соответствующего пиксельного значения предсказания в блоке предсказания. Декодер декодирует разность, сообщенную от кодера, которая была сформирована в планарном режиме в кодере, и добавляет декодированную разность к блоку предсказания для воссоздания данных изображения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 - блок-схема, показывающая примерную аппаратную архитектуру, на которой может быть реализовано настоящее изобретение.

Фиг.2 - блок-схема, показывающая общий вид видеокодера, к которому может быть применено настоящее изобретение.

Фиг.3 - блок-схема, показывающая общий вид видеодекодера, к которому может быть применено настоящее изобретение.

Фиг.4 - блок-схема, показывающая функциональные модули кодера в соответствии с вариантом осуществления настоящего изобретения.

Фиг.5 - блок-схема последовательности операций, показывающая процесс кодирования, выполняемый видеокодером в соответствии с вариантом осуществления настоящего изобретения.

Фиг.6 - блок-схема, показывающая функциональные модули декодера в соответствии с вариантом осуществления настоящего изобретения.

Фиг.7 - схема, показывающая процесс декодирования, выполняемый видеодекодером в соответствии с вариантом осуществления настоящего изобретения.

Фиг.8 - схематическое представление целевого блока, содержащего 8x8 пикселей P(i, j), и опорные пиксели, используемые для предсказания пикселей P(i, j).

Фиг.9 - схематическое представление, показывающее процесс формирования пикселей предсказания в соответствии с планарным режимом кодирования, предложенным в JCT-VC A119.

Фиг.10 - схематическое представление, показывающее процесс формирования пикселей предсказания в соответствии с планарным режимом кодирования настоящего изобретения.

Фиг.11 - другое схематическое представление, показывающее процесс формирования пикселей предсказания в соответствии с планарным режимом кодирования настоящего изобретения.

Фиг.12 - блок-схема последовательности операций, показывающая процесс переключения между первичным набором ядра преобразования и вторичным набором ядра преобразования.

ПОДРОБНОЕ ОПИСАНИЕ ЧРЕТЕЖЕЙ И ПРЕДСТАВЛЕННЫХ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

Фиг.1 показывает примерную аппаратную архитектуру компьютера 100, на котором может быть реализовано настоящее изобретение. Следует отметить, что аппаратная архитектура, показанная на Фиг.1, может быть общей как в видеокодере, так и в видеодекодере, которые реализуют варианты осуществления настоящего изобретения. Компьютер 100 включает в себя процессор 101, память 102 устройство 105 хранения и одно или более устройств 106 ввода и/или вывода (или периферийные устройства), которые соединены с возможностью взаимодействия через локальный интерфейс 107. Локальный интерфейс 105, например, может представлять собой, но без ограничения, одну или более шин или другие проводные или беспроводные соединения, известные в области техники.

Процессор 101 является аппаратным устройством для исполнения программного обеспечения, в частности, сохраненного в памяти 102. Процессор 101 может являться любым изготовленным на заказ или серийно выпускаемым процессором, центральным процессором (CPU), вспомогательным процессором среди нескольких процессоров, связанных с компьютером 100, полупроводниковым микропроцессором (в виде микрокристалла или чипсета) или любым устройством для исполнения программных команд.

Память 102 содержит машиночитаемый носитель, который может включать в себя любой элемент энергозависимой памяти или их комбинацию (например, оперативное запоминающее устройство (RAM, такое как DRAM, SRAM, SDRAM, и т.д.)) и элементы энергонезависимой памяти (например, постоянное запоминающее устройство (ROM), накопитель на жестком диске, ленту, компакт диск (CD-ROM) и т.д.). Кроме того, память 102 может включать в себя электронные, магнитные, оптические и/или другие типы носителей. Машиночитаемый носитель может представлять собой любое средство, которое может хранить, передавать, распространять или транспортировать программу для использования с помощью системы или устройства исполнения команд. Следует отметить, что память 102 может иметь распределенную архитектуру, в которой различные компоненты расположены удаленно друг от друга, но к которым может быть получен доступ посредством процессора 101.

Программное обеспечение 103 в памяти 102 может включать в себя одну или более отдельных программ, каждая из которых содержит упорядоченный список исполняемых команд для реализации логических функций компьютера 100, как описано ниже. В примере на Фиг.1 программное обеспечение 103 в памяти 102 определяет функциональность кодирования видео и декодирования видео компьютера 100 в соответствии с настоящим изобретением. Кроме того, хотя это не обязательно, память 102 может содержать операционную систему (O/S) 104. Операционная система 104 в общем и целом управляет выполнением компьютерных программ и обеспечивает планирование, управление вводом-выводом, управление файлами и данными, управление памятью и управление связью и соответствующие службы.

Устройство 105 хранения компьютера 100 может являться одним из многих устройств хранения различных типов, включающих в себя стационарное устройство хранения или переносное устройство хранения. В качестве примера устройство 105 хранения может являться магнитной лентой, диском, флэш-памятью, энергозависимой памятью или другим устройством хранения. Кроме того, устройство 105 хранения может являться цифровой картой памяти с защищенным доступом или любым другим съемным устройством 105 хранения.

Устройства 106 ввода-вывода могут включать в себя устройства ввода данных, например, но без ограничения, сенсорный экран, клавиатуру, мышь, сканер, микрофон или другое устройство ввода данных. Кроме того, устройства 106 ввода-вывода также могут включать в себя устройства вывода, например, но без ограничения, дисплей или другие устройства вывода. Устройства 106 ввода-вывода могут дополнительно включать в себя устройства, которые осуществляют взаимодействие и через входы, и через выходы, например, но без ограничения, модулятор/демодулятор (например, модем для доступа к другому устройству, системе или сети), радиочастотный (RF), беспроводной или другой приемопередатчик, телефонный интерфейс, мост, маршрутизатор или другие устройства, которые функционируют и как устройства ввода, и как устройства вывода.

Как известно специалистам в области техники, сжатие видео достигается посредством удаления избыточной информации в последовательности видеокадров. Существует много различных стандартов видеокодирования, примеры которых включают в себя MPEG-1, MPEG-2, MPEG-4, H.261, H.263 и H.264/AVC. Следует отметить, что настоящее изобретение не предусматривает ограничения в применении какого-либо конкретного стандарта видеокодирования. Однако последующее описание настоящего изобретения представлено с использованием примера стандарта H.264/AVC, который включен в настоящий документ по ссылке. Стандарт H.264/AVC является новейшим стандартом видеокодирования и достигает существенного улучшения производительности по сравнению с предыдущими стандартами кодирования, такими как MPEG-1, MPEG-2, H.261 и H.263.

В стандарте H.264/AVC каждый кадр или изображение видео может быть разбит на несколько секций. Затем секции разделяются на блоки с размером 16×16 пикселей, называемые макроблоками, которые затем могут быть дополнительно разделены на блоки с размером 8×16, 16×8, 8×8, 4×8, 8×4 и вплоть до 4×4 пикселей. Имеется пять типов секций, поддерживаемых в стандарте H.264/AVC. В секциях I все макроэлементы кодируются с использованием внутрикадрового предсказания. В секциях P макроэлементы могут быть закодированы с использованием внутрикадрового или межкадрового предсказания. P секции разрешают использовать только один сигнал предсказания с компенсацией движения (MCP) для каждого макроблока. В секциях B макроэлементы могут быть закодированы с использованием внутрикадрового или межкадрового предсказания. Для каждого предсказания могут использоваться два сигнала MCP. Секции SP позволяют эффективно переключать секции P между разными видеопотоками. Секция SI представляет собой точное соответствие для секции SP для произвольного доступа или восстановления после ошибки при использовании только внутрикадрового предсказания.

Фиг.2 показывает общий вид видеокодера, к которому может быть применено настоящее изобретение. Блоки, показанные на фигуре, представляют функциональные модули, реализованные процессором 101, исполняющим программное обеспечение 103 в памяти 102. Изображение видеокадра 200 подается в видеокодер 201. Видеокодер обрабатывает изображение 200 в макроблоках 200A. Каждый макроблок содержит несколько пикселей изображения 200. Над каждым макроблоком выполняется преобразование в коэффициенты преобразования, за которым следует квантование в уровни коэффициентов преобразования. Кроме того, внутрикадровое предсказание или межкадровое предсказание используется таким образом, чтобы выполнять этапы кодирования не над самими пиксельными данными, а над их разностями с предсказанными пиксельными значениями, тем самым достигая маленьких значений, которые легче сжимаются.

Для каждой секции кодер 201 формирует несколько синтаксических элементов, которые формируют закодированную версию макроблоков соответствующей секции. Все элементы разностных данных в синтаксических элементах, которые относятся к кодированию коэффициентов преобразования, такие как уровни коэффициентов преобразования или карта значимости, указывающая пропущенные уровни коэффициентов преобразования, называются синтаксическими элементами разностных данных. Помимо этих синтаксических элементов разностных данных синтаксические элементы, формируемые кодером 201, содержат синтаксические элементы управляющей информации, содержащие управляющую информацию относительно того, как каждый макроблок был закодирован и должен быть декодирован, соответственно. Другими словами, синтаксические элементы делятся на две категории. Первая категория, синтаксические элементы управляющей информации, содержит элементы, имеющие отношение к типу макроблока, типу субмакроблока и информации о режимах предсказания как пространственного, так и временного типов, а также, например, управляющая информация для секций и макроблоков. Во второй категории все элементы разностных данных, такие как карта значимости, указывающая местоположения всех значимых коэффициентов в блоке квантованных коэффициентов преобразования, и значения значимых коэффициентов, которые указаны как уровни, соответствующие этапам квантования, объединяются и становятся синтаксическими элементами разностных данных.

Кодер 201 содержит энтропийный кодер, который кодирует синтаксические элементы и формирует арифметические кодовые слова для каждой секции. При формировании арифметических кодовых слов для секции энтропийный кодер использует статистические зависимости среди значений данных синтаксических элементов в битовом потоке видеосигнала. Кодер 201 выдает закодированный видеосигнал для секции изображения 200 видеодекодеру 301, показанному на Фиг.3.

Фиг.3 показывает общий вид видеодекодера, к которому может быть применено настоящее изобретение. Аналогичным образом, блоки, показанные на фигуре, представляют функциональные модули, реализованные процессором 101, исполняющим программное обеспечение 103 в памяти 102. Видеодекодер 301 принимает закодированный видеосигнал и сначала выполняет энтропийное декодирование сигнала обратно в синтаксические элементы. Декодер 301 использует синтаксические элементы для воссоздания макроблока за макроблоком и затем секции за секцией, отсчетов 300A изображения пикселей в изображении 300.

Фиг.4 показывает функциональные модули видеокодера 201. Эти функциональные модули реализованы процессором 101, исполняющим программное обеспечение 103 в памяти 102. Входное видеоизображение представляет собой кадр или поле естественного (несжатого) видеоизображения, заданные точками отсчетов, представляющими компоненты первоначальных цветов, такие как цветность ("chroma") и яркость ("luma") (возможны другие компоненты, например, оттенок, насыщенность и значение). Входное видеоизображение разделяется на макроблоки 400, каждый из которых представляет квадратную область изображения, состоящую из 16×16 пикселей компонента яркости цвета изображения. Входное видеоизображение также разделяется на макроблоки, каждый из которых представляет 8×8 пикселей каждого из двух компонентов цветности цвета изображения. При обычной работе кодера введенные макроблоки могут быть предсказаны по времени или в пространстве с использованием межкадрового или внутрикадрового предсказания. Однако с целью обсуждения предполагается, что все макроблоки 400 представляют собой макроблоки секции типа I и подвергаются только внутрикадровому предсказанию.

Внутрикадровое предсказание выполняется в модуле 401 внутрикадрового предсказания, работа которого будет подробно обсуждена ниже. Модуль 401 внутрикадрового предсказания формирует блок 402 предсказания из пикселей горизонтальной и вертикальной границы соседних блоков, которые были ранее закодированы, воссозданы и сохранены в памяти 403 кадра. Разность 404 блока 402 предсказания, которая является разностью между целевым блоком 400 и блоком 402 предсказания, преобразовывается модулем 405 преобразования и затем квантуется модулем 406 квантования. Модуль 405 преобразования преобразовывает разность 404 в блок коэффициентов преобразования. Модуль 406 квантования квантует коэффициенты преобразования в квантованные коэффициенты 407 преобразования. Квантованные коэффициенты 407 преобразования затем подвергаются энтропийному кодированию в модуле 408 энтропийного кодирования и передаются (вместе с другой информацией, имеющей отношение к выбранному режиму внутрикадрового предсказания) как закодированный видеосигнал 409.

Видеокодер 201 содержит функциональность декодирования для выполнения внутрикадрового предсказания над целевыми блоками. Функциональность декодирования содержит модуль 410 обратного квантования и модуль 411 обратного преобразования, которые выполняют обратное квантование и обратное преобразование над квантованными коэффициентами 407 преобразования для получения декодированной разности 410 предсказания, которая добавляется к блоку 402 предсказания. Сумма декодированной разности 410 предсказания и блока 402 предсказания представляет собой воссозданный блок 413, который сохраняется в памяти 403 кадра и будет считан оттуда и использован модулем 401 внутрикадрового предсказания для формирования блока 402 предсказания для декодирования следующего целевого блока 400. Фильтр удаления блочности может быть дополнительно помещен либо на воде, либо на выходе памяти 403 кадра для удаления артефактов блочности из воссозданных изображений.

Фиг.5 является блок-схемой последовательности операций, показывающей процессы, выполняемые видеокодером 201. В соответствии со стандартом H.264/AVC, внутрикадровое предсказание включает в себя предсказание каждого пикселя целевого блока 400 во множестве режимов предсказания с использованием интерполяции граничных пикселей ("опорных пикселей") соседних блоков, ранее закодированных и воссозданных. Режимы предсказания идентифицированы положительными целыми числами 0, 1, 2, …, и каждый из них имеет отношение к разным командам или алгоритмам для предсказания заданных пикселей в целевом блоке 400. Модуль 401 внутрикадрового предсказания выполняет внутрикадровое предсказание в соответствующих режимах предсказания и формирует разные блоки предсказания. В алгоритме полного поиска ("FS") каждый из сформированных блоков предсказания сравнивается с целевым блоком 400 для нахождения оптимального режима предсказания, который минимизирует разность 404 предсказания или производит меньшую разность 404 предсказания среди режимов предсказания (этап 501). Идентификационная информация оптимального режима предсказания сжимается (этап 502) и будет сообщена декодеру 301 с другими синтаксическими элементами управляющей информации.

Каждый режим предсказания может быть описан посредством общего направления предсказания, как описано словесно (то есть горизонтально, вертикально и по диагонали вниз и влево). Направление предсказания может быть описано графически угловым направлением. Угол, соответствующий режиму предсказания, имеет общее отношение к направлению от взвешенного среднего местоположения опорных пикселей, используемых для предсказания целевого пикселя, к местоположению целевого пикселя. В режиме предсказания DC блок 402 предсказания формируется таким образом, что каждый пиксель в блоке 402 предсказания однородно установлен равным среднему значению опорных пикселей.

Как показано на Фиг.5, модуль 401 внутрикадрового предсказания выдает блок 402 предсказания, который вычитается из целевого блока 400 для получения разности 404 (этап 503). Модуль 405 преобразования преобразовывает разность 404 в блок коэффициентов преобразования (этап 504). Модуль 406 квантования квантует коэффициенты преобразования в квантованные коэффициенты преобразования. Модуль 408 энтропийного кодирования кодирует квантованные коэффициенты преобразования (этап 506), которые отправляются вместе со сжатой идентификационной информацией оптимального режима предсказания. Модуль 410 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования (этап 507). Модуль 411 обратного преобразования выполняет обратное преобразование для получения декодированной разности 412 предсказания (этап 508), который складывается с блоком 402 предсказания для получения воссозданного блока 413 (этап 509).

Фиг.6 показывает функциональные модули видеодекодера 301. Эти функциональные модули реализованы процессором 101, исполняющим программное обеспечение 103 в памяти 102. Закодированный видеосигнал от кодера 201 сначала принимается энтропийным декодером 600 и декодируется обратно в квантованные коэффициенты 601 преобразования. Квантованные коэффициенты 601 преобразования подвергаются обратному квантованию посредством модуля 602 обратного квантования и обратному преобразованию посредством модуля 603 обратного преобразования для формирования разности 604 предсказания. Модуль 605 внутрикадрового предсказания 605 уведомляется относительно режима предсказания, выбранного кодером 201. Согласно выбранному режиму предсказания модуль 605 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания, аналогичный выполняемому на этапе 503 на Фиг.5, для формирования блока 606 предсказания с использованием граничных пикселей соседних блоков, ранее воссозданных и сохраненных в памяти 607 кадра. Блок 606 предсказания добавляется к разности 604 предсказания для воссоздания блока 608 из декодированного видеосигнала. Воссозданный блок 608 сохраняется в памяти 607 кадра для использования при предсказании следующего блока.

Фиг.7 является блок-схемой последовательности операций, показывающей процессы, выполняемые видеокодером 201. Видеодекодер 301 декодирует идентификационную информацию оптимального режима предсказания, сообщенную от видеокодера 201 (этап 701). С использованием декодированного режима предсказания модуль 605 внутрикадрового предсказания формирует блок 606 предсказания, используя граничные пиксели соседних блоков, ранее воссозданных и сохраненных в памяти 607 кадра (этап 702). Арифметический декодер 600 декодирует закодированный видеосигнал от кодера 201 обратно в квантованные коэффициенты 601 преобразования (этап 703). Модуль 602 обратного квантования выполняет обратное квантование квантованных коэффициентов преобразования в коэффициенты преобразования (этап 704). Модуль 603 обратного преобразования выполняет обратное преобразование коэффициентов преобразования в разность 604 предсказания (этап 705), которая складывается с блоком 606 предсказания для воссоздания блока 608 из декодированного видеосигнала (этап 706).

Процесс кодирования, выполняемый видеокодером 201, может быть более подробно объяснен со ссылкой на Фиг.8. Фиг.8 является схематическим представлением целевого блока, содержащего 8x8 пикселей P(i, j), и опорные пиксели, используемые для предсказания пикселей P(i, j). На Фиг.8 опорные пиксели состоят из 17 горизонтальных пикселей и 17 вертикальных пикселей, причем верхний левый пиксель является общим для горизонтальной и для вертикальной границ. Таким образом, доступны 32 разных пикселя для формирования пикселей предсказания для целевого блока. Следует отметить, что хотя Фиг.8 показывает блок с размером 8×8, который должен быть предсказан, последующее объяснение обобщено, чтобы оно стало применимым к разным количествам пикселей в разных конфигурациях. Например, блок, который должен быть предсказан, может включать массив пикселей размером 4×4. Блок предсказания также может включать в себя массив пикселей с размером 8×8, 16×16 или с большим количеством пикселей. Другие конфигурации пикселей, в том числе квадратные и прямоугольные массивы, также могут составлять блок предсказания.

Предположим, что блок пикселей ({P(i, j): 1≤i, j≤N}) подвергается кодированию с внутрикадровым предсказанием c использованием горизонтальных и вертикальных опорных пикселей ({P(i, 0): 0≤i≤2N}∪{P(0, j): 0≤j≤2N}). Причем PO(i, j) обозначает первоначальные пиксельные значения целевого блока, PP(i, j) обозначает предсказанные пиксельные значения, PR(i, j) обозначает разностные значения, PQ(i, j) обозначает сжатые разностные значения, и PC(i, j) обозначает сжатые значения для пикселей (i, j), следующие уравнения определяют их соотношение:

HFN - матрица с размером N×N, представляющая ядро прямого преобразования. HIN - матрица с размером N×N, представляющая ядро обратного преобразования. PT(1:N, 1:N) представляет преобразованные и квантованные разностные сигналы в битовом потоке. QF( ) представляет операцию квантования, и QI( ) представляет операцию обратного квантования.

Предсказанные пиксельные значения PP(i, j) определены режимом внутрикадрового предсказания, выполняемым с опорными пикселями {P(i, 0):0≤i≤2N}∪{P(0, j):0≤j≤2N}. Стандарт H.264/AVC поддерживает предсказание Intra_4×4, предсказание Intra_8×8 и предсказание Intra_16×16. Предсказание Intra_4×4 выполняется в девяти режимах предсказания, включающих в себя вертикальный режим предсказания, горизонтальный режим предсказания, режим предсказания DC и шесть угловых режимов предсказания. Предсказание Intra_8×8 выполняется в девяти режимах предсказания, как и выполняющееся в предсказании Intra_4×4. Предсказание Intra_16×16 выполняется в четырех режимах предсказания, включающих в себя вертикальный режим предсказания, горизонтальный режим предсказания, режим предсказания DC и планарный режим предсказания. Например, предсказанные пиксельные значения PP(i, j), полученные в режиме предсказания DC, вертикальном режиме предсказания и горизонтальным режиме предсказания, определяются следующим образом:

Режим предсказания DC:

Вертикальный режим предсказания:

Горизонтальный режим предсказания:

Недавно Объединенной команде по видеокодированию (JCT-VC) было представлено предложение № JCT-VC A119, которое включено в настоящий документ по ссылке. Предложение № JCT-VC A119 предлагает операцию планарного режима с низкой сложностью, которая использует комбинацию операций линейной и билинейной интерполяции для предсказания постепенно изменяющихся пиксельных значений с малым планарным градиентом. Предложенный процесс планарного режима схематично показан на Фиг.9. Процесс начинается с идентификации значения PP(N, N) нижнего правого пикселя в блоке, который должен быть предсказан. Затем выполняются линейные интерполяции между значением PP(N, N) и значением PC(N, 0) опорного пикселя для получения предсказанных пиксельных значений PP(N, j) нижнего ряда в блоке. Аналогичным образом выполняются линейные интерполяции между значением PP(N, N) и значением PC(0, N) опорного пикселя для получения предсказанных пиксельных значений PP(i, N) крайнего правого столбца в блоке. После этого выполняются билинейные интерполяции среди предсказанных пиксельных значений PP(N, j) и PP(i, N) и значений PC(i, 0) и PC(0, j) опорных пикселей для получения остальных пиксельных значений PP(i, j) в блоке. Предложенный процесс планарного режима может быть выражен следующими уравнениями:

Правый столбец:

Нижняя строка:

Остальные пиксели:

В процессе планарного режима, предложенном в JCT-VC A119, имеются две проблемы, которые должны быть разрешены. В предложенном процессе значение PP(N, N) нижнего правого пикселя сообщается в битовом потоке декодеру и используется для декодирования целевого блока в декодере. Другими словами, для выполнения предсказания в предложенном планарном режиме декодеру требуется значение нижнего правого пикселя. Кроме того, в предложенном процессе разность не получается в планарном режиме и, таким образом, не сообщается декодеру. Опускание сообщения разности может способствовать сокращению закодированных видеоданных, которые должны быть переданы, но ограничивает применение планарного режима кодированием видеосигнала с низкой битовой скоростью.

Планарный режим в соответствии с настоящим изобретением разработан для решения упомянутых выше вопросов, связанных с процессом планарного режима, предложенного в JCT-VC A119. Согласно варианту осуществления настоящего изобретения значение PP(N, N) нижнего правого пикселя получается из опорных пикселей. Таким образом, нет необходимости сообщать значение PP(N, N) нижнего правого пикселя декодеру. В другом варианте осуществления настоящего изобретения блок предсказания, сформированный в планарном режиме, используется для получения разности, которая преобразована и квантована для сообщения декодеру. Применение традиционного дискретного косинусного преобразования (DCT) и квантование со средним или грубым параметром квантования имеет тенденцию приводить к нулевым коэффициентам AC и ненулевым коэффициентам DC из разностей, полученных в планарном режиме. Чтобы избежать этого, вариант осуществления настоящего изобретения использует вторичное ядро преобразования вместо первичного ядра преобразования для преобразования разности, полученной в планарном режиме. Кроме того, другой вариант осуществления выполняет адаптивное квантование в планарном режиме, в котором параметр квантования изменяется адаптивно согласно пространственной активности в целевом блоке.

В варианте осуществления настоящего изобретения значение PP(N, N) нижнего правого пикселя вычисляется из опорных пикселей. Значение PP(N, N) вычисляется в соответствии с одним из следующих трех способов:

Способ 1:

где оператор ">>" представляет операцию сдвига вправо с округлением или без округления.

Способ 2:

где wh и wν - весовые коэффициенты, определенные с использованием PC(0,1: N) и PC(1: N,0). Например, wh и wν вычисляются следующим образом:

где оператор "var ()" представляет операцию для вычисления отклонения.

Способ 3:

где и представляет арифметическую операцию. В варианте осуществления настоящего изобретения арифметическая операция определена как . В другом варианте осуществления настоящего изобретения арифметическая операция просто определена как y=f(x0, x1, …, x2N)=x2N. Следует от