УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ
IMAGE DECODING DEVICE, IMAGE DECODING METHOD, IMAGE ENCODING DEVICE AND IMAGE ENCODING METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к технологии кодирования и декодирования изображения посредством использования внутрикадрового предсказания.
Уровень техники
Существуют технологии кодирования изображения, такие как HEVC (H.265). Согласно HEVC, кодирование с внутрикадровым предсказанием (кодирование изображения с внутрикадровым предсказанием) используется в дополнение к кодированию с межкадровым предсказанием (inter picture prediction coding).
Патентная литература 1: JP2016-213853
Раскрытие сущности изобретения
Техническая проблема
При использовании HEVC внутрикадровому предсказанию подвергается блок изображения с максимальным размером 32×32 пикселей, полученный в результате деления квадродерева. В изображениях с высоким разрешением (например, в изображениях 4K и изображениях 8K) и в 360-градусных изображениях высокоэффективное внутрикадровое предсказание обеспечивается в блоках большего размера.
Настоящее изобретение направлено на решение этой проблемы и его задача состоит в обеспечении технологии повышения эффективности кодирования при внутрикадровом предсказании.
Решение проблемы
Устройство декодирования изображения, соответствующее варианту осуществления, содержит: блок (122) формирования возможных режимов предсказания, который формирует первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию; блок (123) выбора режима предсказания, который выбирает первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания из первого списка возможных режимов внутрикадрового предсказания и из второго списка возможных режимов внутрикадрового предсказания, соответственно; блок (124) вычисления значения предсказания, который вычисляет первое значение предсказания из декодированного пикселя, соседствующего с блоком, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляет второе значение предсказания из декодированного пикселя, соседствующего с блоком, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и блок (125) взвешивания значения предсказания, который вычисляет третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания.
Другой вариант осуществления настоящего изобретения связан со способом декодирования изображения. Способ содержит этапы, на которых: формируют первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию; выбирают первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания из первого списка возможных режимов внутрикадрового предсказания и второго списка возможных режимов внутрикадрового предсказания, соответственно; вычисляют первое значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляют второе значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляют второе значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и вычисляют третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания.
Варианты сочетаний вышеупомянутых составляющих элементов и реализации варианта осуществления в форме способов, устройств, систем и компьютерных программ и т.п. могут также реализовываться на практике в качестве дополнительных режимов вариантов осуществления.
Полезные результаты изобретения
В соответствии с вариантом осуществления повышается эффективность кодирования при внутрикадровом предсказании.
Краткое описание чертежей
Фиг. 1 - режимы внутрикадрового предсказания в HEVC;
фиг. 2 - синтаксис, связанный с режимом внутрикадрового предсказания для HEVC;
фиг. 3 - устройство кодирования изображения и устройство декодирования изображения, соответствующие варианту 1 осуществления настоящего изобретения;
фиг. 4 - пример, в котором частичная область в изображении, введенном в устройство кодирования изображения, делится на блоки изображения, основываясь на размере блока изображения, определенном блоком определения размера блока изображения;
фиг. 5 - конфигурация блока выбора режима внутрикадрового предсказания, соответствующего варианту 1 осуществления;
фиг. 6 - блок-схема последовательности выполнения операций блока выбора режима внутрикадрового предсказания варианта 1 осуществления;
фиг. 7 - получение значения предсказания;
фиг. 8 – блоки изображения, соседствующие с блоком изображения, подвергаемым предсказанию;
фиг. 9 - блок-схема последовательности выполнения операций процесса формирования списка 0 возможных режимов предсказания;
фиг. 10 - таблица, показывающая заданный порядок приоритетов режимов предсказания, используемых в процессе формирования списка 0 возможных режимов предсказания;
фиг. 11 - блок-схема последовательности выполнения операций процесса формирования списка 1 возможных режимов предсказания;
фиг. 12 - таблица заданного порядка приоритетов режимов предсказания, используемых в процессе формирования списка 1 возможных режимов предсказания;
фиг. 13 - синтаксис, связанный с режимом внутрикадрового предсказания согласно варианту 1 осуществления;
фиг. 14 - синтаксис, связанный с режимом внутрикадрового предсказания случая 4 варианта 1 осуществления;
фиг. 15 - конфигурация блока выбора режима внутрикадрового предсказания в соответствии с вариантом 2 осуществления;
фиг. 16 - блок-схема последовательности выполнения операций блока выбора режима внутрикадрового предсказания, соответствующего варианту 2 осуществления;
фиг. 17 - синтаксис, связанный с режимом внутрикадрового предсказания, соответствующим варианту 2 осуществления;
фиг. 18 - таблица, показывающая взаимосвязь между intra_luma_merge_idx и соседним блоком изображения;
фиг. 19 - синтаксис, связанный с режимом внутрикадрового предсказания, соответствующим случаю 2 варианта 2 осуществления; и
фиг. 20 - другой синтаксис, связанный с режимом внутрикадрового предсказания случая 2 варианта 2 осуществления.
Осуществление изобретения
Сначала будет представлено описание внутрикадрового предсказания в HEVC.
На фиг. 1 представлены режимы внутрикадрового предсказания в HEVC. Как показано на фиг. 1, в HEVC в качестве режимов внутрикадрового предсказания определены в общей сложности 35 режимов от режима 0 предсказания до режима 34 предсказания. Режим 0 предсказания является режимом INTRA_PLANAR, в котором четыре опорных пикселя, сформированных фильтрацией пикселей, соседствующих с блоком изображения, подвергаемым предсказанию, подвергаются интерполяционному предсказанию для вычисления значений предсказания. Режим 1 предсказания является режимом INTRA_DC, в котором набор горизонтально расположенных соседних пикселей удваивает ширину блока предсказания для блока изображения, подвергаемого предсказанию, и усредняется и набор вертикально расположенных соседних пикселей удваивает высоту блока предсказания и усредняется, чтобы вычислить значения предсказания. В режимах предсказания 2-34 значения предсказания вычисляются из опорных пикселей, формируемых посредством фильтрации пикселей, соседствующих с блоком изображения, подвергаемым предсказанию согласно соответствующим углам. Чем больше размер блока изображения, подвергаемого предсказанию, тем труднее фильтровать пиксели, соседствующие блоку изображения, подвергаемому предсказанию, и чем меньше размер, тем легче это делать. Для фильтрации используется 3-полюсный фильтр.
На фиг. 2 показан синтаксис, связанный с режимом внутрикадрового предсказания HEVC. prev_intra_luma_pred_flag является флагом, указывающим, использовать ли возможный режим внутрикадрового предсказания, полученный для каждого блока изображения, подвергаемого предсказанию. Когда prev_intra_luma_pred_flag равен 1, используется возможный режим внутрикадрового предсказания. Когда prev_intra_luma_pred_flag равен 0, возможный режим внутрикадрового предсказания не используется. Когда prev_intra_luma_pred_flag равен 1, mpm_idx (индекс mpm) указывает количество возможных режимов внутрикадрового предсказания и возможный режим внутрикадрового предсказания, указываемый посредством mpm_idx, будет режимом внутрикадрового предсказания блока изображения, подвергаемому предсказанию. 3 возможных режима внутрикадрового предсказания из 35 режимов внутрикадрового предсказания формируются для каждого блока изображения, подвергаемого предсказанию, основываясь на режиме внутрикадрового предсказания соседнего блока изображения, и mpm_idx будет установлен равным 0, 1 или 2. Когда флаг prev_intra_luma_pred_flag равен 0, количество режимов внутрикадрового предсказания получают из rem_intra_luma_pred_mode. rem_intra_luma_pred_mode указывает режим внутрикадрового предсказания, отличный от возможных режимов внутрикадрового предсказания. Другими словами, rem_intra_luma_pred_mode указывает один из 32 режимов внутрикадрового предсказания, полученный в результате исключения возможных режимов внутрикадрового предсказания из общего количества 35 режимов внутрикадрового предсказания. Режим внутрикадрового предсказания, указываемый rem_intra_luma_pred_mode, будет режимом внутрикадрового предсказания блока изображения, подвергаемого предсказанию. Как описано выше, в HEVC, каждый из всех 35 режимов внутрикадрового предсказания может, возможно, быть кодирован (декодирован) в mpm_idx или rem_intra_luma_pred_mode. prev_intra_luma_pred_flag, mpm_idx и rem_intra_luma_pred_mode подвергаются двоичному арифметическому кодированию посредством бинаризации с фиксированной длиной, усеченной бинаризации Райса и бинаризации с фиксированной длиной, соответственно. rem_intra_luma_pred_mode подвергается двоичному арифметическому кодированию посредством 5-разрядной бинаризации с фиксированной длиной. Чем меньше значение, тем выше эффективность кодирования для усеченной бинаризации Райса.
Как описано выше, значение предсказания, полученное из внутрикадрового предсказания, вычисляется, основываясь на одном угле в режимах 2-34 предсказания из HEVC. Объем кода снижается посредством предсказания направления края, включенного в изображение, которое дает начало увеличению объема кода, и идентификации разности. Если размер блока изображения, подвергаемого предсказанию, большой и если предсказание делается при одном угле, направление края может отклоняться внутри блока и эффективность предсказания может быть недостаточно хорошей. Поэтому пиксели, соседствующие с блоком, подвергаемым предсказанию, фильтруются.
Максимальный размер блока изображения, подвергаемого предсказанию в HEVC, равняется 32 пикселя × 32 пикселя (в дальнейшем обозначается как 32×32). В изображениях 4K и 8K, с другой стороны, известно, что используя большой размер блока изображения, подвергаемого предсказанию, эффективность предсказания повышается. С целью повышения эффективности предсказания важно увеличивать размер блока изображения, подвергаемого предсказанию.
Это решается в последующих вариантах осуществления, обеспечивая внутрикадровое предсказание, пригодное, когда максимальный размер блока изображения, подвергаемого предсказанию, является большим. Из множества режимов внутрикадрового предсказания режимы внутрикадрового предсказания, в которых соседний пиксель, используемый для предсказания, не обладает угловой зависимостью, в дальнейшем будут упоминаться как неугловые режимы внутрикадрового предсказания, а режимы внутрикадрового предсказания, в которых соседний пиксель, используемый для предсказания, имеет угловую зависимость, будут относиться к угловым режимам внутрикадрового предсказания. Угловые режимы внутрикадрового предсказания содержат режимы внутрикадрового предсказания в горизонтальном направлении и режимы внутрикадрового предсказания в вертикальном направлении.
В HEVC режим 0 предсказания и режим 1 предсказания являются неугловыми режимами внутрикадрового предсказания, а режимы 2-34 предсказания являются угловыми режимами внутрикадрового предсказания. Чтобы быть более конкретными, режимы 2-17 предсказания являются режимами внутрикадрового предсказания в горизонтальном направлении, а режимы 18-34 предсказания являются режимами внутрикадрового предсказания в вертикальном направлении.
Вариант 1 осуществления
Далее будет дано описание подробностей устройства кодирования изображения, способа кодирования изображения, программы кодирования изображения, устройства декодирования изображения, способа декодирования изображения и программы декодирования изображения, соответствующих варианту осуществления, со ссылкой на чертежи.
На фиг. 3 представлена схема устройства 100 кодирования изображения и устройства 200 декодирования изображения, соответствующие варианту 1 осуществления настоящего изобретения. Устройство 100 кодирования изображения, соответствующее варианту 1 осуществления, содержит блок 110 определения размера блока изображения, блок 120 выбора режима внутрикадрового предсказания, блок 130 преобразования и блок 140 кодирования. Устройство 100 кодирования изображения получает входное изображение и выводит битовый поток.
Устройство 200 декодирования изображения содержит блок 210 декодирования, блок 220 получения размера блока изображения, блок 230 внутрикадрового предсказания и блок 240 обратного преобразования. Устройство 200 декодирования изображения принимает битовый поток и выводит декодированное изображение.
Блок 230 внутрикадрового предсказания варианта 1 осуществления использует те же самые режимы внутрикадрового предсказания, которые используются в HEVC. Устройство 100 кодирования изображения и устройство 200 декодирования реализуется аппаратными средствами, такими как устройство обработки информации, имеющее центральный процессор (CPU), кадровую память, жесткий диск и т.д.
Сначала будет представлено описание функции и порядка действия частей устройства 100 кодирования изображения. Устройство 100 кодирования изображения принимает входное изображение.
Блок 110 определения размера блока изображения определяет размер блока изображения, подвергаемого кодированию с внутрикадровым предсказанием, основанному на входном изображении. Блок 110 определения размера блока изображения подает блока изображения определенного размера и входные пиксели (входные значения), соответствующие размеру блока изображения, на блок 120 выбора внутрикадрового предсказания. Способ определения размера блока изображения здесь подробно не описывается. Для выбора оптимального размера блока изображения может выполняться оптимизация искажения в зависимости от скорости передачи (rate distortion optimization, RDO) путем сравнения показателей оценки для множества размеров блока изображения или предварительного решения, основанного на показателях оценки, как это делается в ссылочном программном обеспечении HEVC.
Далее приводится описание размера блока изображения.
На фиг. 4 показан пример, в котором частичная область изображения на входе в устройство 100 кодирования изображения, делится на блоки изображения, основываясь на размере блока изображения, определенном блоком 110 определения размера блока изображения. Доступны размеры блока 4×4, 8×4, 4×8, 8×8, 16×8, 8×16, 32×32, ..., 128×64, 64×128 и 128×128. Входное изображение делится, используя эти размеры блока изображения, так чтобы блоки не накладывались друг на друга.
Блок 120 выбора режима внутрикадрового предсказания выбирает один режим внутрикадрового предсказания из множества режимов внутрикадрового предсказания, основываясь на размере блока изображения, входных пикселях и кодированном изображении. Блок 120 выбора режима внутрикадрового предсказания извлекает значения предсказания из кодированных пикселей, основываясь на выбранном режиме внутрикадрового предсказания. Блок 120 выбора режима внутрикадрового предсказания предоставляет блоку 130 преобразования размер блока изображения, выбранный режим внутрикадрового предсказания, входные значения и значения предсказания. Кодированные пиксели используются совместно частями устройства 100 кодирования изображения и здесь не показаны. Подробности блока 120 выбора режима внутрикадрового предсказания будут описаны позже.
Блок 130 преобразования извлекает разностное значение, вычитая значение предсказания из входного значения, получает данные ошибки предсказания, подвергая разностное значение ортогональному преобразованию, квантованию и т.д. и подает размер блока изображения, режим внутрикадрового предсказания и полученные данные ошибки предсказания на блок 140 кодирования.
Блок 140 кодирования кодирует заголовок и другую информацию по мере необходимости, кодирует битовый поток, связанный с размером блока изображения, предоставленным от блока 130 преобразования, кодирует режим внутрикадрового предсказания в битовый поток, кодирует данные ошибки предсказания и выводит на выходе битовый поток. Подробности процесса кодирования режима внутрикадрового предсказания будут описаны позже.
Устройство 100 кодирования изображения повторяет описанные выше этапы до тех пор, пока не будут кодированы все области входного изображения.
Далее будет представлено описание подробностей блока 120 выбора режима внутрикадрового предсказания. На фиг. 5 показана конфигурация блока 120 выбора режима внутрикадрового предсказания варианта 1 осуществления. Блок 120 выбора режима внутрикадрового предсказания содержит блок 121 определения количества режимов, блок 122 формирования возможных режимов предсказания, блок 123 выбора режима предсказания, блок 124 вычисления значения предсказания и блок 125 взвешивания значения предсказания.
На фиг. 6 представлена блок-схема последовательности выполнения операций блока 120 выбора режима внутрикадрового предсказания варианта 1 осуществления. Здесь далее подробности действия блока 120 выбора режима внутрикадрового предсказания будут объяснены со ссылкой на фиг. 5 и фиг. 6. Сначала блок 121 определения количества режимов проверяет, равна ли или больше ширина блока предсказания, чем заданная пороговая ширина, и равна ли или больше высота блока предсказания, чем заданная пороговая высота (S100). Здесь будет определено, что заданная пороговая ширина и заданная пороговая высота равны 32, соответственно. Альтернативно, заданная пороговая ширина и заданная пороговая высота могут иметь различные значения. Например, заданная пороговая ширина может быть равна 64, а заданная пороговая высота может быть равна 32. Заданная пороговая ширина и заданная пороговая высота могут быть кодированы в синтаксисе sequence_parameter_set (SPS) как расширенная строка кода Голомба и храниться в заголовке.
Затем, когда ширина блока прогнозирования равна или больше заданной пороговой ширины, а высота блока прогнозирования равна или больше заданной пороговой высоты (YES на этапе S100), блок 121 определения количества режимов устанавливает количество режимов предсказания (количество режимов предсказания) равным 2 (S101). Когда не обнаружено, что ширина блока прогнозирования равна или больше заданной пороговой ширины, и высота блока прогнозирования равна или больше заданной пороговой высоты (NO на этапе S100), блок 121 определения количества режимов устанавливает количество режимов предсказания равным 1 (S102).
Блок 120 выбора режима внутрикадрового предсказания затем повторяет этапы S103-S107, устанавливая M равным 0, когда количество режимов предсказания равно 1, или устанавливая M равным 0 и 1, когда количество режимов предсказания равно 2. Здесь предполагается, что М устанавливается только равным 0, чтобы выполнить этапы, когда количество режимов предсказания равно 1 с учетом уменьшения количества этапов. Альтернативно, этапы S103-S107 могут быть повторены, устанавливая M, равным 0 и 1, даже когда количество режимов предсказания равно 1 с учетом упрощения конфигурации схемы.
Блок 122 формирования возможных режимов предсказания формирует список М возможных режимов предсказания из кодированных соседних блоков изображения, расположенных вокруг блока изображения, подвергаемого предсказанию (S104), и подает список М возможных режимов предсказания, сформированный таким образом, на блок 123 выбора режима предсказания. Подробности процесса формирования списка возможных режимов предсказания будут описаны позже.
Блок 123 выбора режима предсказания вычисляет показатели оценки режимов 0-34 предсказания. Блок 123 выбора режима предсказания выбирает выбранный режим М предсказания из количества режимов предсказания, равного 0-34, основываясь на вычисленных показателях оценки (S105). Блок 123 выбора режима предсказания подает выбранный режим М предсказания на блок 124 вычисления значения предсказания. Здесь определяется, что один из режимов 0-34 предсказания выбирается в качестве выбранного режима М предсказания посредством решения RDO.
Блок 124 вычисления значения предсказания вычисляет значение М предсказания для блока изображения, подвергаемого предсказанию, основываясь на выбранном режиме М предсказания, который вводится от блока 123 выбора режима предсказания (S106), и подает расчетное значение М предсказания на блок 125 взвешивания значения предсказания. Значение предсказания получают из соседних пикселей.
На фиг. 7 представлена схема получения значения предсказания. Блок изображения, подвергаемый предсказанию согласно фиг. 7, является блоком изображения размером 32х32. Пиксели P(0, 0)-P(31, 31) располагаются в блоке изображения, подвергаемом предсказанию, и используются соседние пиксели RH-1-RH63 и RV0-RV63. В случае, когда никакие соседние пиксели не доступны, для компенсации используются заменяющие пиксели, как определено в HEVC. На фиг. 7 показан пример, в котором количество режимов предсказания равно 2, выбранный режим 0 предсказания является режимом 10 предсказания и выбранный режим 1 предсказания являются режимом 34 предсказания (смотрите фиг. 1).
Сначала будет представлено описание получения значения предсказания в выбранном режиме 0 предсказания в случае, когда выбранным режимом 0 предсказания является режим 10 предсказания. Для P(0,0), P(1,0)..., P(31,0) RV0 определяется как значение предсказания. Для P(0,1)..., P(31,1), RV1 определяется как значение предсказания. Для P(0,31)..., P(31,31), RV31 определяется как значение предсказания. Далее будет приведено описание получения значения предсказания в выбранном режиме 1 предсказания в случае, когда выбранный режим 1 предсказания является режимом 34 предсказания. Для P(0,0) RH1 определяется как значение предсказания. Для P(1,0) и P (0,1) RH2 определяется как значение предсказания. Для P(31,31) RH63 определяется как значение предсказания. Пиксели, соседствующие с блоком изображения, подвергаемым предсказанию, не фильтруются, чтобы сформировать опорные пиксели, как в случае HEVC. Соседние пиксели используются напрямую в варианте осуществления, так что процесс фильтрации не обязателен в варианте осуществления. Получение значения предсказания выполняется с возможностью быть таким же, как в HEVC, за исключением того, что в HEVC значение предсказания вычисляется из опорного пикселя.
После этапа S106 выбранный режим М предсказания исследуется, чтобы увидеть, является ли он неугловым режимом внутрикадрового предсказания (S110). Когда выбранный режим М предсказания не является неугловым режимом внутрикадрового предсказания (YES на этапе S110), управление переходит к этапу S107. Когда выбранный режим М предсказания является неугловым режимом режим внутрикадрового предсказания (NO на этапе S110), управление переходит к этапу S108. Здесь определяется, что неугловыми режимами внутрикадрового предсказания являются INTRA_PLANAR и INTRA_DC. Таким образом, увеличение объема обработки запрещается, не только используя соседних пикселей при определенном угле, как в INTRA_PLANAR и INTRA_DC, но также используя количество режимов предсказания, равное 1, вместо разрешения количества режимов предсказания, равного 2, в режимах внутрикадрового предсказания, в которых соседние пиксели используются во множестве направлений. Другими словами, режим предсказания, принадлежащий группе неугловых режимов внутрикадрового предсказания, и режим предсказания, принадлежащий группе угловых режимов внутрикадрового предсказания, не используются совместно.
После этапа S107 блок 125 взвешивания значения предсказания выводит значение предсказания, предоставленное блоком 124 вычисления значения предсказания, напрямую как значение предсказания при условии, что количество режимов предсказания равно 1 или что выбранный режим 0 предсказания является неугловым режимом внутрикадрового предсказания. Когда количество режимов предсказания равно 2, блок 125 взвешивания значения предсказания усредняет первое значение предсказания в выбранном режиме 0 предсказания и второе значение предсказания в выбранном режиме 1 предсказания, предоставленные блоком 124 вычисления значения предсказания, и выводит результирующее значение в качестве третьего значения предсказания (S108).
Здесь будет приведено описание функции и порядка действия частей устройства 200 декодирования изображения. Блок 210 декодирования, по мере необходимости, декодирует из битового потока заголовок и другую информацию, декодирует из битового потока битовый поток, связанный с размером блока изображения, битовый поток для режима внутрикадрового предсказания и данные ошибки предсказания. Блок 210 декодирования подает битовый поток, связанный с размером блока изображения, битовый поток для режима внутрикадрового предсказания и данные ошибки предсказания в декодированном виде блоку 220 получения размера блока изображения. Битовый поток для режима внутрикадрового предсказания декодируется, основываясь на синтаксисе, описанном позже, связанном с режимом внутрикадрового предсказания.
Блок 220 получения размера блока изображения получает размер блока изображения из битового потока, связанного с размером блока изображения, подаваемым от блока 210 декодирования. Блок 220 получения размера блока изображения подает на блок 230 внутрикадрового предсказания размер блока изображения, битовый поток для режима внутрикадрового предсказания, данные ошибки предсказания.
Блок 230 внутрикадрового предсказания выбирает режим внутрикадрового предсказания из битового потока для режима внутрикадрового предсказания. Блок 230 внутрикадрового предсказания получает значение предсказания из декодированных пикселей, основываясь на выбранном режиме внутрикадрового предсказания. Блок 230 внутрикадрового предсказания подает значение предсказания, размер блока изображения и данные ошибки предсказания на блок 240 обратного преобразования. Декодированные пиксели используются совместно частями устройства 200 декодирования изображения и здесь не показаны.
Вычисление значения предсказания в блоке 230 внутрикадрового предсказания является таким же, как вычисление значения предсказания в блоке 120 выбора режима внутрикадрового предсказания. Воспроизводимое изображение, полученное устройством 100 кодирования изображения, и воспроизводимое изображение, полученное устройством 200 декодирования изображения, являются одними и теми же. Другими словами, блок 230 внутрикадрового предсказания и блок 120 выбора режима внутрикадрового предсказания могут иметь одну и ту же конфигурацию, поэтому блок 230 внутрикадрового предсказания и блок 120 выбора режима внутрикадрового предсказания описываются как имеющие одинаковую конфигурацию в варианте осуществления.
Порядок действия блока 230 внутрикадрового предсказания будет описана со ссылкой на блок-схему последовательности выполнения операций блока 120 выбора режима внутрикадрового предсказания, показанную на фиг. 5. Отличие от блока 120 выбора режима внутрикадрового предсказания приведено на этапе S105. В блоке 230 внутрикадрового предсказания вместо этапа S105 выполняется этап S105D, описанный ниже.
Блок 123 выбора режима предсказания выбирает один выбранный режим М предсказания, основываясь на битовом потоке для режима внутрикадрового предсказания (S105D). Блок 123 выбора режима предсказания подает выбранный режим М предсказания на блок 124 вычисления значения предсказания. Битовый поток для режима внутрикадрового предсказания будет описан позже.
Блок 240 обратного преобразования получает значение разности, подвергая данные ошибки предсказания, полученные от блока 230 внутрикадрового предсказания, обратному ортогональному преобразованию, квантованию и т.д. Блок 240 обратного преобразования вычисляет воспроизведенный пиксель, прибавляя значение разности и значение предсказания, и получает на выходе воспроизведенный пиксель.
Устройство 200 декодирования изображения повторяет приведенные выше этапы до тех пор, пока все входные битовые потоки не будут декодированы.
Далее будет приведено описание подробностей процесса формирования списка возможных режимов предсказания. Сначала будет описан кодированный соседний блок изображения, расположенный вокруг блока изображения, подвергаемого предсказанию.
На фиг. 8 представлена схема, объясняющая блоки изображения, соседствующие с блоком изображения, подвергаемым предсказанию. Как показано на фиг. 8, блок X изображения является блоком изображения, подвергаемым предсказанию, а блоки А-Е изображения являются соседними блоками изображения. Блока А-Е изображения определяется здесь как соседние блоки. Альтернативно, соседними блоками могут быть блоки А-D изображения. Также альтернативно, может быть добавлен блок изображения слева и выше блока изображения, подвергаемого предсказанию (блок изображения над блоком A изображения), или блок изображения слева и ниже (блок изображения ниже блока C изображения).
На фиг. 9 представлена блок-схема последовательности выполнения операций процесса формирования списка 0 возможных режимов предсказания. Процесс формирования списка 0 возможных режимов предсказания будет описан со ссылкой на фиг. 9. Первоначально определяется, что список 0 возможных режимов предсказания и количество возможных режимов, включаемых в список 0 возможных режимов предсказания, равно 0. Список 0 возможных режимов предсказания будет сокращенно называться как список 0 возможных режимов.
Этапы S210, S201, S202, S203 повторяются, определяя блок A, блок B, блок C, блок D и блок E изображения как блок X изображения в заявленном порядке (S200 и S204).
Блок X проверяется, чтобы видеть, используется ли внутрикадровое предсказание (S210). Когда в блоке X используется внутрикадровое предсказание (YES на этапе S210), управление переходит к этапу S201. Когда в блоке X внутрикадровое предсказание не используется (NO на этапе S210), управление переходит к этапу S204.
После этапа S210, когда выбранный режим 0 предсказания, тот же самый, что для блока X изображения, не найден в списке 0 возможных режимов (YES на этапе S201), выбранный режим 0 предсказания для блока X изображения добавляется к списку 0 возможных режимов (S202). Далее, количество режимов предсказания, добавленных к списку 0 возможных режимов, исследуется, чтобы увидеть, достигло ли оно заданного количества (S203). Когда количество режимов предсказания, добавленных к списку 0 возможных режимов, достигло заданного количества (YES на этапе S203), процесс завершается. Когда количество режимов предсказания, добавленных к списку 0 возможных режимов, не достигло заданного количества (NO на этапе S203), управление переходит к этапу S204. Здесь определено, что заданное количество равно 3. Когда тот же самый выбранный режим 0 предсказания, что и для блока X изображения, найден в списке 0 возможных режимов (NO на этапе S201), управление переходит к этапу S204.
Когда количество режимов предсказания, добавленных к списку 0 возможных режимов, меньше заданного количества (YES на этапе S205), возможные режимы для режима предсказания добавляются к списку 0 возможных режимов, основываясь на заданном порядке приоритетов режимов предсказания и в восходящем порядке приоритетов, так чтобы один и тот же режим предсказания не дублировался в списке 0 возможных режимов (S206), после чего процесс завершается. На фиг. 10 представлена таблица, показывающая заданный порядок приоритетов режимов предсказания. Когда количество режимов предсказания, добавленных к списку 0 возможных режимов, не меньше заданного количества (NO на этапе S205), процесс завершается.
На фиг. 11 представлена блок-схема последовательности выполнения операций процесса формирования списка 1 возможных режимов предсказания. Процесс формирования списка 1 возможных режимов предсказания будет описан со ссылкой на фиг. 11. Определено, что первоначально список 1 возможных режимов предсказания пуст и количество возможных режимов, включенных в список 1 возможных режимов предсказания, равно 0. Список возможных режимов предсказания будет сокращенно называться как список возможных режимов.
Этапы S310, S301, S302, S303, S304, S305 повторяются, определяя блок A, блок B, блок C, блок D и блок E изображения как блок X изображения в заявленном порядке (S300 и S306).
Блок X изображения исследуется, чтобы увидеть, используется ли угловой режим внутрикадрового предсказания (S310). Когда в блоке X изображения используется угловой режим внутрикадрового предсказания (YES на этапе S310), управление переходит к этапу S301. Когда в блоке X изображения внутрикадровое предсказание не используется (NO на этапе S310), управление переходит к этапу S306.
Учитывая выбранный режим N предсказания блока X изображения, этапы S302, S303, и S304 повторяются в порядке выбранного режима 1 предсказания и выбранного режима 0 предсказания (этапы S301 и S305).
Когда тот же самый выбранный режим предсказания N, что и для блока X изображения, не найден в списке 1 возможных режимов (YES на этапе S302), режим предсказания блока X изображения добавляется к списку 1 возможных режимов (S303). Далее количество режимов предсказания, добавленных к списку 1 возможных режимов, исследуется, чтобы увидеть, достигло ли оно заданного количества (S304). Когда количество режимов предсказания, добавленных к списку 1 возможных режимов, достигло заданного количества (YES на этапе S304), процесс завершается. Когда количество режимов предсказания, добавленных к списку 1 возможных режимов, не достигло заданного количества (NO на этапе S304), управление переходит к этапу S305. Здесь определено, что заданное количество равно 3. Когда тот же самый выбранный режим предсказания N, что и для блока X изображения, найден в списке 1 возможных режимов (NO на этапе S302), управление переходит к этапу S305.
Когда количество режимов предсказания, добавленных к списку 1 возможных режимов, меньше заданного количества (YES на этапе S307), возможные режимы предсказания добавляются к списку 1 возможных режимов, основываясь на заданном порядке приоритетов режимов предсказания и в восходящем порядке приоритетов так, чтобы один и тот же режим предсказания не дублировался в списке 1 возможных режимов (S308), после чего процесс завершается. На фиг. 12 показана таблица, показывающая заданный порядок приоритетов режимов предсказания. В отличие от таблицы, приведенной на фиг. 10, таблица на фиг. 12 не содержит неугловые режимы внутрикадрового предсказания (режим 0 предсказания и режим 1 предсказания). Режим внутрикадрового предсказания в вертикальном направлении и режим внутрикадрового предсказания в горизонтальном направлении располагаются поочередно в порядке приоритетов. Когда количество режимов предсказания, добавленных к списку возможных режимов, не меньше заданного количества (NO на этапе S307), процесс завершается.
Здесь будет представлено описание преимущества, даваемого вариантом 1 осуществления. Когда размер блока изображения, подвергаемого предсказанию, будет большим, вероятность, что множество краев включается в блок, подвергаемый предсказанию, будет высокой. Когда блок изображения подвергается предсказанию, используя только один режим внутрикадрового предсказания, в случае, когда в блоке изображения, подвергаемом предсказанию, содержится множество краев, вероятность снижения эффективности предсказания является высокой.
В случае, когда размер блока изображения, подвергаемого предсказанию, большой, предсказание, которое использует два режима внутрикадрового предсказания, может обратиться к случаю, в котором края обнаруживаются в двух направлениях в блоке изображения, подвергаемом предсказанию, и это может улучшить эффективность предсказания.
Далее будет приведено описание подробностей кодирования режима внутрикадрового предсказания (битовый поток для режима внутрикадрового предсказания). На фиг. 13 представлен синтаксис, связанный с режимом внутрикадрового предсказания варианта 1 осуществления.
На фиг. 13 показан синтаксис блока прогнозирования, где pbWidth обозначает ширину блока прогнозирования, а pbHeight, обозначает высоту блока прогнозирования. pbWThread обозначает заданную пороговую ширину, а pbHThread обозначает заданную пороговую высоту. Режим внутрикадрового предсказания кодируется и декодируется, основываясь на синтаксисе, приведенном на фиг. 13.
prev_intra_luma_pred_flag, mpm_idx и rem_intra_luma_pred_mode являются синтаксисами, связанными с выбранным режимом 0 предсказания. prev_intra_luma_pred_flag является флагом, указывающим, является ли выбранный режим 0 предсказания режимом, выбранным из списка 0 возможных режимов предсказания. Когда флаг prev_intra_luma_pred_flag равен 1, выбранный режим 0 предсказания 0 выбирается из списка 0 возможных режимов предсказания. Когда флаг prev_intra_luma_pred_flag равен 0, выбранный режим 0 предсказания выбирается из режимов внутрикадрового предсказания, не содержащихся в списке 0 возможных режимов предсказания. mpm_idx является индексом, указывающим выбранный режим 0 предсказания, выбранный из числа возможных режимов, включенных в список 0 возможных режимов предсказания. rem_intra_luma_pred_mode является индексом, указывающим выбранный режим 0 предсказания, выбранный из числа возможных режимов, не включенных в список 0 возможных режимов предсказания.
2nd_prev_intra_luma_pred_flag, 2nd_mpm_idx и 2nd_rem_intra_luma_pred_mode являются синтаксисами, связанные с выбранным режимом 1 предсказания. 2nd_prev_intra_luma_pred_flag является флагом, указывающим, выбирается ли выбранный режим 1 предсказания из списка 1 возможных режимов предсказания. Когда флаг 2nd_prev_intra_luma_pred_flag равен 1, выбранный режим 1 предсказания выбирается из списка 1 возможных режимов предсказания. Когда флаг 2nd_prev_intra_luma_pred_flag равен 0, выбранный режим 1 предсказания выбирается из списка 1 режимов внутрикадрового предсказания, не включенных в список 1 возможных режимов предсказания. 2nd_mpm_idx является индексом, указывающим выбранный режим 1 предсказания, выбранный из возможных режимов, включенных в список 1 возможных режимов предсказания. 2nd_rem_intra_luma_pred_mode является индексом, указывающим выбранный режим 1 предсказания, который выбирается из возможных режимов, не включенных в список 1 возможных режимов предсказания.
prev_intra_luma_pred_flag, rem_intra_luma_pred_mode, 2nd_prev_intra _lumapred_flag и 2nd_rem_intra_luma_pred_mode подвергаются бинаризации с фиксированной длиной (fixed-length, FL) и mpm_idx и 2nd_mpm_idx подвергаются усеченной бинаризации Райса (truncated rice, TR).
Случай 1 варианта 1 осуществления
Далее будет приведено описание случая 1 варианта 1 осуществления. Вычисляя значение предсказания в угловом режиме внутрикадрового предсказания (режимы 2-34 предсказания), значение предсказания может быть вычислено из опорных пикселей, сформированных, фильтруя пиксели, соседствующие с блоком изображения, подвергаемым предсказанию, вместо того чтобы вычислять значение предсказания из пикселей, соседствующих с блоком изображения, подвергаемым предсказанию согласно соответствующим углам.
Альтернативно, значение предсказания может быть вычислено из ссылочных пикселей, сформированных путем фильтрации пикселей, соседствующих с блоком изображения, подвергаемым предсказанию, в случае, когда количество режимов предсказания равно 1, и значение предсказания может быть вычислено из пикселей, соседствующих с блоком изображения, подвергаемым предсказанию, в случае, когда количество режимов предсказания равно 2. Таким образом, объемы обработки, используемые в случае, когда количество режимов предсказания равно 1, и в случае, когда количество режимов предсказания равно 2, могут быть усреднены.
Случай 2 варианта 1 осуществления
Далее будет представлено описание случая 2 варианта 1 осуществления. В варианте 1 осуществления список 1 возможных режимов предсказания описывается как сформированный согласно фиг. 11 способом, отличным от списка 0 возможных режимов предсказания, и выбранный режим 1 предсказания выбирается из списка 1 возможных режимов предсказания. Альтернативно, выбранный режим 1 предсказания может быть выбран из списка 0 возможных режимов предсказания. Это может сократить процесс формирования списка 1 возможных режимов предсказания.
Дополнительно, заданное количество возможных режимов в списке 0 возможных режимов предсказания может быть больше 3. Например, заданное количество возможных режимов в списке возможных режимов предсказания может быть равно 5. В этом случае, вероятность, что выбранный режим 1 предсказания кодируется в 2nd_mpm_idx, будет повышена и эффективность кодирования будет увеличена. В случае, когда заданное количество больше 3, заданный порядок приоритетов может содержать 4 или больше режимов. В этом случае режим внутрикадрового предсказания в вертикальном направлении и режим внутрикадрового предсказания в горизонтальном направлении располагаются, чередуясь в порядке приоритетов.
Случай 3 варианта 1 осуществления
Далее будет приведено описание случая 3 варианта 1 осуществления. В варианте 1 осуществления один выбранный режим 1 предсказания выбирается из режимов предсказания 0-34. В случае 3 выбранный режим 1 предсказания может быть выбран из списка 1 возможных режимов предсказания. В этом случае 2nd_prev_intra_luma_pred_flag и 2nd_rem_intra_luma_pred_mode на фиг. 13 становятся ненужными и необходим будет только 2nd_mpm_idx. Таким образом, эффективность кодирования в выбранном режиме 1 предсказания 1 может быть улучшена.
Случай 4 варианта 1 осуществления
Далее будет дано описание случая 4 варианта 1 осуществления. В варианте 1 осуществления список 1 возможных режимов предсказания формируется, как показано на фиг. 11, независимо от выбранного режима 0 предсказания. В случае 4 список 1 возможных режимов предсказания формируется, основываясь на выбранном режиме 0 предсказания.
Режимы, соседствующие с выбранным режимом 0 предсказания с обеих сторон, добавляются к списку 1 возможных режимов предсказания, как указывается выражением 1 и выражением 2. Таким образом, может быть сформирован промежуточный режим предсказания между двумя соседними режимами предсказания.
список 1 [0] возможных режимов предсказания = (выбранный режим предсказания 0‒1)%35 ... (Выражение 1)
список 1 [1] возможных режимов предсказания = (выбранный режим предсказания 0+1)%35 ... (Выражение 2)
"%" является оператором остаточного члена, и "35" является количеством режимов внутрикадрового предсказания. Другими словами, остаточный член от деления (выбранного режима 0-1 предсказания) на 35 добавляется к списку 1 [0] возможных режимов предсказания. Точно также, остаточный член от деления" (выбранного режима 0+1 предсказания) на 35 добавляется к списку 1 [1] возможных режимов предсказания. Остаточный член находится в диапазоне 0-34.
Так как выбранный режим 0 предсказания не может быть неугловым режимом внутрикадрового предсказания, выбранный режим 0 предсказания не будет режимом 0 предсказания или режимом 1 предсказания. Когда выбранный режим 0 предсказания будет режимом 2 предсказания, то тогда список 1 [0] возможных режимов предсказания будет режимом 1 предсказания. Однако режим 1 предсказания является неугловым режимом внутрикадрового предсказания и поэтому определяется как недействительный. Точно также, когда выбранный режим предсказания 0 является режимом предсказания 34, список 1 [1] возможных режимов предсказания будет режимом 0 предсказания. Однако режим 0 предсказания является неугловым режимом внутрикадрового предсказания и поэтому определяется как недействительный.
Синтаксис, связанный с режимом внутрикадрового предсказания, также различается.
На фиг. 14 представлен синтаксис, связанный с режимом внутрикадрового предсказания для случая 4 варианта 1 осуществления. Когда 2nd_intra_luma_pred_0_flag равен 1, список 1 [0] возможных режимов предсказания выбирается как выбранный режим 1 предсказания. Когда 2nd_intra_luma_pred_0_flag равен 0, список 1 [1] возможных режимов предсказания выбирается как выбранный режим 1 предсказания. Таким образом, эффективность кодирования выбранного режима 1 предсказания может быть улучшена. Когда выбранный режим 0 предсказания является режимом 2 предсказания или режимом 34 предсказания, режим внутрикадрового предсказания уникально определяется как равный 0. Поэтому нет необходимости кодировать или декодировать 2nd_intra_luma_pred_0_flag. Таким образом, эффективность кодирования и эффективность обработки могут быть дополнительно улучшены.
Случай 5 варианта 1 осуществления
Теперь будет приведено описание случая 5 варианта 1 осуществления. Блок 125 взвешивания значения предсказания согласно варианту 1 осуществления просто усредняет значение предсказания в выбранном режиме 0 предсказания и значение предсказания в выбранном режиме 1 предсказания, чтобы получить значение предсказания, когда количество режимов предсказания равно 2. В случае 5 взвешенное среднее значение для значения предсказания в выбранном режиме 0 предсказания 0 и для значения предсказания в выбранном режиме 1 предсказания вычисляется в соответствии с расстоянием, и результирующее значение определяется как значение предсказания.
Обозначая расстояние между пикселем, подвергаемым предсказанию, и соседним пикселем N0 в выбранном режиме 0 предсказания как d0, и расстояние между пикселем, подвергаемым предсказанию и соседним пикселем N1 в выбранном режиме 1 предсказания как d1, значение PP предсказания в результате усреднения вычисляется согласно выражению 3.
PP = (N0*d1+N1*d0) / (d0+d1)... (Выражение 3)
Случай 6 варианта 1 осуществления
Далее будет приведено описание случая 6 варианта 1 осуществления. В варианте 1 осуществления, устанавливать ли количество режимов предсказания равным 1 или 2, определяется, исследуя, является ли ширина блока изображения, подвергаемого предсказанию, равной или большей, чем заданная пороговая ширина, и является ли высота блока изображения, подвергаемого предсказанию, равной или большей, чем заданная пороговая высота. Альтернативно, флаг количества режимов предсказания, указывающий, равно ли количество режимов предсказания 1 или 2, может быть кодирован (декодирован) для определения количества. Это позволяет, используя флаг, иметь более точное управление и поэтому эффективность предсказания улучшается.
Вариант 2 осуществления
Далее будет приведено описание варианта 2 осуществления. Конфигурация и порядок действия блока выбора режима внутрикадрового предсказания в варианте 2 осуществления отличаются от варианта 1 осуществления.
На фиг. 15 показана конфигурация блока 120 выбора режима внутрикадрового предсказания, соответствующая варианту 2 осуществления настоящего изобретения. Блок 120 выбора режима внутрикадрового предсказания содержит блок 122 формирования возможных режимов предсказания, блок 123 выбора режима предсказания, блок 124 вычисления значения предсказания и блок 125 взвешивания значения предсказания.
На фиг. 16 представлена блок-схема последовательности выполнения операций блока 120 выбора режима внутрикадрового предсказания. Подробности работы блока 120 выбора внутрикадрового предсказания будет объяснены здесь далее со ссылкой на фиг. 15 и 16. Первоначально, блок 122 формирования возможных режимов предсказания повторяет этапы S501-S503, чтобы вычислить показатели оценки неугловых режимов K внутрикадрового предсказания, количество повторений, определяемое количеством неугловых режимов K внутрикадрового предсказания (S502). Когда K равно 0, вычисляется показатель оценки INTRA_PLANAR. Когда K равно 1, вычисляется показатель оценки INTRA_DC.
Блок 122 формирования возможных режимов предсказания 122 повторяет этапы S505-S508, причем количество повторений определяется количеством списков М возможных режимов предсказания. Блок 122 формирования возможных режимов предсказания формирует список М возможных режимов предсказания из кодированных соседних блоков изображения, расположенных вокруг блока изображения, подвергаемого предсказанию, (S506), и подает список М возможных режимов предсказания, сформированный таким образом, на блок 123 выбора режима предсказания. Список М возможных режимов предсказания формируется так, чтобы содержать режимы внутрикадрового предсказания в горизонтальном направлении, когда М равно 0, и содержать режимы внутрикадрового предсказания в вертикальном направлении, когда М равно 1. Неугловые режимы внутрикадрового предсказания не будут включаться в список М возможных режимов предсказания.
В случае списка 0 возможных режимов предсказания блок 122 формирования возможных режимов предсказания вычисляет значение предсказания и показатель оценки для каждого из режимов 2-17 предсказания, которые являются режимами внутрикадрового предсказания в горизонтальном направлении, включенными в список 0 возможных режимов предсказания, и выбирает один выбранный режим 0 предсказания из режимов 2-17 предсказания, основываясь на показателях оценки соответствующих режимов предсказания, вычисленных таким образом.
В случае списка 1 возможных режимов предсказания, блок 122 формирования возможных режимов предсказания вычисляет значение предсказания и показатель оценки для каждого из режимов 18-34 предсказания, которые являются режимами внутрикадрового предсказания в вертикальном направлении, включенными в список 1 возможных режимов предсказания, и выбирает один выбранный режим 1 предсказания из режимов 18-34 предсказания, основываясь на показателях оценки соответствующих режимов предсказания, вычисленных таким образом (S507). Как описано выше, M=0 означает режим внутрикадрового предсказания в горизонтальном направлении, а M=1 означает режим внутрикадрового предсказания в вертикальном направлении. Другими словами, М указывает направление режима внутрикадрового предсказания.
Блок 122 формирования возможных режимов предсказания затем подвергает значение предсказания в выбранном режиме 0 предсказания и значение предсказания в выбранном режиме 1 предсказания взвешенному усреднению, чтобы вычислить показатель оценки в случае количества режимов предсказания, равного 2 из 2 (S510). Блок 123 выбора режима предсказания затем выбирает один режим внутрикадрового предсказания из режима 0 предсказания, режима 1 предсказания и количества режимов предсказания, равного 2, основываясь на показателе оценки режима 0 предсказания, режима 1 предсказания и количестве режимов предсказания, равном 2. Блок 125 взвешивания значения предсказания выводит значение предсказания, основанное на выбранном режиме внутрикадрового предсказания (S512).
Дополнительно, синтаксис, связанный с режимом внутрикадрового предсказания в варианте 2 осуществления, отличается от варианта 1 осуществления.
На фиг. 17 представлен синтаксис, связанный с режимом внутрикадрового предсказания варианта 2 осуществления. Режим внутрикадрового предсказания кодируется или декодируется, основываясь на синтаксисе, показанном на фиг. 17.
intra_luma_merge_flag указывает флаг слияния, указывающий, использовать ли в качестве количества режимов предсказания и режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, количество режимов предсказания и режим внутрикадрового предсказания соседнего блока изображения.
intra_luma_merge_idx указывает соседний блок изображения, имеющий количество режимов предсказания блока изображения, подвергаемого предсказанию, имеющий количество режимов предсказания, которое должно использоваться в качестве режима внутрикадрового предсказания, и имеющий режим внутрикадрового предсказания блока изображения, подвергаемого предсказанию.
На фиг. 18 представлена таблица, показывающая соотношение между intra_luma_merge_idx и соседним блоком. В случае i) intra_luma_merge_idx равен 0 и ii) количество режимов предсказания равно 1, и выбранный режим 0 предсказания является режимом 3 предсказания в соседнем блоке A изображения, количество режимов предсказания будет равно 1 и выбранный режим 0 предсказания будет режимом 3 предсказания в блоке изображения, подвергаемом предсказанию. В другом примере в случае i) intra_luma_merge_idx равен 2 и ii) количество режима предсказания в соседнем блоке C изображения равно 2 и iii) выбранный режим 0 предсказания является режимом 3 предсказания, и выбранный режим 1 предсказания является режимом 20 предсказания в соседнем блоке C изображения, количество выбранных режимов предсказания будет равно 2, выбранный режим 0 предсказания будет режимом 3 предсказания, и выбранный режим 1 предсказания будет режимом 20 предсказания в блоке изображения, подвергаемом предсказанию.
intra_luma_non_angular_pred_flag является флагом, указывающим, является ли режим неугловым режимом внутрикадрового предсказания. Когда флаг, указывающий, является ли режим неугловым режимом внутрикадрового предсказания, указывает, что режим является неугловым режимом внутрикадрового предсказания (intra_luma_non_angular_pred_flag равно 1), non_angular_idx кодируется (декодируется) и режим внутрикадрового предсказания, указанный посредством non_angular_idx, выбирается в качестве выбранного режима внутрикадрового предсказания. non_angular_idx указывает режим предсказания, который является неугловым режимом внутрикадрового предсказания. Когда non_angular_idx равно 0, указывается INTRA_PLANAR. Когда non_angular_idx равен 1, указывается INTRA_DC. Когда флаг, указывающий, является ли режим неугловым режимом внутрикадрового предсказания, это указывает, что режим не является неугловым режимом внутрикадрового предсказания (intra_luma_non_angular_pred_flag равен 0), индексы, подобные prev_intra_luma_pred_h_flag и rem_intra_luma_pred_mode_h, кодируются (декодируются), и режим внутрикадрового предсказания, отличный от неугловых I режимов внутрикадрового предсказания, выбирается в качестве выбранного режима внутрикадрового предсказания.
intra_luma_pred_idc указывает количество режимов предсказания и направление внутрикадрового предсказания. Когда intra_luma_pred_idc равно 0, это указывает количество режимов предсказания, равное 1, и режим внутрикадрового предсказания в горизонтальном направлении. Когда intra_luma_pred_idc равен 1, это указывает количество режимов предсказания, равное 1, и режим внутрикадрового предсказания в вертикальном направлении. Когда intra_luma_pred_idc равно 2, это указывает, что количество режимов предсказания равно 2.
prev_intra_luma_pred_h_flag, mpm_idx_h и rem_intra_luma_pred_mode_h являются синтаксисами, связанными с режимом внутрикадрового предсказания в горизонтальном направлении. prev_intra_luma_pred_v_flag, mpm_idx_v, и rem_intra_luma_pred_mode_v являются синтаксисами, связанными с режимом внутрикадрового предсказания в вертикальном направлении. Неугловой режим внутрикадрового предсказания не будет содержаться в rem_intra_luma_pred_mode_h и rem_intra_luma_pred_mode_v.
В варианте 2 осуществления используя флаг слияния, чтобы напрямую использовать режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, эффективность кодирования в случае, когда количество режимов предсказания равно 2, или эффективность кодирования в режиме предсказания, не найденном в списке возможных режимов предсказания, может быть улучшена.
Дополнительно, классифицируя режимы внутрикадрового предсказания как режим 0 предсказания и режим 1 предсказания, которые являются неугловыми режимами внутрикадрового предсказания; режимы 2-17 предсказания, которые являются режимами внутрикадрового предсказания в горизонтальном направлении; и режимы 18-34 предсказания, которые являются режимами внутрикадрового предсказания в вертикальном направлении, и путем деления синтаксиса, связанного с режимом внутрикадрового предсказания на элементы синтаксиса для неугловых режимов внутрикадрового предсказания, элементы синтаксиса для предсказания в горизонтальном направлении и элементы синтаксиса для предсказания в вертикальном направлении, эффективность кодирования может быть улучшена, когда выбирается режим предсказания, не найденный в списке возможных режимов предсказания.
Другими словами, кодирование (декодирование) intra_luma_non_angular_pred_flag, прежде чем rem_intra_luma_pred_mode_h или rem_intra_luma_pred_mode_v делает это ненужным, содержит неугловой режим внутрикадрового предсказания в rem_intra_luma_pred_mode_h или в rem_intra_luma_pred_mode_v в дополнение к возможным режимам внутрикадрового предсказания, содержащимся в списке возможных режимов предсказания. Это может увеличить количество угловых режимов внутрикадрового предсказания, которые могут быть назначены rem_intra_luma_pred_mode_h или rem_intra_luma_pred_mode_v, так чтобы эффективность кодирования могла быть улучшена. Например, в случае режимов внутрикадрового предсказания в горизонтальном направлении количество режимов внутрикадрового предсказания может быть увеличено, определяя новый угол между режимом 9 предсказания и режимом 10 предсказания или между режимом 10 предсказания и режимом 11 предсказания. В случае режимов внутрикадрового предсказания в вертикальном направлении новый угловой режим внутрикадрового предсказания может быть обеспечен между режимом 25 предсказания и режимом 26 предсказания или между режимом 26 предсказания и режимом 27 предсказания.
Дополнительно, вероятность, что выбирается неугловой режим внутрикадрового предсказания, обычно более высокая, чем для углового режима внутрикадрового предсказания. Поэтому кодирование (декодирование) intra_luma_non_angular_pred_flag, который является независимым синтаксисом, указывающим неугловой режим внутрикадрового предсказания, прежде mpm_idx_h или mpm_idx_v делает ненужным включение неуглового режима внутрикадрового предсказания в список возможных режимов 0 предсказания или в список 1 возможных режимов предсказания. Поэтому в случае, когда выбранный режим предсказания является неугловым режимом внутрикадрового предсказания, стоимость обработки для формирования списка 0 возможных режимов предсказания 0 или списка 1 возможных режимов предсказания может быть исключена.
Флаг слияния и классификация синтаксиса предпочтительно улучшают эффективность кодирования в случае, когда количество неугловых режимов внутрикадрового предсказания увеличивается свыше 2, или в случае, когда типы неугловых режимов внутрикадрового предсказания или углы режимов внутрикадрового предсказания классифицируются с большими подробностями. intra_luma_merge_idx, intra_luma_non_angular_pred_flag и non_angular_idx могут в равной степени применяться перед mpm_idx в синтаксисе, показанном на фиг. 2, соответствующем предшествующему уровню техники, или в синтаксисе, показанном на фиг. 13 или фиг. 14, соответствующем варианту 1 осуществления.
Случай 1 варианта 2 осуществления
Далее будет приведено описание случая 1 варианта 2 осуществления. В варианте 2 осуществления определяется список 0 возможных режимов предсказания, чтобы включить в него режимы внутрикадрового предсказания в горизонтальном направлении, и список 1 возможных режимов предсказания определяется, чтобы включить в него режимы внутрикадрового предсказания в вертикальном направлении, так чтобы список возможных режимов предсказания и классификация синтаксиса, связанного с режимом внутрикадрового предсказания, не противоречили друг другу. Однако вариант осуществления не создает ограничений в отношении конфигурации.
Как и в случае списка возможных режимов предсказания варианта 1 осуществления, список возможных режимов предсказания может содержать все такие режимы предсказания, как неугловой режим внутрикадрового предсказания, режим внутрикадрового предсказания в горизонтальном направлении и режим внутрикадрового предсказания в вертикальном направлении.
Случай 2 варианта 2 осуществления
Далее будет приведено описание случая, в котором список возможных режимов предсказания содержит режим внутрикадрового предсказания в горизонтальном направлении и режим внутрикадрового предсказания в вертикальном направлении. Следует заметить, однако, что неугловой режим внутрикадрового предсказания не включается в список возможных режимов предсказания. На фиг. 19 представлен синтаксис, связанный с режимом внутрикадрового предсказания, связанный со случаем 2 варианта 2 осуществления. Режим внутрикадрового предсказания кодируется или декодируется, основываясь на синтаксисе, представленном на фиг. 19.
Когда флаг prev_intra_luma_pred_flag равен 1, выбранный режим предсказания выбирается из неугловых режимов внутрикадрового предсказания или из списка возможных режимов предсказания. Когда флаг, указывающий, является ли режим неугловым режимом внутрикадрового предсказания, указывает, что режим является неугловым режимом внутрикадрового предсказания, неугловой режим внутрикадрового предсказания, указываемый посредством non_angular_idx, выбирается в качестве выбранного режима внутрикадрового предсказания. Когда флаг, указывающий, является ли режим неугловым режимом внутрикадрового предсказания, указывает, что режим не является неугловым режимом внутрикадрового предсказания, индекс mpm (mpm_idx) кодируется (декодируется) и возможный режим внутрикадрового предсказания, включенный в список возможных режимов предсказания и указываемых mpm_idx, выбирается в качестве выбранного режима предсказания. Когда флаг prev_intra_luma_pred_flag равен 0, режим внутрикадрового предсказания, указываемый rem_intra_luma_pred_mode, выбирается в качестве выбранного режима предсказания из режимов внутрикадрового предсказания, которые не являются неугловыми режимами внутрикадрового предсказания и которые не включаются в список возможных режимов предсказания.
На фиг. 20 представлен другой синтаксис, связанный с режимом внутрикадрового предсказания случая 2 варианта 2 осуществления. Режим внутрикадрового предсказания кодируется или декодируется, основываясь на синтаксисе, представленном на фиг. 20.
Когда флаг intra_luma_non_angular_pred_flag равен 1, режим неуглового внутрикадрового предсказания, указанный посредством non_angular_idx, выбирается в качестве выбранного режима внутрикадрового предсказания. Когда флаг intra_luma_non_angular_pred_flag равен 0 и флаг prev_intra_luma_pred_flag равен 1, возможный режим внутрикадрового предсказания, включенный в список возможных режимов предсказания и указанный посредством mpm_idx, выбирается в качестве выбранного режима предсказания. Когда флаг intra_luma_non_angular_pred_flag равен 0 и флаг prev_intra_luma_pred_flag равен 0, режим внутрикадрового предсказания, указанный посредством rem_intra_luma_pred_mode, выбирается в качестве выбранного режима предсказания из числа режимов внутрикадрового предсказания, которые не являются неугловыми режимами внутрикадрового предсказания и которые не включаются в список возможных режимов предсказания.
В соответствии со случаем 2 варианта 2 осуществления, rem_intra_luma_pred_mode может указывать только любой из 30 режимов внутрикадрового предсказания, исключая из общего числа 35 режимов внутрикадрового предсказания возможные режимы внутрикадрового предсказания и неугловые режимы внутрикадрового предсказания. Эффективность кодирования может быть улучшена, вводя новые режимы внутрикадрового предсказания. Например, в качестве нового режима внутрикадрового предсказания, может обеспечиваться новый угловой режим внутрикадрового предсказания между режимом 9 предсказания и режимом 10 предсказания, между режимом 10 предсказания и режимом 11 предсказания, между режимом 25 предсказания и режимом 26 предсказания или между режимом 26 предсказания и режимом 27 предсказания. Дополнительно, со ссылкой на фиг. 20, неугловой режим внутрикадрового предсказания может быть кодирован (декодирован) с использованием intra_luma_non_angular_pred_flag и non_angular_idx. Поэтому эффективность обработки и эффективность кодирования улучшаются в случае, когда вероятность выбора неуглового режима внутрикадрового предсказания более высокая, чем вероятность выбора других режимов внутрикадрового предсказания.
Случай 3 варианта 2 осуществления
Далее будет представлено описание случая, в котором список возможных режимов предсказания содержит неугловой режим внутрикадрового предсказания INTRA_DC, режимы внутрикадрового предсказания в горизонтальном направлении и режимы внутрикадрового предсказания в вертикальном направлении. Следует заметить, однако, что INTRA_PLANAR не содержится в списке возможных режимов предсказания. В варианте 2 осуществления флаг (intra_luma_non_angular_pred_flag), указывающий, является ли режим неугловым режимом внутрикадрового предсказания, кодируется (декодируется). В случае 3 варианта 2 осуществления флаг, указывающий, является ли режим неугловым режимом внутрикадрового предсказания, кодируется (декодируется), дополнительно ограничивая флаг индикацией, является ли режим режимом INTRA_PLANAR, режимом внутрикадрового предсказания, который наиболее вероятно выбирается из числа режимов внутрикадрового предсказания. Когда выбранным режимом предсказания является режим INTRA_PLANAR, нет необходимости кодировать (декодировать) non_angular_idx, так что эффективность кодирования INTRA_PLANAR может быть улучшена. Когда флаг, указывающий, является ли режим режимом INTRA_PLANAR, указывает, что режим является режимом INTRA_PLANAR, INTRA_PLANAR выбирается в качестве выбранного режима предсказания. Как показано на фиг. 19, когда флаг, указывающий, является ли режим режимом INTRA_PLANAR, указывает, что режим не является режимом INTRA_PLANAR, mpm_idx кодируется (декодируется) и режим внутрикадрового предсказания, отличный от INTRA_PLANAR, выбирается в качестве выбранного режима внутрикадрового предсказания. Со ссылкой на фиг. 20, когда флаг, указывающий, является ли режим режимом INTRA_PLANAR, указывает, что режим не является режимом INTRA_PLANAR, индексы, подобные prev_intra_luma_pred_flag, mpm_idx и т.д., кодируются (декодируются) и режим внутрикадрового предсказания, отличный от INTRA_PLANAR, выбирается в качестве выбранного режима внутрикадрового предсказания.
В соответствии со случаем 3 варианта 2 осуществления, rem_intra_luma_pred_mode может указывать только любой из 31 режимов внутрикадрового предсказания, исключая из общего количества 35 режимов внутрикадрового предсказания, возможные режимы предсказания и INTRA_PLANAR. Эффективность кодирования может быть улучшена, вводя новые режимы внутрикадрового предсказания. Например, в качестве как нового режима внутрикадрового предсказания может быть обеспечен новый угловой режим внутрикадрового предсказания между режимом 9 предсказания и режимом 10 предсказания, между режимом 10 предсказания и режимом 11 предсказания, между режимом 25 предсказания и режимом 26 предсказания или между режимом 26 предсказания и режимом 27 предсказания. Дополнительно, со ссылкой на фиг. 20, INTRA_PLANAR может быть кодирован только с одним флагом intra_luma_non_angular_pred_flag. Поэтому эффективность обработки и эффективность кодирования оптимизируются в случае, когда вероятность выбора INTRA_PLANAR относительно более высокая, чем вероятность выбора других режимов внутрикадрового предсказания. Дополнительно, со ссылкой на фиг. 19, INTRA_PLANAR может быть кодирован с двумя флагами prev_intra_luma_pred_flag и intra_luma_non_angular_pred_flag. Поэтому, эффективность обработки и эффективность кодирования улучшаются в случае, когда вероятность выбора INTRA_PLANAR относительно выше, чем для других режимов внутрикадрового предсказания.
Битовый поток с выхода устройства кодирования изображения, соответствующего вариантам осуществления, описанным выше, имеет уникальный формат данных, так чтобы битовый поток мог декодироваться в соответствии со способом кодирования, используемым в вариантах осуществления. Устройство декодирования изображения, совместимое с устройством кодирования изображения, может декодировать битовый поток, имеющий этот уникальный формат данных.
Когда проводная или беспроводная сеть используется для обмена битовым потоком между устройством кодирования изображения и устройством декодирования изображения, битовый поток может быть преобразован в формат данных, пригодный для режима передачи канала связи, и соответственно передаваться. В этом случае обеспечиваются устройство передачи изображения для преобразования битового потока с выхода устройства кодирования изображения в кодированные данные формата данных, пригодного для режима передачи канала связи, и устройство приема изображения для приема кодированных данные от сети, восстановления битового потока и подачи битового потока на устройство декодирования изображения.
Устройство передачи изображения содержит память для буферирования битового потока, поступающего с выхода устройства кодирования изображения, блок пакетной обработки для пакетирования битового потока в кодированные данные, и передающий блок для передачи пакетированных кодированных данных через сеть. Устройство приема изображения содержит приемный блок, который принимает пакетированные кодированные данные через сеть, пакетный процессор, который обрабатывает принятые кодированные данные, чтобы восстановить битовый поток, и память, которая буферирует битовый поток. Битовый поток в буфере подается на устройство декодирования изображения.
Дополнительно, может быть добавлен дисплей для отображения картинки, декодированной устройством декодирования изображения. В этом случае дисплей отображает на экране сигнал изображения, декодированный устройством декодирования изображения.
Дополнительно, может обеспечиваться устройство отображения, добавляя блок отображения и вводя полученное изображение в устройство кодирования изображения. В этом случае блок отображения вводит сигнал изображения, содержащий изображение, в блок 110 определения размера блока изображения.
Описанные выше процессы, связанные с кодированием и декодированием, могут, конечно, быть реализованы передающим, приемным устройством и запоминающим устройством, используя аппаратные средства, и могут также быть реализованы встроенным микропрограммным обеспечением, хранящимся в постоянном запоминающем устройстве (read-only memory, ROM), флэш-памяти и т.д., или программным обеспечением на компьютере и т.д. Программа встроенного микропрограммного обеспечения или программа программного обеспечения могут быть сделаны доступными на носителе записи, который может считываться, например, компьютером. Альтернативно, программа может быть сделана доступной с сервера через проводную или беспроводную сеть. Также, альтернативно, программа может быть сделана доступной в форме широковещательной цифровой передачи данных через наземные или спутниковые широковещательные системы.
Описанное выше является объяснением, основанным на примерном варианте осуществления. Вариант осуществления предназначен служить только в качестве иллюстрации и специалистам в данной области техники должно быть понятно, что в сочетаниях входящих элементов и процессов возможны различные изменения и что такие изменения также находятся в рамках настоящего изобретения. Хотя описано множество вариантов осуществления и их случаев, возможно любое сочетание вариантов осуществления и их случаев.
Варианты осуществления могут быть определены нижеследующими пунктами.
Пункт 1. Устройство (100) кодирования изображения, содержащее:
блок (122) формирования возможных режимов предсказания, который формирует первый список возможных режимов внутрикадрового предсказания и второй список режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию;
блок (123) выбора режима предсказания, который выбирает первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания из первого списка возможных режимов внутрикадрового предсказания и второго списка возможных режимов внутрикадрового предсказания, соответственно;
блок (124) вычисления значения предсказания, который вычисляет первое значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляет второе значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
блок (125) взвешивания значения предсказания, который вычисляет третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания.
Пункт 2. Устройство (100) кодирования изображения по п. 1, в котором блок (125) взвешивания значения предсказания вычисляет третье значение предсказания, подвергая первое значение предсказания и второе значение предсказания простому усреднению или взвешенному усреднению.
Пункт 3. Устройство (100) кодирования изображения по п. 1 или 2, в котором
блок (122) формирования возможных режимов предсказания формирует список возможных режимов внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 2, и не формирует второй список возможных режимов внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 1,
блок (123) выбора режима внутрикадрового предсказания выбирает второй режим внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 2, и не выбирает второй режим внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 1,
блок (124) вычисления значения предсказания вычисляет второе значение предсказания, когда количество режимов внутрикадрового предсказания равно 2, и не вычисляет второе значение предсказания, когда количество режимов внутрикадрового предсказания равно 1, и
блок (125) взвешивания значения предсказания вычисляет третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания, когда количество режимов внутрикадрового предсказания равно 2, и напрямую использует первое значение предсказания в качестве значения предсказания, когда количество режимов внутрикадрового предсказания равно 1.
Пункт 4. Устройство (100) кодирования изображения по п. 3, дополнительно содержащее:
блок (121) определения количества режимов, который устанавливает количество режимов внутрикадрового предсказания равным 2, когда ширина блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой ширины, и высота блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой высоты, и устанавливает количество режимов внутрикадрового предсказания равным 1, когда не обнаружено, что ширина блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой ширины, и высота блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой высоты.
Пункт 5. Устройство (100) кодирования изображения по п. 4, в котором
блок (121) определения количества режимов устанавливает количество режимов внутрикадрового предсказания равным 1, когда первый режим внутрикадрового предсказания является неугловым режимом внутрикадрового предсказания.
Пункт 6. Устройство (100) кодирования изображения, соответствующее любому из пп. 3-5, дополнительно содержащее:
блок (140) кодирования, который кодирует информацию о втором режиме внутрикадрового предсказания в битовый поток, когда количество режимов внутрикадрового предсказания равно 2.
Пункт 7. Устройство (100) кодирования изображения, соответствующее любому из пп. 1-5, дополнительно содержащее:
блок (140) кодирования, который классифицирует множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания, и формирует битовый поток посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 8. Устройство (100) кодирования изображения по любому из пп. 1-4, дополнительно содержащее:
блок (140) кодирования, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и кодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 9. Способ кодирования изображения, содержащий этапы, на которых:
формируют первый список возможных режимов внутрикадрового предсказания и второй список режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию;
выбирают первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания из первого списка возможных режимов внутрикадрового предсказания и из второго списка возможных режимов внутрикадрового предсказания, соответственно;
вычисляют первое значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляют второе значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
вычисляют третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания.
Пункт 10. Программа кодирования изображения, содержащая компьютерно реализуемые блоки, содержащая:
блок, формирующий первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком, подвергаемым предсказанию;
блок, выбирающий первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания из первого списка возможных режимов внутрикадрового предсказания и из второго списка возможных режимов внутрикадрового предсказания, соответственно;
блок, вычисляющий первое значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляет второе значение предсказания из кодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
блок, вычисляющий третье значение предсказания, основываясь на первом значении предсказания и на втором значении предсказания.
Пункт 11. Устройство (100) кодирования изображения, в котором определяется множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем устройство (100) кодирования изображения содержит:
блок (140) кодирования, который классифицирует множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и на угловые режимы внутрикадрового предсказания и формирует битовый поток посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 12. Способ кодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем упомянутый способ кодирования изображения содержит этапы, на которых:
классифицируют множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания и формируют битовый поток посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 13. Программа кодирования изображения, в которой определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем программа кодирования изображения, содержащая компьютерно реализуемые программные блоки, содержит:
программный блок, который классифицирует множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания и формирует битовый поток посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 14. Устройство (100) кодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем упомянутое устройство (100) кодирования изображения содержит:
блок (140) кодирования, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и кодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 15. Способ кодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем упомянутый способ кодирования изображения содержит этапы, на которых:
получают в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и кодируют первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 16. Программа кодирования изображения, в которой определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя кодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем способ кодирования изображения, содержащий компьютерно реализуемые программные блоки, содержит:
программный блок, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и кодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 17. Устройство (200) декодирования изображения, содержащее:
блок (122) формирования возможных режимов предсказания, который формирует первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком, подвергаемым предсказанию;
блок (123) выбора режима предсказания, который выбирает первый режим внутрикадрового предсказания из битового потока в первом режиме внутрикадрового предсказания и выбирает второй режим внутрикадрового предсказания из битового потока во втором режиме внутрикадрового предсказания;
блок (124) вычисления значения предсказания, который вычисляет первое значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляет второе значение предсказания из декодированного пикселя, соседствующего с блоком, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
блок (125) взвешивания значения предсказания, который вычисляет третье значение предсказания, основываясь на первом значении предсказания и втором значении предсказания.
Пункт 18. Устройство (200) декодирования изображения по п. 17, в котором блок (125) взвешивания значения предсказания вычисляет третье значение предсказания, подвергая первое значение предсказания и второе значение предсказания простому усреднению или взвешенному усреднению.
Пункт 19. Устройство (200) декодирования изображения по п. 17 или 18, в котором
блок (122) формирования возможных режимов предсказания формирует второй список возможных режимов внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 2, и не формирует второй список возможных режимов внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 1,
блок (123) выбора режима внутрикадрового предсказания выбирает второй режим внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 2 и не выбирает второй режим внутрикадрового предсказания, когда количество режим внутрикадрового предсказания равно 1,
блок (124) вычисления значения предсказания вычисляет второе значение предсказания, когда количество режимов внутрикадрового предсказания равно 2 и не вычисляет второе значение предсказания, когда количество режимов внутрикадрового предсказания равно 1, и
блок (125) взвешивания значения предсказания вычисляет третье значение предсказания, основываясь на первом значении предсказания и втором значении предсказания, когда количество режимов внутрикадрового предсказания равно 2, и непосредственно использует первое значение предсказания в качестве значения предсказания, когда количество режимов внутрикадрового предсказания равно 1.
Пункт 20. Устройство (200) декодирования изображения по п. 19, дополнительно содержащее:
блок (121) определения количества режимов, который устанавливает количество режимов внутрикадрового предсказания равным 2, когда ширина блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой ширины, и высота блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой высоты, и устанавливает количество режимов внутрикадрового предсказания равным 1, когда не обнаруживает, что ширина блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой ширины, и высота блока изображения, подвергаемого предсказанию, равна или больше заданной пороговой высоты.
Пункт 21. Устройство (200) декодирования изображения по п. 20, в котором
блок (121) определения количества режима устанавливает количество режимов внутрикадрового предсказания равным 1, когда первый режим внутрикадрового предсказания является неугловым режимом внутрикадрового предсказания.
Пункт 22. Устройство (200) декодирования изображения по любому из пп. 17-21, дополнительно содержащее:
блок (210) декодирования, декодирующий битовый поток во втором режиме внутрикадрового предсказания, когда количество режимов внутрикадрового предсказания равно 2.
Пункт 23. Устройство (200) декодирования изображения по любому из пп. 17-21, дополнительно содержащее:
блок (210) декодирования, который классифицирует множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказание, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания, и декодирует битовый поток, сформированный посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 24. Устройство (200) декодирования изображения по любому из пп. 17-21, дополнительно содержащее:
блок (210) декодирования, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и декодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 25. Способ декодирования изображения, содержащий этапы, на которых:
формируют первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию;
выбирают первый режим внутрикадрового предсказания из битового потока в первом режиме внутрикадрового предсказания и выбирают второй режим внутрикадрового предсказания из битового потока во втором режиме внутрикадрового предсказания;
вычисляют первое значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляют второе значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
вычисляют третье значение предсказания, основываясь на первом значении предсказания и втором значении предсказания.
Пункт 26. Программа декодирования изображения, содержащая компьютерно реализуемые программные блоки, содержащая:
программный блок, который формирует первый список возможных режимов внутрикадрового предсказания и второй список возможных режимов внутрикадрового предсказания из режима внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию;
программный блок, который выбирает первый режим внутрикадрового предсказания из битового потока в первом режиме внутрикадрового предсказания и выбирает второй режим внутрикадрового предсказания из битового потока во втором режиме внутрикадрового предсказания;
программный блок, который вычисляет первое значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на первом режиме внутрикадрового предсказания, и вычисляет второе значение предсказания из декодированного пикселя, соседствующего с блоком изображения, подвергаемым предсказанию, основываясь на втором режиме внутрикадрового предсказания; и
программный блок, который вычисляет третье значение предсказания, основываясь на первом значении предсказания и втором значении предсказания.
Пункт 27. Устройство (200) декодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем упомянутое устройство (200) декодирования изображения содержит:
блок (210) декодирования, который классифицирует множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания, и декодирует битовый поток, сформированный посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 28. Способ декодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя декодированный пиксель, соседствующий с блоком, подвергаемым предсказанию, причем упомянутый способ декодирования изображения содержит этапы, на которых:
классифицируют множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания и декодируют битовый поток, сформированный посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 29. Программа декодирования изображения, в которой определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем программа декодирования изображения, содержащая компьютерно реализуемые программные блоки, содержит:
программный блок, который классифицирует множество режимов внутрикадрового предсказания на неугловые режимы внутрикадрового предсказания и угловые режимы внутрикадрового предсказания и декодирует сформированный битовый поток посредством деления синтаксиса на элементы синтаксиса для неугловых режимов внутрикадрового предсказания и элементы синтаксиса для угловых режимов внутрикадрового предсказания.
Пункт 30. Устройство (200) декодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем устройство (200) декодирования изображения содержит:
блок (210) декодирования, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и декодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 31. Способ декодирования изображения, в котором определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказание, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем упомянутый способ декодирования изображения содержит этапы, на которых:
получают в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и декодируют первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Пункт 32. Программа декодирования изображения, в которой определяют множество режимов внутрикадрового предсказания для выполнения внутрикадрового предсказания, используя декодированный пиксель, соседствующий с блоком изображения, подвергаемым предсказанию, причем программа декодирования изображения, содержащая компьютерно реализуемые программные блоки, содержит:
программный блок, который получает в качестве первого режима внутрикадрового предсказания и второго режима внутрикадрового предсказания блока изображения, подвергаемого предсказанию, первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания блока изображения, соседствующего с блоком изображения, подвергаемым предсказанию, и декодирует первый режим внутрикадрового предсказания и второй режим внутрикадрового предсказания, используя один элемент синтаксиса.
Промышленная применяемость
Настоящее изобретение применимо к устройству кодирования изображения, способу кодирования изображения и программе кодирования изображения для кодирования или декодирования изображения, используя внутрикадровое предсказание, и к устройству декодирования изображения, способу декодирования изображения и программе декодирования изображения для декодирования изображения, используя внутрикадровое предсказание.
Список ссылочных позиций
100 - Устройство кодирования изображения
110 - Блок определения размера блока изображения
120 - Блок выбора режима внутрикадрового предсказания
130 - Блок преобразования
140 - Блок кодирования
200 - Устройство декодирования изображения
210 - Блок декодирования
220 - Блок получения размера блока изображения
230 - Блок внутрикадрового предсказания
240 - Блок обратного преобразования.