Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

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

Традиционно, приняты системы кодирования видеосигнала на основе международных стандартов, например MPEG и ITU-TH.26x, в основном при условии, что используется входной сигнал в стандартном формате, именуемом форматом "4:2:0". Формат 4:2:0 представляет формат для преобразования сигнала цветности движущегося изображения, например RGB, в компонент яркости (Y) и два цветоразностных компонента (Cb и Cr) и сокращения количества выборок цветоразностных компонентов вдвое в горизонтальном и вертикальном направлениях в отношении количества выборок компонента яркости. Поскольку зрительное восприятие ухудшения цветоразностных компонентов мало по сравнению с ухудшением компонента яркости, принята традиционная система кодирования видеосигнала, отвечающая международному стандарту, при условии, что объем информации об объекте кодирования сокращается за счет осуществления вышеописанной понижающей дискретизации цветоразностных компонентов до осуществления кодирования. С другой стороны, в связи с повышением разрешения и повышением качества видеодисплеев в последние годы, испытывается система для кодирования изображения с выборками, идентичными компонентам яркости без понижающей дискретизации цветоразностных компонентов. Формат, в котором количество выборок компонентов яркости и количество выборок цветоразностных компонентов одинаковы, называется форматом 4:4:4. Согласно стандарту MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T_H.264 (ниже именуемому AVC) принято решение вводить в систему кодирования формат 4:4:4, "высокий профиль 444". Хотя традиционный формат 4:2:0 принят при условии, что цветоразностные компоненты подвергаются понижающей дискретизации, и ограничивается определением цветовых пространств Y, Cb и Cr, в формате 4:4:4 нет различия в частоте дискретизации между цветовыми компонентами, что дает возможность непосредственно использовать R, G и B вместо Y, Cb и Cr и использовать многие другие определения цветовых пространств. В системе кодирования видеосигнала, где используется формат 4:2:0, поскольку цветовые пространства зафиксированы как Y, Cb и Cr, нет необходимости учитывать типы цветовых пространств при обработке кодирования. Однако высокий профиль 4:4:4 AVC - это система, в которой определение цветовых пространств влияет на саму обработку кодирования. С другой стороны, в настоящем высоком профиле 4:4:4, учитывается совместимость с другими профилями для кодирования формата 4:2:0, заданного пространствами Y, Cb и Cr. Таким образом, нельзя сказать, что настоящий высокий профиль 4:4:4 призван оптимизировать ее эффективность сжатия.

Непатентный документ 1: стандарт MPEG-4 AVC (ISO/IEC 14496-10)/ITU-TH.264

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

Задачи, решаемые изобретением

Например, в высоком профиле 4:2:0 для кодирования формата 4:2:0 AVC, в области макроблока, состоящей из компонентов яркости 16×16 пикселей, цветоразностные компоненты Cb и Cr, соответствующие компонентам яркости, представляют собой блоки 8×8 пикселей. Пространственное прогнозирование (интрапрогнозирование), в котором используется значение периферийных выборок в идентичном изображении, принято для интракодирования макроблоков в высоком профиле 4:2:0. Отдельные режимы интрапрогнозирования используются для компонентов яркости и цветоразностных компонентов. Режим, имеющий наивысшую эффективность прогнозирования, выбирается из девяти типов, показанных на фиг.3, в качестве режима интрапрогнозирования для компонентов яркости, и режим, имеющий наивысшую эффективность прогнозирования, выбирается из четырех типов, показанных на фиг.9, в качестве режима интрапрогнозирования для цветовых компонентов Cb и Cr (невозможно использовать отдельные режимы прогнозирования для Cb и Cr). При прогнозировании компенсации движения в высоком профиле 4:2:0 информация размера блока, используемая как единица прогнозирования с компенсацией движения, информация опорного изображения, используемая для прогнозирования, и информация вектора движения для каждого блока мультиплексируются только для компонентов яркости. Прогнозирование с компенсацией движения осуществляется для цветоразностных компонентов с использованием информации такой же, как информация, используемая для прогнозирования с компенсацией движения, для компонентов яркости. Вышеописанная система пригодна при условии, что вклад цветоразностных компонентов в определение цветовых пространств мал по сравнению с вкладом компонентов яркости, которые вносят существенный вклад в представление структуры (текстуру) изображения в формате 4:2:0. Однако настоящий высокий профиль 4:4:4 является только системой, полученной простым расширением режима интрапрогнозирования для цветоразностного сигнала в формате 4:2:0 даже в состоянии, когда размер блока цветоразностного сигнала на один макроблок увеличен до 16×16 пикселей. Как и в формате 4:2:0, в отношении одного компонента, например компонента яркости, только информация об одном компоненте мультиплексируется для осуществления прогнозирования с компенсацией движения с использованием режима интерпрогнозирования, информации опорного изображения и информации вектора движения, общих для трех компонентов. Таким образом, нельзя сказать, что настоящий высокий формат 4:4:4 не всегда является оптимальным методом прогнозирования в формате 4:4:4, в котором соответствующие цветовые компоненты вносят равные вклады в структурное представление сигнала изображения.

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

