СПОСОБ КОДИРОВАНИЯ ВИДЕО И СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО, УСТРОЙСТВА ДЛЯ ЭТОГО, ПРОГРАММЫ ДЛЯ ЭТОГО И НОСИТЕЛИ ХРАНЕНИЯ, НА КОТОРЫХ ХРАНЯТСЯ ПРОГРАММЫ
METHOD OF VIDEO CODING AND METHOD OF VIDEO DECODING, DEVICES FOR THIS, PROGRAMS FOR THIS, AND STORAGE CARRIERS, WHERE PROGRAMS ARE STORED

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу кодирования видео для кодирования видеоизображений, а также к соответствующему устройству; программе кодирования видео для реализации способа кодирования видео, а также к машиночитаемому носителю хранения, на котором хранится программа; способу декодирования видео для декодирования данных, которые были закодированы с применением способа кодирования видео, а также к соответствующему устройству; и к программе декодирования видео для реализации способа декодирования видео, а также к машиночитаемому носителю хранения, на котором хранится программа.
Испрашивается приоритет по дате подачи заявки на патент Японии № 2007-043190, поданной 23 февраля 2007, содержание которой включено в данный документ посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
При кодировании с внутренним предсказанием, когда предсказание выполняется в пределах одного кадра, невозможно достичь такой же высокой эффективности сжатия, какая достигается путем кодирования с внешним предсказанием, когда предсказание выполняется между различными кадрами. Следовательно, является желательным способ кодирования с внутренним предсказанием, достигающий высокой степени эффективности сжатия.
Внутреннее предсказание, которое выполняет предсказание в пределах одного кадра в пространственных измерениях, было реализовано в стандартах кодирования видео от H.264/MPEG-4 AVC (например, см. стр. 106-113 Непатентного документа 1).
Внутреннее предсказание осуществляется с использованием единичного блока, и в H.264/MPEG-4 AVC для сигнала яркости могут использоваться блоки трех размеров (4×4, 8×8 и 16×16). Для каждого размера блока предоставляется на выбор множество режимов предсказания.
Конкретнее, для размеров блоков 4×4 и 8×8 предоставляется девять режимов предсказания, как показано на Фиг. 5-3 на странице 108 Непатентного документа 1 для блока размером 4×4 и на Фиг. 11-6 на странице 261 Непатентного документа 1 для блока размером 8×8, где восемь режимов предсказания, отличных от «режима предсказания 2» имеют направление предсказания. Кроме того, для блока размером 16×16 предоставляется четыре режима предсказания, как показано на Фиг. 5-8 на странице 111 Непатентного документа 1.
Для сигнала цветности может использоваться только блок размером 16×16, при этом предоставляется четыре режима предсказания, как показано на Фиг. 5-9 на странице 112 Непатентного документа 1. Для направления предсказания предоставляется то же определение, что применимо для размера блока 16×16 для сигнала яркости. Однако соответствие между номером режима предсказания и направлением предсказания различно для двух сигналов.
Вышеупомянутые элементы также подробно объясняются в строках 118-136 Непатентного документа 2.
Для каждого размера блока и режима предсказания опорные пиксели, используемые для внутреннего предсказания, всегда принадлежат к блоку, смежному с целевым блоком кодирования, и являются ближайшими к целевому блоку кодирования.
На Фиг. 18 показан конкретный пример, в котором целевой блок кодирования имеет размер блока 4×4 для сигнала яркости и выполняется вертикальное предсказание (режим предсказания 0). В приведенных ниже описаниях сигнал яркости всегда является направленным, если это не оговорено специально.
Как показано на Фиг. 18, относительно целевого блока кодирования, пиксель X в левом верхнем блоке; пиксели A, B, C и D в верхнем блоке; пиксели E, F, G и H в правом верхнем блоке; и пиксели I, J, K и L в левом блоке могут быть использованы во внутреннем предсказании.
Среди пикселей в режиме предсказания 0, который представляет собой вертикальное предсказание, значение пикселя A присваивается пикселям a, e, i и m; значение пикселя B присваивается пикселям b, f, j и n; значение пикселя C присваивается пикселям c, g, k и o; и значение пикселя D присваивается пикселям d, h, l и p.
Во внутреннем предсказании отсутствует блок, являющийся опорным в отношении положения блока. В этом случае для выполнения предсказания устанавливается значение "128" или значение смежного пикселя.
Например, в блоке, расположенном на самой верхней линии кадра, девять пикселей от X до H никогда не могут быть выбраны в качестве опорных, и поэтому используется значение "128". Кроме того, если присутствует левый верхний и верхний блоки, но отсутствует правый верхний блок, то значение пикселя D присваивается каждому из пикселей E, F, G и H.
Непатентный документ 1: Sakae Okubo, Shinya Kadono, Yoshihiro Kikuchi, and Teruhiko Suzuki, Revised edition of "H.264/AVC TEXTBOOK", p. 106-112, 259-262, 2006.
Непатентный документ 2: ITU-T Study Group16-Question 6/16: "Draft new Corrigendum 1 to H.264 "Advanced video coding for generic audiovisual services"", p. 118-136, 2005.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача, решаемая изобретением
В обычном внутреннем предсказании опорные пиксели, используемые в предсказании, ограничиваются теми, которые прилегают к целевому блоку кодирования. Очевидно, является эффективным использование объекта, имеющего наиболее высокую корреляцию с объектом предсказания. Например, в обычном внешнем предсказании высокоэффективным является использование кадра, расположенного непосредственно перед целевым кадром кодирования.
Следовательно, в обычном внутреннем предсказании опорные пиксели, используемые в предсказании, ограничиваются теми, которые прилегают к целевому блоку кодирования.
Однако, в виде исключения, во внешнем предсказании более высокая эффективность может быть достигнута, когда опорным является кадр, который идет ранее, чем кадр непосредственно до целевого кадра кодирования. Например, это происходит, когда:
(i) имеют место затмения (например, части, которая не может просматриваться через камеру), и подходящая опорная цель не может быть найдена при использовании кадра, непосредственно предшествующего целевому кадру кодирования; или
(ii) целевой объект периодически движется, и ошибка предсказания может быть меньше, в случае если опорным является кадр, который идет ранее, чем кадр непосредственно до целевого кадра кодирования.
Аналогичная концепция может быть применена к внутреннему предсказанию. То есть обычно считается, что опорный пиксель, расположенный как можно ближе к целевому блоку кодирования, имеет наибольшую корреляцию с целью предсказания (то есть чем ближе к целевому блоку кодирования, тем выше корреляция) при рассмотрении пространственной корреляции, и таким образом можно уменьшить ошибку предсказания.
Однако, в виде исключения, не всегда правильным является то, что при приближении к целевому блоку кодирования ошибка предсказания уменьшается, и, наоборот, ошибка предсказания может увеличиваться.
Например, ошибка предсказания может увеличиваться, когда:
(i) имеют место затмения или шумы в позиции, наиболее близкой к целевому блоку кодирования;
(ii) появляется периодический сигнал, такой как структура полос; или
(iii) ошибка предсказания между целевым пикселем цели кодирования и опорным пикселем очень большая, поскольку опорный пиксель является декодированным изображением, и, следовательно, чем ближе к целевому блоку кодирования (который будет кодироваться) находится опорный пиксель, тем больше будет вызываемый наложенный шум.
Следовательно, если обычная методика применяется даже в этих случаях, то ошибка предсказания увеличивается и эффективность сжатия не может быть улучшена при кодировании с внутренним предсказанием.
Учитывая вышеописанные обстоятельства, целью настоящего изобретения является предоставление новой методики кодирования видео для улучшения эффективности сжатия для кодирования с внутренним предсказанием.
Средства решения задачи
(1) Структура устройства кодирования видео настоящего изобретения
Для достижения вышеуказанной цели устройство кодирования видео настоящего изобретения, которое кодирует видеоизображение с использованием внутреннего предсказания, включает в себя (i) установщик, который устанавливает в качестве кандидатов для опорных пикселей те пиксели, которые находятся в пределах заранее определенного расстояния, измеренного от целевого блока кодирования; (ii) генерирующее устройство, которое последовательно выбирает опорные пиксели, используемые для внутреннего предсказания целевого блока кодирования, из множества опорных пикселей-кандидатов, установленных установщиком, при этом изменяя условие отстояния от целевого блока кодирования, и генерирует предсказанный сигнал на основании опорных пикселей для каждого условия отстояния; (iii) вычислительное устройство, которое вычисляет затраты по кодированию, требующиеся для проведения кодирования с внутренним предсказанием для целевого блока кодирования с использованием каждого предсказанного сигнала, сгенерированного генерирующим устройством; (iv) устройство определения, которое окончательно определяет опорные пиксели, используемые для внутреннего предсказания целевого блока кодирования, на основании затрат по кодированию, вычисленных вычислительным устройством; и (v) кодирующее устройство, которое кодирует информацию, указывающую положение опорных пикселей, определенных устройством определения.
В вышеприведенной структуре установщик может изменять диапазон расстояний, используемый для установки кандидатов для опорных пикселей, в соответствии со значением параметра, указывающим на величину квантизации (например, размер шага квантизации или параметр квантизации). Например, когда квантизация является грубой, все изображение целиком становится расплывчатым и нельзя ожидать повышения точности предсказания даже при использовании удаленных пикселей в качестве опорных пикселей. Следовательно, установщик может установить сравнительно небольшой диапазон расстояний для выбора кандидатов в опорные пиксели. В отличие от этого, когда квантизация является мелкой, то все изображение целиком становится резким и можно ожидать повышения точности предсказания даже при использовании удаленных пикселей в качестве опорных пикселей. Следовательно, установщик может установить сравнительно большой диапазон расстояний для выбора кандидатов в опорные пиксели.
Кроме того, при генерации предсказанного сигнала является возможным (i) последовательно применять способы предсказания, соответствующие режимам предсказания, для выбора опорных пикселей и генерации предсказанного сигнала для каждого способа предсказания; (ii) вычислять затраты на кодирование с использованием каждого сгенерированного предсказанного сигнала; и (iii) кодировать режим предсказания предсказанного сигнала, использованного для вычисления затрат на кодирование, по которому определяются опорные пиксели.
Вышеописанные устройства также могут быть реализованы в виде компьютерной программы. Такая компьютерная программа может быть предоставлена путем сохранения ее на соответствующий машиночитаемый носитель хранения или посредством сети и может быть установлена и может функционировать на управляющем устройстве, таком как CPU, таким образом реализуя настоящее изобретение.
(2) Структура устройства декодирования видео настоящего изобретения
Устройство декодирования видео настоящего изобретения, которое принимает закодированные данные, сгенерированные устройством кодирования видео согласно настоящему изобретению, включает в себя (i) устройство получения, которое получает опорную целевую информацию, которая указывает, насколько далеко опорные пиксели, использованные при кодировании, расположены от целевого блока кодирования, путем декодирования закодированных данных опорной целевой информации; (ii) устройство обнаружения, которое получает опорные пиксели, использованные в кодировании с использованием внутреннего предсказания целевого блока кодирования, на основании опорной целевой информации, полученной устройством получения; и (iii) генерирующее устройство, которое восстанавливает предсказанный сигнал, использованный для кодирования с применением внутреннего предсказания целевого блока кодирования, на основании опорных пикселей, обнаруженных устройством обнаружения, и генерирует сигнал декодированного изображения с использованием предсказанного сигнала.
Вышеописанные устройства также могут быть реализованы в виде компьютерной программы. Такая компьютерная программа может быть предоставлена путем сохранения ее на соответствующий машиночитаемый носитель хранения или посредством сети и может быть установлена и может функционировать на управляющем устройстве, таком как CPU, таким образом реализуя настоящее изобретение.
Эффект изобретения
Согласно настоящему изобретению эффективное внутреннее предсказание может быть применено к изображению, которое содержит затмения или шумы, или к изображению, в котором периодически появляются сигналы, имеющие сходные пространственные частоты, при этом такие изображения не могут обрабатываться посредством обычного внутреннего предсказания. Следовательно, появляется возможность улучшения эффективности сжатия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 представляет собой диаграмму, на которой показан пример процесса согласно настоящему изобретению.
Фиг. 2 представляет собой диаграмму, на которой показан другой пример процесса согласно настоящему изобретению.
Фиг. 3 представляет собой диаграмму, на которой показан вариант осуществления устройства кодирования с внутренним предсказанием согласно настоящему изобретению.
Фиг. 4 представляет собой диаграмму, описывающую опорные пиксели, относящиеся к варианту осуществления.
Фиг. 5 представляет собой блок-схему последовательности операций, выполняемую устройством кодирования с внутренним предсказанием, в варианте осуществления.
Фиг. 6 представляет собой диаграмму, описывающую опорные пиксели, относящиеся к варианту осуществления.
Фиг. 7 представляет собой диаграмму, описывающую пример внутреннего предсказания, выполненного в варианте осуществления.
Фиг. 8 представляет собой диаграмму, описывающую пример внутреннего предсказания, которое может быть выполнено в варианте осуществления.
Фиг. 9 представляет собой блок-схему последовательности операций, которая может быть выполнена устройством кодирования с внутренним предсказанием в варианте осуществления.
Фиг. 10 представляет собой диаграмму, описывающую внутреннее предсказание в соответствии с блок-схемой последовательности операций на Фиг. 9.
Фиг. 11 представляет собой блок-схему последовательности операций, которая может быть выполнена устройством кодирования с внутренним предсказанием в варианте осуществления.
Фиг. 12 представляет собой диаграмму, на которой показано устройство декодирования данных, закодированных с использованием внутреннего предсказания, как вариант осуществления настоящего изобретения.
Фиг. 13 представляет собой блок-схему последовательности операций, выполняемую устройством декодирования данных, закодированных с использованием внутреннего предсказания, согласно варианту осуществления.
Фиг. 14 представляет собой диаграмму, поясняющую результаты эксперимента, выполненного для проверки эффективности настоящего изобретения.
Фиг. 15 также представляет собой диаграмму, поясняющую результаты эксперимента, выполненного для проверки эффективности настоящего изобретения.
Фиг. 16 также представляет собой диаграмму, поясняющую результаты эксперимента, выполненного для проверки эффективности настоящего изобретения.
Фиг. 17 также представляет собой диаграмму, поясняющую результаты эксперимента, выполненного для проверки эффективности настоящего изобретения.
Фиг. 18 представляет собой диаграмму, поясняющую общепринятую методику.
Условные обозначения
1 - устройство кодирования с внутренним предсказанием
10 - часть цикла вычисления затрат
11 - кодировщик опорной целевой информации
12 - внутренний кодировщик
100 - блок установки опорных пикселей-кандидатов
101 - блок хранения информации об опорных пикселях-кандидатах
102 - селектор опорной целевой информации
103 - переключатель режима
104 - блок внутреннего предсказания
105 - блок определения затрат
106 - блок хранения минимальных затрат
107 - блок инициализации минимальных затрат
108 - блок определения окончания цикла
ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В устройстве кодирования видео согласно настоящему изобретению после того, как пиксели, расположенные в пределах заранее определенного диапазона расстояний, измеренных от целевого блока кодирования, были установлены в качестве опорных пикселей, опорные пиксели, используемые для внутреннего предсказания целевого блока кодирования, успешно выбираются среди кандидатов при изменении условия отстояния, измеренного от целевого блока кодирования. Предсказанный сигнал генерируется на основании выбранных опорных пикселей.
Например, в качестве опорных пикселей выбирается множество пикселей, образующее опорную линию в верхней части целевого блока кодирования; множество пикселей, образующее опорную линию в левой части целевого блока кодирования; и пиксель на пересечении двух опорных линий. Предсказанный сигнал генерируется на основании выбранных опорных пикселей. В другом примере опорные пиксели выбираются путем выбора одной из двух опорных линий в качестве фиксированной ближайшей линии к целевому блоку кодирования, тогда как положение другой линии является переменным. Предсказанный сигнал также генерируется на основании выбранных опорных пикселей.
Затем вычисляются затраты на кодирование, требуемые в случае, когда целевой блок кодирования подвергается кодированию с внутренним предсказанием с использованием каждого из сгенерированных предсказанных сигналов. На основании вычисленных затрат на кодирование производится итоговое определение опорных пикселей для внутреннего предсказания целевого блока кодирования и производится кодирование информации, указывающей на положение опорных пикселей.
Устройство декодирования видео согласно настоящему изобретению, которое принимает закодированные данные, сгенерированные устройством кодирования видео согласно настоящему изобретению, получает опорную целевую информацию, которая указывает на то, насколько далеко опорные пиксели, использовавшиеся в кодировании, расположены от целевого блока кодирования, путем декодирования закодированных данных опорной целевой информации. На основании полученной опорной целевой информации осуществляется получение опорных пикселей, использованных в кодировании с внутренним предсказанием целевого блока кодирования. Затем на основании полученных опорных пикселей восстанавливается предсказанный сигнал, использованный в кодировании с внутренним предсказанием целевого блока кодирования, и производится генерирование сигнала декодированного изображения с использованием восстановленного сигнала.
Как было описано выше, в настоящем изобретении могут использоваться все ранее закодированные пиксели в пределах заранее определенного диапазона расстояний, включая пиксели, отличные от пикселей, прилежащих и ближайших к целевому блоку кодирования, посредством чего реализуется внутреннее предсказание, имеющее более низкую ошибку предсказания.
Таким образом, как ясно из Фиг. 1, даже в случае, когда пиксели, прилежащие и ближайшие к целевому блоку кодирования, имеют затмение или шумы, согласно настоящему изобретению при использовании удаленных пикселей, которые могут понизить ошибку предсказания, можно ожидать повышения эффективности внутреннего предсказания. На Фиг. 1 предполагается режим вертикального предсказания и сплошными линиями показано обычное предсказание, тогда как пунктирными линиями показано предсказание, к которому относится настоящее изобретение.
Кроме того, как показано на Фиг. 2, согласно настоящему изобретению при использовании удаленных пикселей, которые могут понизить ошибку предсказания, можно ожидать повышения эффективности внутреннего предсказания также в случае, когда сигнал изображения имеет характеристики, в которых линии из черных пикселей и линии из белых пикселей циклически появляются друг за другом.
На Фиг. 2 предполагается режим вертикального предсказания и сплошными линиями показано обычное предсказание, тогда как пунктирными линиями показано предсказание, к которому относится настоящее изобретение.
Как объяснялось выше, в обычном внутреннем предсказании возможное опорное положение ограничено ближайшим положением к целевому блоку кодирования. Следовательно, даже в случае повышения ошибки предсказания обычное внутреннее предсказание не может подавить это увеличение.
В отличие от этого в настоящем изобретении диапазон опорных положений расширен таким образом, чтобы можно было выбирать пиксели, которые способствуют снижению ошибки предсказания. В соответствии с этим можно реализовать эффективное внутреннее предсказание.
Ниже настоящее изобретение будет подробно объяснено в соответствии с конкретными вариантами осуществления.
На Фиг. 3 показана структура устройства 1 кодирования с внутренним предсказанием в качестве варианта осуществления настоящего изобретения.
Как показано на Фиг. 4, в устройстве 1 кодирования с внутренним предсказанием множество линий в верхней части целевого блока кодирования, которые содержат ранее закодированные пиксели, обозначено как refline_x (0≤refline_x<m) и множество линий пикселей с левой стороны целевого блока кодирования обозначено как refline_y (0≤refline_y<n). Внутреннее предсказание выполняется путем обнаружения опорных пикселей, включенных в множества, с тем чтобы внутреннее предсказание могло быть выполнено посредством выбора в качестве опорных пикселей более удаленных пикселей, чем те, которые должны удовлетворять условию "refline_x=refline_y=0" в обычных методиках.
В целях реализации вышеупомянутого внутреннего предсказания устройство 1 кодирования с внутренним предсказанием согласно настоящему изобретению включает в себя часть 10 цикла вычисления затрат, который циклически выполняет внутреннее предсказание, основанное на опорных пикселях, заданных в соответствии с каждым из возможных множеств значений refline_x и refline_y, с тем чтобы вычислить затрату скорость-искажение, и определяет значения refline_x и refline_y, задающие опорные пиксели для получения минимальной затраты на скорость-искажение; кодировщик 11 опорной целевой информации для кодирования значений refline_x и refline_y, определенных частью 10 цикла вычисления затрат; и внутренний кодировщик 12 для генерации предсказанного сигнала путем использования значений refline_x и refline_y, определенных частью 10 цикла вычисления затрат, и выполнения внутреннего предсказания.
В целях выполнения вышеуказанной операции часть 10 цикла вычисления затрат содержит блок 100 установки опорных пикселей-кандидатов для установки диапазонов возможных значений refline_x и refline_y; блок 101 хранения информации об опорных пикселях-кандидатах для хранения информации, установленной блоком 100 установки опорных пикселей-кандидатов; селектор 102 опорной целевой информации для выбора значений refline_x и refline_y в качестве целевой опорной информации на основании информации, хранящейся в блоке 101 хранения информации об опорных пикселях-кандидатах; переключатель 103 режима для выбора режима предсказания внутреннего кодирования; блок 104 внутреннего предсказания для генерации предсказанного сигнала для режима предсказания, выбранного переключателем 103 режима, путем использования опорного сигнала, определяемого целевой опорной информацией, выбранной селектором 102 опорной целевой информации; блок 105 определения затрат для (i) вычисления затрат на скорость-искажение на основании предсказанного сигнала, сгенерированного блоком 104 внутреннего предсказания, (ii) сравнения вычисленных затрат с уже вычисленными минимальными затратами на скорость-искажение, сохраненными в блоке 106 хранения минимальных затрат (в котором также хранится опорная целевая информация, соответствующая минимальному значению затрат), и (iii) обновления минимальных затрат искажения-скорости передачи в блоке 106 хранения минимальных затрат в случае, когда вычисленная в данный момент величина затрат имеет меньшее значение; блок 107 инициализации минимальных затрат для хранения большого первоначального значения в блоке 106 хранения минимальных затрат в момент начала соответствующей операции; и блок 108 определения окончания цикла для определения, завершился ли рабочий цикл для опорной целевой информации и режима предсказания, при этом если цикл не завершился, то блок 108 определения выдает команду селектору 102 опорной целевой информации на продолжение рабочего цикла, если же цикл завершился, то блок 108 определения передает опорную целевую информацию, которая соответствует минимальному значению затрат искажения-скорости передачи, сохраненному в блоке 106 хранения минимальных затрат, кодировщику 11 опорной целевой информации.
На Фиг. 5 показан пример блок-схемы последовательности операций, выполняемой сконфигурированным согласно описанному выше устройством 1 кодирования с внутренним предсказанием настоящего варианта осуществления.
Процесс кодирования с внутренним предсказанием, выполняемый устройством 1 кодирования с внутренним предсказанием, будет объясняться подробнее в соответствии с блок-схемой последовательности операций.
До выполнения блок-схемы последовательности операций Фиг. 5 устройство 1 кодирования с внутренним предсказанием настоящего варианта осуществления задает (i) множество линий в верхней части целевого блока кодирования, которое включает в себя ранее закодированные пиксели, в качестве refline_x (0≤refline_x<m) и (ii) множество линий пикселей в левой части целевого блока кодирования в качестве refline_y (0≤refline_y<n) (см. Фиг. 4). Здесь числа 0, 1, 2,... присваиваются соответствующим линиям, начиная от ближайшей к целевому блоку кодирования.
На Фиг. 4 показан конкретный пример задания refline_x и refline_y для блока 4×4, то есть m=n=4.
Однако "m=n=4" не является ограничивающим условием, и не всегда является необходимым, чтобы m=n. Чем больше числа (значения) m и n, тем больше число кандидатов для соответствующего предсказания, которые могут снизить ошибку предсказания (то есть повысить эффективность кодирования). Однако если опорные пиксели являются чрезмерно удаленными, то пространственная корреляция между пикселями и целью кодирования понижается, и, следовательно, для m и n не должны использоваться чрезмерно большие значения. Кроме того, поскольку информация "refline" является закодированной, то если величины m и n возрастают, то при этом может возрасти объем данных, составляющих опорную целевую информацию (которая указывает, насколько далеко находятся опорные пиксели от целевого блока кодирования).
Числа m и n могут быть определены на основании значения параметра (например, параметра квантизации), который показывает шаг квантизации.
min
При выполнении кодирования с внутренним предсказанием согласно блок-схеме последовательности операций на Фиг. 5 после задания refline_x и refline_y устройство 1 кодирования с внутренним предсказанием настоящего изобретения, во-первых, инициализирует переменную J (в которой хранится минимальное значение "затрат J искажения-скорости ") и достаточно большое значение MAXcost (см. этап S101).
Функция зависимости искажений от скорости передачи может быть определена как:
J=SSD+λ×R,
где SSD указывает сумму квадратов абсолютных значений ошибки предсказания; λ - множитель Лагранжа и R указывает объем кода, сгенерированного при кодировании целевого блока кодирования с использованием установленного режима предсказания.
Для получения большего количества информации об объеме R сгенерированного кода кодирование видео в основном производится последовательным выполнением предсказания, трансформации, квантизации и энтропийного кодирования.
Объем R сгенерированного кода указывает объем кода, сгенерированного путем фактического кодирования. В данном случае предсказанное изображение генерируется с использованием способа предсказания согласно настоящему изобретению; вычисляется различие между предсказанным изображением и исходным изображением; соответствующий остаточный сигнал подвергается ортогональному преобразованию посредством DCT-преобразования с интегральной точностью; преобразованный сигнал подвергается квантизации и квантизованный сигнал подвергается энтропийному кодированию с тем, чтобы получить двоичные данные (0 и 1). Здесь количество двоичных разрядов соответствует объему R сгенерированного кода.
На следующем этапе S102 начинается "цикл 1" для определения положения refline_y, при этом для refline_y устанавливается начальное значение 0.
На следующем этапе S103 начинается "цикл 2" для определения положения refline_x, при этом для refline_x устанавливается начальное значение 0.
На следующем этапе S104 осуществляется получение опорных пикселей, которые уникальным образом задаются посредством refline_x и refline_y.
00
0
0
0
0
0
0
0
Таким образом, в примере определения на Фиг. 4 получены опорные пиксели от X до L (то есть X, от A до H и от I до L), которые уникальным образом задаются посредством refline_x и refline_y. Если refline_x=0 и refline_y=0, то определяется, что X=X, A=A, B=B,..., H=H, I=I, J=J, K=K и L=L.
12
02
11
10
13
22
32
В случаях, отличных от "refline_x=0 и refline_y=0", пиксель на пересечении refline_x и refline_y обозначается как X. В примере на Фиг. 6, если refline_x=2 и refline_y=1, то X=X (X, X, X, X, X и X не обозначаются).
На следующем этапе S105 начинается "цикл 3" для определения режима предсказания, назначенного целевому блоку кодирования. Здесь возможные режимы предсказания для целевого блока кодирования определяются в зависимости от его положения на соответствующем изображении. Таким образом, ψ определяется как множество всех режимов предсказания, которые могут быть назначены целевому блоку кодирования.
Кроме того, переменная "mode" для хранения номера режима предсказания инициализируется значением "i" (которое представляет собой минимальный номер режима предсказания среди всех возможных режимов предсказания).
На следующем этапе S106 генерируется предсказанный сигнал на основании полученных опорных пикселей и в цикле 3 выбирается режим предсказания путем использования обычного способа генерации режима предсказания.
2
2
2
2
Например, в случае, показанном на Фиг. 6, в то время как получение опорных пикселей осуществляется согласно refline_x=2 и refline_y=1, если в цикле 3 выбран "режим предсказания 0", то, как показано на Фиг. 7, выполняется вертикальное предсказание с использованием A, B, C и D с тем, чтобы сгенерировать предсказанный сигнал для целевого блока кодирования.
i
На следующем этапе S107 затраты J скорость-искажение для режима=i вычисляется с использованием сгенерированного предсказанного сигнала посредством известного способа вычислений, как объяснялось выше.
i
min
i
На следующем этапе S108 определяется, выполнено или нет условие "J<J", с целью определения, имеют ли затраты J скорость-искажение минимальное значение среди уже вычисленных соответствующих значений затрат.
i
min
min
i
Согласно определению на этапе S108, если J<J, то процесс переходит к этапу S109. На этапе S109 значение переменной best_mode обновляется с использованием текущего режима предсказания i; значение переменной best_refline_x обновляется с использованием текущего refline_x; значение переменной best_refline_y обновляется с использованием текущего refline_y; и значение переменной J обновляется с использованием текущего значения J.
i
min
В отличие от этого, если "J<J" не выполняется при определении на этапе S108, то процесс на этапе S109 пропускается.
Вышеописанное вычисление затрат выполняется циклически в цикле 3 для всех возможных режимов предсказания. Когда цикл 3 завершается, то производится последовательное выполнение цикла 2 с увеличением на 1 значения refline_x в пределах интервала refline_x<m. После завершения цикла 2 производится последовательное выполнение цикла 1 с увеличением на 1 значения refline_y в пределах интервала refline_y<n.
Посредством выполнения трех вышеописанных циклов осуществляется получение best_mode, best_refline_x и best_refline_y, обеспечивающих минимальные затраты скорость-искажение.
Затем на этапе S110 осуществляется кодирование best_refline_x и best_refline_y в качестве целевой информации и также осуществляется кодирование best_mode. Для этого используется известный способ, такой как арифметическое кодирование. Закодированная информация может вставляться в заголовок.
На следующем этапе S111 генерируется предсказанный сигнал с использованием полученных значений best_mode, best_refline_x и best_refline_y и производится кодирование целевого блока кодирования.
Таким образом, в устройстве 1 кодирования с внутренним предсказанием согласно настоящему изобретению при выполнении внутреннего предсказания может использоваться в качестве опорных большее количество удаленных пикселей, чем количество пикселей, удовлетворяющих условию "refline_x=refline_y=0" в обычных методиках.
В соответствии с устройством 1 кодирования с внутренним предсказанием настоящего изобретения эффективное внутреннее предсказание может быть применено к изображению, которое содержит затмения или шумы, или к изображению, на котором периодически появляются сигналы, имеющие сходные пространственные частоты, при этом такие изображения не могут обрабатываться посредством обычного внутреннего предсказания. Следовательно, появляется возможность повышения эффективности сжатия.
В приведенном выше описании в качестве целевого используется блок 4×4. Однако настоящее изобретение также может быть напрямую применено к любому блоку (например, к блоку 8×8, показанному на Фиг. 8), отличному от блока 4×4. Кроме того, настоящее изобретение может быть напрямую применено не только к сигналу яркости, но и к сигналу цветности.
На Фиг. 9 показан другой пример блок-схемы последовательности операций, выполняемой устройством 1 кодирования с внутренним предсказанием в настоящем варианте осуществления.
При выполнении данной блок-схемы последовательности операций устройство 1 кодирования с внутренним предсказанием имеет по сравнению с блок-схемой последовательности операций на Фиг. 5 отличительную особенность, заключающуюся в привязке положения refline_y.
min
Таким образом, при выполнении кодирования с внутренним предсказанием в соответствии с блок-схемой последовательности операций на Фиг. 9 устройство 1 кодирования с внутренним предсказанием сначала инициализирует переменную J (в которой хранится минимальное значение "затрат J скорость-искажения") достаточно большим значением MAXcost (см. шаг S201) и затем устанавливает фиксированное значение refline_y (см. этап S202).
На следующем этапе S203 начинается "цикл 1" для определения положения refline_x, при этом refline_x устанавливается с начальным значением 0. На следующем этапе S204 осуществляется получение опорных пикселей, которые уникальным образом задаются посредством refline_x и refline_y.
На следующем этапе S205 начинается "цикл 2" для определения режима предсказания, назначенного целевому блоку кодирования, и переменная "mode" для хранения номера режима предсказания инициализируется значением "i" (которое представляет собой минимальный номер режима предсказания среди всех возможных режимов предсказания).
На следующем этапе S206 генерируется предсказанный сигнал на основании полученных опорных пикселей и выбранного в цикле 2 режима предсказания.
i
i
min
i
На следующем этапе S207 затраты J скорость-искажение для режима=i вычисляется с использованием сгенерированного предсказанного сигнала. На следующем этапе S208 определяется, удовлетворяет или нет условие "J<J", с целью определения, имеет ли затрата J скорость-искажение минимальное значение среди уже вычисленных соответствующих значений затрат.
i
min
min
i
Согласно определению на этапе S208, если J<J, то процесс переходит к этапу S209. На этапе S209 значение переменной best_mode обновляется с использованием текущего режима предсказания i; значение переменной best_refline_x обновляется с использованием текущего refline_x; и значение переменной J обновляется с использованием текущего значения J.
i
min
В отличие от этого, если "J<J" не выполняется при определении на этапе S208, то процесс на этапе S209 пропускается.
Вышеописанное вычисление затраты выполняется циклически для всех возможных режимов предсказания в цикле 2. Когда цикл 2 завершается, то производится последовательное выполнение цикла 1 с увеличением на 1 значения refline_x в пределах интервала refline_x<m.
Посредством выполнения двух вышеописанных циклов осуществляется получение best_mode и best_refline_x, обеспечивающих минимальную затрату скорость-искажение.
Затем на этапе S210 осуществляется кодирование best_refline_x и best_refline_y в качестве целевой информации и также осуществляется кодирование best_mode.
На следующем этапе S211 генерируется предсказанный сигнал с использованием полученных значений best_mode и best_refline_x и фиксированного значения best_refline_y и производится кодирование целевого блока кодирования.
Таким образом, при выполнении кодирования с внутренним предсказанием в соответствии с блок-схемой последовательности операций на Фиг. 9 устройство 1 кодирования с внутренним предсказанием фиксирует значение refline_y и при этом перемещает опорную линию refline_x, в результате чего внутреннее предсказание выполняется так, как показано в примере на Фиг. 10.
В блок-схеме последовательности операций значение refline_y фиксируется. Однако вместо этого может быть зафиксировано значение refline_x. В этом случае процесс кодирования с внутренним предсказанием выполняется в соответствии с блок-схемой последовательности операций, показанной на Фиг. 11.
i
При выполнении процесса кодирования с внутренним предсказанием в соответствии с блок-схемами последовательностей операций на Фиг. 9 или 11 количество итераций цикла для вычисления затраты J скорость-искажение уменьшается, с тем чтобы оно было эффективным для высокоскоростной обработки данных.
Ниже будет описываться устройство декодирования данных, закодированных с использованием внутреннего предсказания, для декодирования закодированных данных, сгенерированных устройством 1 кодирования с внутренним предсказанием согласно настоящему варианту осуществления.
На Фиг. 12 показана в качестве варианта осуществления настоящего изобретения структура устройства 2 декодирования данных, закодированных с использованием внутреннего предсказания, которое декодирует закодированные данные, сгенерированные устройством 1 кодирования с внутренним предсказанием из вышеописанного варианта осуществления.
Для декодирования закодированных данных, сгенерированных устройством 1 кодирования с внутренним предсказанием, устройство 2 декодирования данных, закодированных с использованием внутреннего предсказания, имеет декодер 20 для декодирования входных закодированных данных, содержащих опорную целевую информацию и режим предсказания (best_mode); блок 21 восстановления предсказанного сигнала для восстановления предсказанного сигнала по декодированной целевой опорной информации и режиму предсказания; декодер 22 остаточного сигнала для декодирования остаточного сигнала путем декодирования входных закодированных данных; и генератор 23 декодированного изображения для генерирования декодированного изображения по предсказанному сигналу, восстановленному 21 блоком восстановления предсказанного сигнала, и остаточному сигналу, декодированному декодером остаточного сигнала.
На Фиг. 13 показан пример блок-схемы последовательности операций, выполняемой устройством 2 декодирования данных, закодированных с использованием внутреннего предсказания.
Ниже будет подробно описываться согласно блок-схеме последовательности операций способ декодирования данных, закодированных с использованием внутреннего предсказания, устройством 2 декодирования данных, закодированных с использованием внутреннего предсказания.
При декодировании закодированных данных, сгенерированных устройством 1 кодирования с внутренним предсказанием в соответствии с блок-схемой последовательности операций на Фиг. 5, устройство 2 декодирования данных, закодированных с использованием внутреннего предсказания, согласно настоящему варианту осуществления сначала декодирует входные закодированные данные для best_refline_x и best_refline_y и также декодирует входные закодированные данные для best_mode (см. этап S401 блок-схемы на Фиг. 13).
На следующем этапе S402 осуществляется получение опорных пикселей на основании декодированных значений best_refline_x и best_refline_y.
На следующем этапе S403 восстанавливается предсказанный сигнал по полученным опорным пикселям в соответствии с декодированным best_mode.
На следующем этапе S404 декодируется остаточный сигнал по закодированным входным данным путем выполнения обратной квантизации и обратного преобразования.
На следующем этапе S405 восстановленный предсказанный сигнал и декодированный остаточный сигнал добавляются друг к другу и генерируется посредством кадрирования сигнал декодированного изображения.
В соответствии с вышеупомянутой операцией устройство 2 декодирования данных, закодированных с использованием внутреннего предсказания настоящего варианта осуществления, декодирует закодированные данные, сгенерированные устройством 1 кодирования с внутренним предсказанием.
Ниже будут показаны результаты экспериментов, проведенных с целью проверки эффективности настоящего изобретения.
Для случая когда изображение, закодированное путем фиксирования одного из значений refline_x или refline_y в ближайшем положении к целевому блоку кодирования (как показано в примере на Фиг. 10), в качестве результатов эксперимента показано распределение вероятности появления для того, чтобы показать состояние выбора другого незафиксированного значения refline_x или refline_y.
Здесь использовалось изображение (последовательность «Bus» в качестве стандартного изображения, используемого в стандартах ISO и ITU_T) размера CIF (352×288), при этом параметр квантизации QP (который указывает ширину (то есть грубость квантизации) устанавливался равным 28 и при этом было закодировано 15 кадров.
В соответствующем эксперименте для каждого блока 4×4 множество refline_x и refline_y рассматривалось как событие, определялось количество событий, а также вычислялась вероятность каждого события. Числа в скобках представляют собой вероятность появления соответствующего множества. Поскольку при 1≤refline_x и 1≤refline_y никаких действий не выполняется, то в этой области проставлено значение "N/A" (неприменимо).
0
Согласно результатам эксперимента выбор в качестве опорной обычной позиции p (то есть refline_x=refline_y=0) имел место приблизительно в 60%, тогда как процент выбора в качестве опорных других позиций составлял приблизительно 40%.
То есть можно подтвердить, что в достаточно большой части случаев является более предпочтительным использование в качестве опорных пикселей, отличных от выбираемых по "refline_x=refline_y=0".
На Фиг. 15 и 16 показаны результаты экспериментов по получению изменений в вероятностях появления, показанных на Фиг. 14, в случае изменения параметра квантизации QP, при этом использовалось другое изображение (последовательность «Mobile», которая также представляет собой стандартное изображение, как объяснялось выше), отличное от изображения, использовавшегося в эксперименте на Фиг. 14.
0
1
2
3
4
5
6
На Фиг. 15 показано полученное изменение для p(refline_x=refline_y=0). На Фиг. 16 показаны полученные изменения для p(refline_x=1 и refline_y=0), p(refline_x=0 и refline_y=1), p(refline_x=2 и refline_y=0), p(refline_x=0 и refline_y=2), p(refline_x=3 и refline_y=0) и p(refline_x=0 и refline_y=3).
Согласно вышеуказанным результатам экспериментов при возрастании величины параметра квантизации QP вероятность выбора в качестве опорной позиции p0 возрастает, тогда как вероятности выбора в качестве опорных позиций p1-p6 снижаются.
Причина этого может быть связана с тем фактом, что увеличение параметра квантизации QP делает закодированное изображение более грубым и расплывчатым, и, следовательно, внутреннее предсказание с использованием сравнительно удаленных пикселей в качестве опорных пикселей не может обеспечить специфического воздействия.
Согласно вышеуказанным результатам экспериментов можно подтвердить, что, когда параметр квантизации QP имел значение от 8 до 36, частота выбора в качестве опорной позиции, отличной от p0, составляла приблизительно от 40 до 60%. Следовательно, также можно подтвердить, что в случае, когда объем кода, требующийся для опорной целевой информации, не учитывается, то характеристика скорость-искажение может быть улучшена с большой долей достоверности.
В настоящем изобретении опорная целевая информация должна быть закодирована. Следовательно, является необходимым сравнение производительности кодирования в настоящем изобретении с аналогичным параметром обычных методик при рассмотрении соответствующего увеличения объема кода по причине кодирования опорной целевой информации.
На Фиг. 17 показаны результаты эксперимента, выполненного для рассмотрения вышеуказанного. На Фиг. 17 на горизонтальной оси показан объем сгенерированного кода и на вертикальной оси показано качество изображения. Помимо этого кривая "JM" показывает экспериментальные результаты для обычного способа; кривая "Proposed" показывает экспериментальные результаты для настоящего изобретения без рассмотрения объема кода, требующегося для опорной целевой информации; и кривая "Proposed+OH" показывает экспериментальные результаты для настоящего изобретения при рассмотрении объема кода, требующегося для опорной целевой информации.
В описанном выше эксперименте использовались изображения трех типов (изображения «Bus», «Mobile» и «Football», являющиеся стандартными изображениями, как объяснялось выше), параметр квантизации QP изменялся в диапазоне от 8 до 36 в каждом интервале размером 4 и для каждого изображения кодировалось 15 кадров с целью получения результатов для каждого изображения.
Полученный объем кода, требуемый для опорной целевой информации, вычислялся путем измерения энтропии 0-порядка для каждого кадра на основании распределения вероятности появления (как показано на Фиг. 15 и 16) для каждого изображения цели кодирования.
На Фиг. 17 на горизонтальной оси показан объем сгенерированного кода и на вертикальной оси показано качество изображения. Таким образом, с приближением к верхнему левому углу результат улучшается.
Как ясно исходя из результатов экспериментов, настоящее изобретение всегда обеспечивает лучшую производительность, чем обычный способ, в случае, когда не учитывается объем кода, необходимый для кодирования опорной целевой информации. Однако при рассмотрении объема кода, необходимого для кодирования опорной целевой информации, настоящее изобретение обеспечивает лучшую или пониженную производительность по сравнению с обычным способом.
В случае когда объем кода, требующийся для полного кодирования, велик (то есть скорость передачи в битах высока), настоящее изобретение обеспечивает наличие значительного эффекта. Это имеет место по причине того, что отношение скорости к объему кода, необходимому для кодирования опорной целевой информации, является достаточно низким.
Согласно вышеописанным результатам экспериментов можно подтвердить, характеристика скорость-искажение может быть улучшена в настоящем изобретении в условиях высокой скорости передачи в битах.
Вышеописанные стандартные изображения могут быть получены, например, по адресу http://media.xiph.org/video/derf/ и http://trace.eas.asu.edu/yuv/index.html.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
В соответствии с настоящим изобретением эффективное внутреннее предсказание может быть применено к изображению, содержащему затмения или шумы, или к изображению, в котором периодически появляются сигналы, имеющие сходные пространственные частоты, при этом такие изображения не могут обрабатываться посредством обычного внутреннего предсказания. Следовательно, появляется возможность улучшения эффективности сжатия.