СРЕДСТВА РЕШЕНИЯ ЗАДАЧ

Кодер изображения, согласно настоящему изобретению, включает в себя:

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

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

блок кодирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, в котором

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

ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ

Согласно кодеру изображения, декодеру изображения, способу кодирования изображения, способу декодирования изображения, программам для выполнения этих способов и носителям записи, на которые эти программы записаны, отвечающим изобретению, при осуществлении кодирования с использованием не только фиксированных цветовых пространств, например Y, Cb и Cr, но также различных цветовых пространств, можно гибко выбирать информацию режима интрапрогнозирования и информацию режима интерпрогнозирования, используемые в соответствующих цветовых компонентах, и можно осуществлять оптимальную обработку кодирования даже при разнообразных определениях цветовых пространств.

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

Фиг.1 - схема, поясняющая структуру видеокодера согласно первому варианту осуществления.

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

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

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

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

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

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

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

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

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

Фиг.11 - схема, поясняющая структуру видеокодера согласно второму варианту осуществления.

Фиг.12 - схема, поясняющая структуру видеодекодера согласно второму варианту осуществления.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.27 - логическая блок-схема, демонстрирующая процедуру кодирования согласно шестому варианту осуществления.

Фиг.28 - схема, поясняющая структуру двоичной последовательности CurrIntraPredMode согласно шестому варианту осуществления.

Фиг.29 - схема, поясняющая другую структуру двоичной последовательности CurrIntraPredMode согласно шестому варианту осуществления.

Фиг.30 - схема, поясняющая структуру видеокодера согласно седьмому варианту осуществления.

Фиг.31 - схема, поясняющая структуру видеодекодера согласно седьмому варианту осуществления.

Фиг.32 - схема, поясняющая единицу макроблока.

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.46 - схема, поясняющая операции блока кодирования вектора движения.

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

Фиг.48 - схема, поясняющая состояние битового потока синтаксис.

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

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

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

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

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

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

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

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

Фиг.57 - схема, поясняющая концепцию контекстуальной модели (ctx).

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

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

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

Фиг.61 - схема, поясняющая контекстуальную модель 11f согласно двенадцатому варианту осуществления.

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

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

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

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

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

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

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

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

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

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

Фиг.72 - схема, поясняющая состояние, в котором задержка обработки на стороне кодера снижена.

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

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

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

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

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

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

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

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

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

Фиг.82 - схема, поясняющая структуру кодированных данных информации заголовка макроблока, включенной в битовый поток традиционного формата YUV 4:2:0.

Фиг.83 - схема, поясняющая внутреннюю структуру блока прогнозирования 461 первого блока декодирования изображения, которая обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком.

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

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

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

ОПИСАНИЕ СИМВОЛОВ

1 входной видеосигнал

2 блок пространственного прогнозирования

3 вычитатель

4 разностный сигнал прогнозирования

5 блок принятия решения относительно режима кодирования

6 режим кодирования

7 прогнозируемое изображение

8 блок преобразования

9 блок квантования

10 квантованный коэффициент преобразования

11 блок кодирования с переменной длиной слова

11a блок определения контекстуальной модели

11b блок преобразования к двоичному виду

11c блок генерации вероятности появления

11d блок кодирования

11e кодированное значение

11f контекстуальная модель

11g память для хранения информации вероятности появления

11h состояние вероятности появления

12 блок обратного квантования

13 блок обратного преобразования

14 разностный сигнал прогнозирования локального декодирования

15 локально декодированное изображение (внутренне декодированное изображение)

16 память

17 буфер передачи

18 сумматор

19 блок управления кодированием

20 весовой коэффициент

21 параметр квантования

22 видеопоток

23 флаг идентификации общего использования режима интрапрогнозирования

24 флаг управления разблокирующим фильтром

25 блок декодирования с переменной длиной слова

25a блок декодирования

25b восстановленное значение участка

26 разблокирующий фильтр

27 декодированное изображение

28 режим интракодирования

29 базовый режим интрапрогнозирования

30 расширенный режим интрапрогнозирования

31 флаг индикации таблицы расширенных режимов интрапрогнозирования

32 флаг идентификации размера блока преобразования

33 флаг идентификации общего использования режима интракодирования

34 режим интракодирования

35 режим интрапрогнозирования

36 флаг индикации режима интрапрогнозирования

102 блок прогнозирования с компенсацией движения

106 тип макроблока/тип субмакроблока

123 флаг идентификации общего использования режима интерпрогнозирования

123b флаг идентификации общего использования вектора движения

123c флаг идентификации общего использования заголовка макроблока

128 базовый тип макроблока

128b тип макроблока

129 базовый тип субмакроблока

129b тип субмакроблока

130 расширенный тип макроблока

131 расширенный тип субмакроблока

132 идентификационный номер базового опорного изображения

132b идентификационный номер опорного изображения

133 информация базового вектора движения

134 расширенный опорный идентификационный номер

135 информация расширенного вектора движения

136 информация профиля

137 вектор движения

138, 138a, 138b, 138c информация индикации пропуска

139a, 139b, 139c информация заголовка

140a, 140b, 140c данные коэффициентов преобразования

141 режим интрапрогнозирования

142 информация индикации эффективности/неэффективности коэффициентов преобразования

143 флаг идентификации общего использования параметра состояния вероятности появления

144 режим интрапрогнозирования цветоразностного сигнала

111 блок прогнозирования вектора движения

112 блок вычисления разностного вектора движения

113 разностный вектор движения блока кодирования с переменной длиной слова

250 блок декодирования вектора движения

251 блок декодирования разностного вектора движения с переменной длиной слова

252 блок прогнозирования вектора движения

253 блок вычисления вектора движения

301 блок преобразования цветового пространства

302 преобразованный видеосигнал

303 кодер

304 информация идентификации метода преобразования цветового пространства

305 битовый поток

306 декодер

307 декодированное изображение

308 блок обратного преобразования цветового пространства

310 блок преобразования

311 информация идентификации метода преобразования цветового пространства

312 блок обратного преобразования

422a, 422b0, 422b1, 422b2, 422c видеопоток

423 сигнал идентификации общего кодирования/независимого кодирования

427a, 427b декодированное изображение

461 блок прогнозирования

462 разблокирующий фильтр

463 прогнозируемая служебная информация

464 флаг указания преобразованного размера блока

465 блок преобразования цветового пространства

466 блок обратного преобразования цветового пространства

467 информация сигнализации

501, 601 переключатель

502 блок разделения цветовых компонентов

503a первый блок кодирования изображения

503b0, 503b1, 503b2 второй блок кодирования изображения

504 блок мультиплексирования

602 блок принятия решения относительно цветового компонента

603a первый блок декодирования изображения

603b0, 603b1, 603b2 второй блок декодирования изображения

610 блок анализа верхнего заголовка

4611a, 4611b, 4611c блок изменения

4612 блок интрапрогнозирования сигнала яркости

4613 блок интрапрогнозирования цветоразностного сигнала

4614 блок интерпрогнозирования сигнала яркости

4615 блок интерпрогнозирования цветоразностного сигнала

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

Первый вариант осуществления

Согласно первому варианту осуществления будут объяснены кодер, который осуществляет кодирование, заключенное в кадре, в единицах, полученных равным делением видеокадра, введенного в формате 4:4:4, на прямоугольные области (макроблоки) 16×16 пикселей, и декодер, соответствующий кодеру. Характеристики, отвечающие изобретению, сообщаются кодеру и декодеру на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1.

Структура видеокодера согласно первому варианту осуществления показана на фиг.1. Структура видеодекодера согласно первому варианту осуществления показана на фиг.2. На фиг.2 компоненты, обозначенные позициями, идентичными позициям, обозначающим компоненты кодера, показанного на фиг.1, являются идентичными компонентами.

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

1. Описание работы кодера

В кодере, показанном на фиг.1, соответствующие видеокадры вводятся в качестве входного видеосигнала 1 в формате 4:4:4. Вводимые видеокадры вводятся в кодер в единицах макроблоков, полученных делением трех цветовых компонентов на блоки 16 пикселей × 16 пикселей идентичного размера и размещением блоков, как показано на фиг.10.

Прежде всего, блок пространственного прогнозирования 2 осуществляет обработку интрапрогнозирования для каждого из цветовых компонентов в единицах макроблоков с использованием локально декодированного изображения 15, хранящегося в памяти 16. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять в зависимости от фактической реализации). Режимы интрапрогнозирования представляют собой режим интрапрогнозирования 4×4 для осуществления пространственного прогнозирования, в котором, в единицах блоков 4 пикселя × 4 линии, показанных на фиг.3, используются соседние пиксели блока, и режим интрапрогнозирования 16×16 для осуществления пространственного прогнозирования, в котором, в единицах макроблоков 16 пикселей × 16 линий, показанных на фиг.4, используются соседние пиксели макроблока.

(a) Режим интрапрогнозирования 4×4

Блок 16×16 пикселей сигнала яркости в макроблоке делится на шестнадцать блоков, образованных блоками 4×4 пикселя. Любой из девяти режимов, показанных на фиг.3, выбирается в единицах блоков 4×4 пикселя. Пиксели блоков (верхний левый, верхний, верхний правый и левый) вокруг блока уже закодированного, подвергнутого обработке локального декодирования и сохраненного в памяти 16, используются для генерации прогнозируемого изображения.

Intra4×4_pred_mode=0: Соседний пиксель вверху используется в качестве прогнозируемого изображения как есть.

Intra4×4_pred_mode=1: Соседний пиксель слева используется в качестве прогнозируемого изображения как есть.

Intra4×4_pre_mode=2: Среднее значение соседних восьми пикселей используется в качестве прогнозируемого изображения.

Intra4×4_pred_mode=3: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов вправо).

Intra4×4_pred_mode=4: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов влево).

Intra4×4_pred_mode=5: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов влево).

Intra4×4_pred_mode=6: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 67,5 градусов влево).

Intra4×4_pred_mode=7: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов вправо).

Intra4×4_pred_mode=8: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 112,5 градусов влево).

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

(b) Режим интрапрогнозирования 16×16

Режим кодирования с интрапрогнозированием 16×16 - это режим для прогнозирования блоков 16×16 пикселей, эквивалентных по размеру макроблока в данный момент времени. Любой из четырех режимов, показанных на фиг.4, выбирается в единицах макроблоков. Таким же образом, как в режиме интрапрогнозирования 4×4, пиксели блоков (верхний левый, верхний и левый) вокруг блока уже закодированного, подвергнутого обработке локального декодирования и сохраненного в памяти 16, используются для генерации прогнозируемого изображения.

Intra16×16_pred_mode=0: Шестнадцать пикселей на нижней стороне верхнего макроблока используются в качестве прогнозируемого изображения.

Intra16×16_pred_mode=1: Шестнадцать пикселей на правой стороне левого макроблока используются в качестве прогнозируемого изображения.

Intra16×16_pred_mode=2: Среднее значение тридцати двух пикселей, в совокупности, включающих в себя шестнадцать пикселей на нижней стороне верхнего макроблока (часть A на фиг.4) и шестнадцать пикселей на левой стороне левого макроблока (часть B на фиг.4), используется в качестве прогнозируемого изображения.

Intra16×16_pred_mode=3: Прогнозируемое изображение получается посредством заранее определенной обработки арифметической операции (обработка взвешенного суммирования, соответствующая используемому пикселю и прогнозируемой позиции пикселя) с использованием тридцати одного пикселя, в совокупности, включающих в себя пиксель на нижнем правом углу макроблока, над верхними левыми пятнадцатью пикселями на нижней стороне верхнего макроблока (часть, исключающая пустые пиксели) и пятнадцатью пикселями на правой стороне левого макроблока (часть, исключающая пустые пиксели).

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

Блок пространственного прогнозирования 2 выполняет обработку прогнозирования на всех режимах или подмножествах, показанных на фиг.3 и 4, для получения разностного сигнала прогнозирования 4 с использованием вычитателя 3. Эффективность прогнозирования разностного сигнала прогнозирования 4 оценивается блоком 5 принятия решения относительно режима кодирования. Режим прогнозирования, в котором оптимальная эффективность прогнозирования получается для макроблока, заданного как объект прогнозирования, выводится в качестве режима кодирования 6 из обработки прогнозирования, выполняемой блоком пространственного прогнозирования 2. Режим кодирования 6 включает в себя соответствующие разновидности информации режима прогнозирования (Intra4×4_pred_mode или Intra16×16_pred_mode), используемые для единичной области прогнозирования совместно с информацией принятия решения (эквивалентной режиму интракодирования, показанному на фиг.6), указывающей, используется ли режим интрапрогнозирования 4×4 или режим интрапрогнозирования 16×16. Единичная область прогнозирования эквивалентна блоку 4×4 пикселя в случае intra4×4_pred_mode и эквивалентна блоку 16×16 пикселей в случае режима интрапрогнозирования 16×16. При выборе режима кодирования 6 можно учитывать весовой коэффициент 20 для каждого режима кодирования, установленного посредством принятия решения блока 19 управления кодированием. Оптимальный разностный сигнал прогнозирования 4, полученный с использованием режима кодирования 6 на блоке 5 принятия решения относительно режима кодирования, выводится на блок преобразования 8. Блок преобразования 8 преобразует введенный разностный сигнал прогнозирования 4 в коэффициент преобразования и выводит коэффициент преобразования на блок квантования 9. Блок квантования 9 квантует введенный коэффициент преобразования на основании параметра квантования 21, заданного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10. Квантованный коэффициент преобразования 10 подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования на блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до разностного сигнала прогнозирования локального декодирования 14 посредством блока 12 обратного квантования и блока 13 обратного преобразования. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, которое генерируется на основании режима кодирования 6, сумматором 18 для генерации локально декодированного изображения 15. Локально декодированное изображение 15 сохраняется в памяти 16 для дальнейшего использования при обработке интрапрогнозирования. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова (При обработке прогнозирования, выполняемой блоком пространственного прогнозирования 2, поскольку пиксельные данные, до обработки разблокирующим фильтром, сохраняются в памяти 16, обработка разблокирующего фильтра сама по себе не обязательна для обработки кодирования. Однако разблокирующий фильтр действует согласно указанию флага 24 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.).

Флаг 23 идентификации общего использования режима интрапрогнозирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит б