|
(21), (22) Заявка: 2006143214/09, 07.06.2005
(24) Дата начала отсчета срока действия патента:
07.06.2005
(30) Конвенционный приоритет:
07.06.2004 KR 10-2004-0041399 26.07.2004 KR 10-2004-0058349
(43) Дата публикации заявки: 20.06.2008
(46) Опубликовано: 27.12.2008
(56) Список документов, цитированных в отчете о поиске:
US 2002031276 A1, 13.03.2002. US 2003223496 A1, 04.12.2003. US 2004062445 A1, 01.04.2004. JP 2000244935 A, 08.09.2000. RU 2093968 C1, 20.10.1997. RU 2162280 C2, 20.01.2001. US 2003231795 A1, 18.12.2003. US 6310980 B1, 30.10.2001. WO 2004006587 A1, 15.01.2004. US 6571016 B1, 27.05.2003. Study of Final Committee Draft of Joint Video Specification, ITU-T Rec. H.264, ISO/IEC 14496-10 AVC, December 2002, с.84-93.
(85) Дата перевода заявки PCT на национальную фазу:
06.12.2006
(86) Заявка PCT:
KR 2005/001683 (07.06.2005)
(87) Публикация PCT:
WO 2005/122592 (22.12.2005)
Адрес для переписки:
129090, Москва, ул. Б.Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег.№ 595
|
(72) Автор(ы):
ЛИ Юнг-Лиул (KR), ХАН Ки-Хоон (KR), ЛИ Юнг-Ки (KR)
(73) Патентообладатель(и):
ДАЕЯНГ ФАУНДЕЙШН (KR), САМСУНГ ЭЛЕКТРОНИКС КО., ЛТД. (KR)
|
(54) СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ БЕЗ ПОТЕРЬ
(57) Реферат:
Изобретение относится к области техники обработки изображений и, в частности, к кодированию и декодированию видеоинформации без потерь. Техническим результатом является собственно создание системы кодирования/декодирования видеоинформации без потерь в которой при выполнении внутреннего предсказания блока, имеющего заранее заданный размер, коэффициент сжатия возрастает за счет использования элемента изображения в предсказываемом блоке. Предложен способ кодирования видеоинформации без потерь, в котором для каждого из множества элементов изображения в блоке M×N элементов изображения, для которого выполняется предсказание, определяют в блоке M×N элементов изображения по меньшей мере один элемент изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания, определенном режимом кодирования; предсказывают значение предсказываемого элемента изображения с использованием значения упомянутого по меньшей мере одного элемента изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания; определяют разность между предсказанным значением элемента изображения и предсказываемым значением элемента изображения; выполняют энтропийное кодирование разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения. 5 н. и 10 з.п. ф-лы, 16 ил., 2 табл.
Область техники, к которой относится изобретение
Устройства и способы, соответствующие настоящему изобретению, относятся к кодированию и декодированию видеоинформации и, в частности, к кодированию и к декодированию видеоинформации без потерь, посредством которых обеспечено увеличение коэффициента сжатия при выполнении внутреннего предсказания для блока заранее заданного размера с использованием элемента изображения в предсказываемом блоке.
Предшествующий уровень техники
Согласно стандарту H.264, установленному для кодирования и декодирования видеоинформации, кадр содержит множество макроблоков, а кодирование и декодирование выполняют по единичным макроблокам, или по единичным субблокам, которые получены путем разделения макроблока на два или на четыре единичных элемента. Существует два способа предсказания движения макроблока текущего кадра, подлежащего кодированию: временное предсказание, в котором опорными макроблоками являются макроблоки соседнего кадра, и пространственное предсказание, в котором опорным макроблоком является соседний макроблок.
Пространственное предсказание также именуют внутренним предсказанием. Внутреннее предсказание основано на следующем свойстве: когда элемент изображения предсказан, то, наиболее вероятно, что соседний элемент изображения имеет максимально сходное с ним значение.
Между тем, кодирование может быть подразделено на кодирование с потерями и кодирование без потерь. Для выполнения кодирования видеоинформации без потерь предсказанное значение элемента изображения, вычисленное путем предсказания движения, вычитают из текущего значения элемента изображения. Затем выполняют энтропийное кодирование без дискретного косинусного преобразования (ДКП) или квантования и выводят результат.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Техническая задача
В обычном способе при выполнении кодирования без потерь каждое значение элемента изображения в предсказываемом блоке предсказывают с использованием значения элемента изображения из блока, являющегося соседним с предсказываемым блоком, и, следовательно, коэффициент сжатия является намного более низким, чем при кодировании с потерями.
Техническое решение
В настоящем изобретении предложены способ и устройство кодирования и декодирования видеоинформации без потерь, посредством которых при выполнении внутреннего предсказания блока, имеющего заранее заданный размер, коэффициент сжатия возрастает за счет использования элемента изображения (пикселя) в предсказываемом блоке.
Согласно одному из объектов настоящего изобретения, в нем предложен способ кодирования видеоинформации без потерь, содержащий следующие операции: предсказывают значения каждого из элементов изображения в предсказываемом блоке из М × N элементов изображения с использованием того элемента изображения в блоке из М × N элементов изображения, который является наиболее близким к значению элемента изображения в направлении предсказания, определенном режимом кодирования; и выполняют энтропийное кодирование разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения.
Когда предсказываемым блоком является блок информации о яркости или блок G, то блоком из М×N элементов изображения может являться любой из следующих блоков: блок 4×4 элемента изображения, блок 8×8 элементов изображения и блок 16×16 элементов изображения, а когда им является любой из следующих блоков: блок информации о цветности, блок R и блок B, то блоком из М×N элементов изображения может являться блок 8×8 элементов изображения.
Для блока информации о яркости или блока G режимами кодирования могут являться следующие: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal), режим “постоянная составляющая” (DC), режим “по диагонали вниз влево” (Diagonal_Down_Left), режим “по диагонали вниз вправо” (Diagonal_Down_Right), режим “по вертикали – вправо” (Vertical_Right), режим “по горизонтали – вниз” (Horizontal_Down), режим “по вертикали – влево” (Vertical_Left) и режим “по горизонтали – вверх” (Horizontal_Up), которые представляют собой режимы внутреннего кодирования яркости по блокам 4×4 элемента изображения согласно стандарту H.264.
Для любого из блоков информации о цветности, блока R и блока B, режимами кодирования могут являться следующие режимы: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal) и режим “постоянная составляющая” (DC), которые представляют собой режимы внутреннего кодирования цветности в блоках M×N элементов изображения согласно стандарту H.264.
Согласно другому объекту настоящего изобретения, в нем предложен способ декодирования видеоинформации без потерь, содержащий следующие операции: принимают поток битов, полученный путем выполнения энтропийного кодирования на основании предсказанных значений, при этом каждое из них предсказано с использованием ближайшего элемента изображения в направлении предсказания, определенного согласно режиму кодирования, в блоке из М×N элементов изображения, который представляет собой единичный предсказываемый блок; выполняют энтропийное декодирование потока битов и восстанавливают без потерь первоначальное изображение согласно декодированным значениям.
Согласно еще одному объекту настоящего изобретения, в нем предложено устройство кодирования видеоинформации без потерь, содержащее: модуль предсказания движения, предсказывающий значение каждого элемента изображения в предсказываемом блоке из М×N элементов изображения с использованием того элемента изображения в блоке из М×N элементов изображения, который является ближайшим к значению элемента изображения в направлении предсказания, определенном режимом кодирования; и модуль энтропийного кодирования, который выполняет энтропийное кодирование разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения.
Согласно еще одному объекту настоящего изобретения, в нем предложено устройство декодирования видеоинформации без потерь, содержащее: модуль энтропийного декодирования, который принимает поток битов, полученный путем выполнения энтропийного кодирования на основании значений, предсказанных путем использования ближайшего элемента изображения в направлении предсказания, определенном согласно режиму кодирования, в блоке из М×N элементов изображения, который представляет собой единичный предсказываемый блок, и выполняет энтропийное декодирование потока битов; и модуль восстановления видеоинформации, который восстанавливает первоначальное изображение без потерь согласно декодированным значениям.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
При выполнении кодирования без потерь может быть улучшен коэффициент сжатия. В частности, при использовании только режима внутреннего предсказания коэффициент сжатия является намного более высоким, чем при обычном способе.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг.1 изображена блок-схема устройства кодирования согласно варианту осуществления настоящего изобретения, который приведен в качестве примера;
на Фиг.2 изображена диаграмма, на которой показаны режимы внутреннего предсказания для блока 4×4 элемента изображения согласно стандарту H.264;
на Фиг.3A проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали” (в режиме 0);
на Фиг.3B проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали” (в режиме 1);
на Фиг.3C проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по диагонали вниз влево” (в режиме 3);
на Фиг.3D проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по диагонали вниз вправо” (в режиме 4);
на Фиг.3E проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали – вправо” (в режиме 5);
на Фиг.3F проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали – вниз” (в режиме 6);
на Фиг.3G проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали – влево” (в режиме 7);
на Фиг.3H проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали – вверх” (в режиме 8);
на Фиг.4A проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B, в режиме “постоянная составляющая” (DC);
на Фиг.4B проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B в режиме “по горизонтали”;
на Фиг.4C проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B в режиме “по вертикали”;
на Фиг.5 проиллюстрирован способ предсказания при выполнении кодирования и декодирования в вышеупомянутых режимах;
на Фиг.6 изображена блок-схема устройства декодирования согласно варианту осуществления настоящего изобретения, который приведен в качестве примера; и
на Фиг.7 изображена схема последовательности операций способа кодирования согласно настоящему изобретению.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Для объяснения вариантов осуществления настоящего изобретения, которые приведены в качестве примеров, сначала здесь приведено пояснение определения предсказываемого значения и разностного значения.
Предполагая, что положением элемента изображения в верхнем левом углу является x=0, y=0, величина p[x,y] указывает значение элемента изображения в относительном положении (x,y). Например, на Фиг.3A положение элемента “a” изображения выражено как [0, 0], положение элемента “b” изображения – как [1,0], положение элемента “c” изображения – как [2,0], положение элемента “d” изображения – как [3,0], а положение элемента “e” изображения – как [0,1]. Положения остальных элементов изображения от “f” до “p” могут быть выражены тем же самым способом.
Предсказанное значение в том случае, когда элемент изображения предсказан исходным способом согласно стандарту H.264 без видоизменения способа предсказания, выражено как predL[x, y]. Например, предсказанное значение элемента “a” изображения на Фиг.3A выражено как predL[0,0]. Тем же самым образом, предсказанным значением элемента “b” изображения является predL[1,0], предсказанным значением элемента “c” изображения является predL[2,0], предсказанным значением элемента “d” изображения является predL[3,0], а предсказанным значением элемента “e” изображения является predL[0,1]. Предсказанные значения остальных элементов изображения от “f” до “p” могут быть выражены тем же самым способом.
Предсказанное значение в том случае, когда элемент изображения предсказан согласно настоящему изобретению, исходя из соседних элементов изображения, выражено как predL’[x,y]. Положение элемента изображения выражено тем же самым способом, как и в predL[x,y]. Разностное значение для положения (i,j), полученное путем вычитания предсказанного значения элемента изображения в положении (i,j) из значения элемента изображения в положении (i,j), выражено как ri,j. Значение элемента изображения в положении (i,j), восстановленное путем суммирования предсказанного значения элемента изображения в положении (i,j) и разностного значения в положении (i,j) при выполнении декодирования, выражено как ui,j.
Теперь будет приведено более полное описание настоящего изобретения со ссылкой на сопроводительные чертежи, на которых показаны варианты осуществления настоящего изобретения, приведенные в качестве примеров.
Со ссылкой на Фиг.1, на котором показано устройство кодирования согласно варианту осуществления настоящего изобретения, приведенному в качестве примера, при вводе изображения выполняют предсказание движения. В настоящем изобретении элементы изображения из блока информации о яркости и блока G получают путем выполнения внутреннего предсказания по блокам 4×4 элемента изображения, а элементы изображения из блока информации о цветности, блока R и блока B получают путем выполнения внутреннего предсказания по блокам 8×8 элементов изображения. Соответственно, модуль 110 предсказания движения выполняет внутреннее предсказание по блокам 4×4 элемента изображения для элементов изображения из блока информации о яркости и из блока G в предсказываемом макроблоке и внутреннее предсказание по блокам 8×8 элементов изображения для элементов изображения из блока информации о цветности, блока R и блока B. Объяснение вычисления предсказанных значений элементов изображения при выполнении внутреннего предсказания по блокам 4×4 элемента изображения и внутреннего предсказания по блокам 8×8 элементов изображения приведено ниже. Модуль 120 выбора режима выбирает один оптимальный режим из множества режимов предсказания. То есть, при выполнении внутреннего предсказания по блокам 4×4 элемента изображения и внутреннего предсказания по блокам 8×8 элементов изображения из множества имеющихся режимов кодирования выбирают один режим. Как правило, один режим выбирают согласно способу оптимизации искажений в зависимости от скорости передачи (RD), который сводит к минимуму искажения в зависимости от скорости передачи. Поскольку при кодировании без потерь из настоящего изобретения искажения отсутствуют, то один режим кодирования определяют путем оптимизации скоростей передачи.
Модуль 130 энтропийного кодирования выполняет энтропийное кодирование значения разности, поступившего с выхода модуля 110 предсказания движения, то есть, разности между значением элемента изображения в макроблоке текущего кадра, который желают закодировать, и предсказанным значением элемента изображения, и производит вывод результата. Термин “энтропийное кодирование” означает способ кодирования, которым меньшее количество битов присвоено более часто встречающимся данным, и большее количество битов присвоено менее часто встречающимся данным, что приводит к увеличению коэффициента сжатия данных. Способы энтропийного кодирования, использованные в настоящем изобретении, содержат контекстно-адаптивное кодирование кодами переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (CABAC).
РЕЖИМ ДЛЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
На Фиг.2 изображена диаграмма, на которой показаны режимы внутреннего предсказания для блока 4×4 элемента изображения согласно стандарту H.264.
Внутреннее предсказание элементов изображения в блоке информации о яркости и в блоке G выполняют по единичным блокам 4×4 элемента изображения. Существует девять типов режимов внутреннего предсказания по блокам 4×4 элемента изображения, соответствующие различным направлениям предсказания, в том числе: режим “по вертикали” (Vertical) (режим 0), режим “по горизонтали” (Horizontal) (режим 1), режим “постоянная составляющая” (DC) (режим 2), режим “по диагонали вниз влево” (Diagonal_Down_Left) (режим 3), режим “по диагонали вниз вправо” (Diagonal_Down_Right) (режим 4), режим “по вертикали – вправо” (Vertical_Right) (режим 5), режим “по горизонтали – вниз” (Horizontal_Down) (режим 6), режим “по вертикали – влево” (Vertical_Left) (режим 7) и режим “по горизонтали – вверх” (Horizontal_Up) (режим 8). Стрелки на Фиг. 2 указывают направления предсказания. Теперь будет приведено более подробное объяснение вычисления элемента изображения в каждом режиме.
На Фиг.3A проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали” (в режиме 0).
Элемент “a” 302 изображения предсказывают исходя из элемента “A” изображения, который является соседним элементом изображения в вертикальном направлении, а элемент “e” 304 изображения предсказывают исходя не из элемента “A” изображения, соседнего с предсказываемым блоком 300, а исходя из элемента “a” 302 изображения, который является соседним с элементом “e” 304 изображения в блоке 300. Элемент “i” 306 изображения также предсказывают исходя из элемента “e” 304 изображения, а элемент “m” 308 изображения предсказывают исходя из элемента “i” 306 изображения.
Таким же самым образом, элемент “b” изображения предсказывают исходя из элемента “B” изображения, элемент “f” изображения – из элемента “b” изображения, элемент “j” изображения – из элемента “f” изображения, элемент “n” изображения – из элемента “j” изображения, элемент “c” изображения – из элемента “С” изображения, элемент “g” изображения – из элемента “c” изображения, элемент “k” изображения – из элемента “g” изображения, элемент “o” изображения – из элемента “k” изображения, элемент “d” изображения – из элемента “D” изображения, элемент “h” изображения – из элемента “d” изображения, элемент “l” изображения – из элемента “h” изображения и элемент “p” изображения – из элемента “l” изображения. Термин “предсказание” означает здесь вывод разности (разностной величины) значений элементов изображения и энтропийное кодирование этой разности. То есть, для элементов “a”, “e”, “i” и “m” изображения в предсказываемом блоке 300, осуществляют вывод и энтропийное кодирование разностных значений, соответственно, (a-A), (e-a), (i-e) и (m-i). Способ предсказания элементов изображения в режиме “по вертикали” (в режиме 0) может быть выражен следующим уравнением:
pred4×4L’[x,y]=p[x,y-1], x,y=0,…, 3
На Фиг.3B проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали” (в режиме 1).
Элемент “a” 312 изображения предсказывают, исходя из элемента “I” изображения, который является соседним элементом изображения в горизонтальном направлении, а элемент “b” 314 изображения предсказывают не исходя из элемента “I” изображения, соседнего с предсказываемым блоком 300, а исходя из элемента “a” 312 изображения, который является соседним с элементом “b” 314 изображения в блоке 300. Элемент “c” 316 изображения также предсказывают исходя из элемента “b” 314 изображения, а элемент “d” 318 изображения предсказывают исходя из элемента “c” 316 изображения.
Таким же самым образом, элемент “e” изображения предсказывают исходя из элемента “J” изображения, элемент “f” изображения – из элемента “e” изображения, элемент “g” изображения – из элемента “f” изображения, элемент “h” изображения – из элемента “g” изображения, элемент “i” изображения – из элемента “K” изображения, элемент “j” изображения – из элемента “i” изображения, элемент “k” изображения – из элемента “j” изображения, элемент “l” изображения – из элемента “k” изображения, элемент “m” изображения – из элемента “L” изображения, элемент “n” изображения – из элемента “m” изображения, элемент “o” изображения – из элемента “n” изображения и элемент “p” изображения – из элемента “o” изображения. Способ предсказания элементов изображения в режиме “по горизонтали” (в режиме 1) может быть выражен следующим уравнением:
pred4×4L’[x,y]=p[x-1,y], x,y = 0,…,3.
На Фиг.3C проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по диагонали вниз влево” (в режиме 3).
Элемент “a” 322 изображения предсказывают исходя из элемента “B” изображения, который является соседним элементом изображения в диагональном направлении, указанном на Фиг.3C стрелкой, а элемент “e” 324 изображения предсказывают исходя из элемента “b” изображения, который в блоке 300 является элементом изображения, соседним с элементом “e” 324 изображения по направлению стрелки. Элемент “i” 326 изображения также предсказывают исходя из элемента “f” изображения, а элемент “m” 328 изображения предсказывают исходя из элемента “j” изображения.
Таким же самым образом, элемент “b” изображения предсказывают исходя из элемента “C” изображения, элемент “c” изображения – из элемента “D” изображения, элемент “d” изображения – из элемента “E” изображения, элемент “f” изображения – из элемента “c” изображения, элемент “g” изображения – из элемента “d” изображения, элемент “h” изображения – из элемента “d” изображения, элемент “j” изображения – из элемента “g” изображения, элемент “k” изображения – из элемента “h” изображения, элемент “l” изображения – из элемента “h” изображения, элемент “n” изображения – из элемента “k” изображения, элемент “o” изображения – из элемента “l” изображения и элемент “p” изображения – из элемента “l” изображения. Способ предсказания элементов изображения в режиме “по диагонали вниз влево” (в режиме 3) может быть выражен следующим уравнением:
если x=3, y0, то predL’[x,y]=p[x1,y-1],
в противном случае predL’[x,y]=p[x+1,y-1].
К тому же, когда предсказание элементов изображения производят в режиме “по диагонали вниз влево” (в режиме 3), то предсказание может быть выполнено с использованием надлежащего фильтра для элементов изображения в направлениях предсказания. Например, при использовании фильтра типа 1:2:1 элемент “a” 322 изображения предсказывают исходя из значения (A+2B+C+2)/4, которое сформировано с использованием значений элементов изображения, расположенных в диагональном направлении, указанном на Фиг. 3C стрелками, а элемент “e” 324 изображения предсказывают исходя из значения (a+2b+c+2)/4, которое сформировано с использованием значений элементов изображения, расположенных в блоке 300 рядом с элементом “e” 324 изображения в диагональном направлении. Элемент “i” 326 изображения также предсказывают исходя из значения (e+2f+g+2)/4, а элемент “m” 328 изображения предсказывают исходя из значения (i+2j+k+2)/4.
Таким же самым образом, элемент “b” изображения предсказывают исходя из значения (B+2C+D+2), элемент “c” изображения – исходя из значения (C+2D+E+2)/4, элемент “d” изображения – исходя из значения (D+2E+F+2)/4, элемент “f” изображения – исходя из значения (b+2c+d+2)/4, элемент “g” изображения – исходя из значения (c+2d+d+2)/4, элемент “h” изображения – исходя из значения (d+2d+d+2)/4, элемент “j” изображения – исходя из значения (f+2g+h+2)/4, элемент “k” изображения – исходя из значения (g+2h+h+2)/4, элемент “l” изображения – исходя из значения (h+2h+h+2)/4, элемент “n” изображения – исходя из значения (j+2k+l+2)/4, элемент “o” изображения – исходя из значения (k+2l+l+2)/4 и элемент “p” изображения – исходя из значения (l+2l+l+2)/4.
На Фиг.3D проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по диагонали вниз вправо” (в режиме 4).
Элемент “a” 322 изображения предсказывают исходя из элемента “X” изображения, который является соседним элементом изображения в диагональном направлении, указанном на Фиг.3D стрелкой, а элемент “f” 334 изображения предсказывают исходя из элемента “a” изображения, который в блоке 300 является элементом изображения, соседним с элементом “f” 334 изображения в направлении стрелки. Элемент “k” 336 изображения также предсказывают исходя из элемента “f” изображения, а элемент “p” 338 изображения предсказывают исходя из элемента “k” изображения.
Таким же образом, элемент “b” изображения предсказывают исходя из элемента “A” изображения, элемент “c” изображения – из элемента “B” изображения, элемент “d” изображения – из элемента “C” изображения, элемент “e” изображения – из элемента “I” изображения, элемент “g” изображения – из элемента “b” изображения, элемент “h” изображения – из элемента “c” изображения, элемент “i” изображения – из элемента “J” изображения, элемент “j” изображения – из элемента “e” изображения, элемент “l” изображения – из элемента “g” изображения, элемент “m” изображения – из элемента “K” изображения, элемент “n” изображения – из элемента “i” изображения и элемент “o” изображения – из элемента “j” изображения. Способ предсказания элементов изображения в режиме “по диагонали вниз вправо” (в режиме 4) может быть выражен следующим уравнением:
pred4×4L’[x,y] = p[x-1,y-1], x,y = 0,…, 3.
К тому же, когда предсказание элементов изображения производят в режиме “по диагонали вниз вправо” (в режиме 4), то предсказание может быть выполнено с использованием надлежащего фильтра для элементов изображения в направлениях предсказания. Например, при использовании фильтра типа 1:2:1 элемент “a” 332 изображения предсказывают исходя из значения (I+2X+A+2)/4, которое сформировано с использованием значений элементов изображения, расположенных в диагональном направлении, указанном на Фиг.3D стрелками, а элемент “f” 334 изображения предсказывают исходя из значения (I+2a+b+2)/4, которое сформировано с использованием значений элементов изображения, расположенных в блоке 300 рядом с элементом “f” 334 изображения в направлении стрелки. Элемент “k” 336 изображения также предсказывают исходя из значения (e+2f+g+2)/4, а элемент “p” 338 изображения предсказывают исходя из значения (j+2k+l+2)/4.
Таким же самым образом, элемент “b” изображения предсказывают исходя из значения (X+2A+B+2)/4, элемент “c” изображения – исходя из значения (A+2B+C+2)/4, элемент “d” изображения – исходя из значения (B+2C+D+2)/4, элемент “e” изображения – исходя из значения (J+2I+a+2)/4, элемент “g” изображения – исходя из значения (a+2b+c+2)/4, элемент “h” изображения – исходя из значения (b+2c+d+2)/4, элемент “i” изображения – исходя из значения (K+2J+e+2)/4, элемент “j” изображения – исходя из значения (J+2e+f+2)/4, элемент “l” изображения – исходя из значения (f+2g+h+2)/4, элемент “m” изображения – исходя из значения (L+2K+i+2)/4, элемент “n” изображения – исходя из значения (K+2i+j+2)/4 и элемент “o” изображения – исходя из значения (i+2j+k+2)/4.
На Фиг.3E проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали – вправо” (в режиме 5).
Элемент “a” 342 изображения предсказывают исходя из значения (X+A+1)/2, которое сформировано с использованием значений элементов, расположенных в диагональном направлении под углом 22,5° от вертикали, указанном на Фиг.3E стрелками, а элемент “e” 344 изображения предсказывают исходя из значения (I+a+1)/2, которое сформировано с использованием значений соседних элементов изображения, расположенных в блоке 300 изображения рядом с элементом “e” 344 изображения в направлении стрелки под углом 22,5° от вертикали. Элемент “j” 346 изображения также предсказывают исходя из значения (e+f+1)/2, а элемент “n” 348 изображения предсказывают исходя из значения (i+j+1)/2.
Таким же самым образом, элемент “b” изображения предсказывают исходя из значения (A+B+1)/2, элемент “c” изображения – исходя из значения (B+C+1)/2, элемент “d” изображения – исходя из значения (C+D+1)/2, элемент “f” изображения – исходя из значения (a+b+1)/2, элемент “g” изображения – исходя из значения (b+c+1)/2, элемент “h” изображения – исходя из значения (c+d+1)/2, элемент “i” изображения – исходя из значения (J+e+1)/2, элемент “k” изображения – исходя из значения (f+g+1)/2, элемент “l” изображения – исходя из значения (g+h+1)/2, элемент “m” изображения – исходя из значения (K+i+1)/2, элемент “o” изображения – исходя из значения (j+k+1)/2 и элемент “p” изображения – исходя из значения (k+l+1)/2. Способ предсказания элементов изображения в режиме “по вертикали – вправо” (в режиме 5) может быть выражен следующими уравнениями:
pred4×4L’[0,0] = (p[-1,-1]+p[0,-1]+1)>>1
pred4×4L’[1,0] = (p[0,-1]+p[1,-1]+1)>>1
pred4×4L’[2,0]= (p[1,-1]+p[2,-1]+1)>>1
pred4×4L’[3,0] = (p[2,-1]+p[3,-1]+1)>>1
pred4×4L’[0,1] = (p[-1,0]+p[0,0]+1)>>1
pred4×4L’[1,1] = (p[0,0]+p[1,0]+1)>>1
pred4×4L’[2,1]= (p[1,0]+p[2,0]+1)>>1
pred4×4L’[3,1] = (p[2,0]+p[3,0]+1)>>1
pred4×4L’[0,2] = (p[-1,1]+p[0,1]+1)>>1
pred4×4L’[1,2]= (p[0,1]+p[1,1]+1)>>1
pred4×4L’[2,2] = (p[1,1]+p[2,1]+1)>>1
pred4×4L’[3,2]= (p[2,1]+p[3,1]+1)>>1
pred4×4L’[0,3]= (p[-1,2]+p[0,2]+ 1)>>1
pred4×4L’[1,3]= (p[0,2]+p[1,2]+1)>>1
pred4×4L’[2,3] = (p[1,2]+p[2,2]+1)>>1
pred4×4L’[3,3] = (p[2,2]+p[3,2]+1)>>1
На Фиг.3F проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали – вниз” (в режиме 6).
Элемент “a” 352 изображения предсказывают исходя из значения (X+I+1)/2, которое сформировано с использованием значений элементов, расположенных в диагональном направлении под углом 22,5° от горизонтали, указанном на Фиг.3F стрелками, а элемент “b” 354 изображения предсказывают исходя из значения (A+a+1)/2, которое сформировано с использованием значений соседних элементов изображения, расположенных в блоке 300 изображения рядом с элементом “b” 354 изображения в направлении стрелки под углом 22,5° от горизонтали. Элемент “g” 356 изображения также предсказывают исходя из значения (b+f+1)/2, а элемент “h” 358 изображения предсказывают исходя из значения (c+g+1)/2.
Таким же самым образом, элемент “i” изображения предсказывают исходя из значения (J+K+1)/2, элемент “m” изображения – исходя из значения (K+L+1)/2, элемент “f” изображения – исходя из значения (a+e+1)/2, элемент “j” изображения – исходя из значения (e+i+1)/2, элемент “n” изображения – исходя из значения (i+m+1)/2, элемент “c” изображения – исходя из значения (B+b+1)/2, элемент “k” изображения – исходя из значения (f+j+1)/2, элемент “o” изображения – исходя из значения (j+n+1)/2, элемент “d” изображения – исходя из значения (C+c+1)/2, элемент “l” изображения – исходя из значения (g+k+1)/2 и элемент “p” изображения – исходя из значения (k+o+1)/2. Способ предсказания элементов изображения в режиме “по горизонтали – вниз” (в режиме 6) может быть выражен следующими уравнениями:
pred4×4L’[0,0] = (p[-1,-1]+p[1-,0]+ 1)>>1
pred4×4L’[0,1]= (p[-1,0] +p [-1,1]+1)>>1
pred4×4L’[0,2] = (p[-1,1]+p[-1,2]+1)>>1
pred4×4L’[0,3] = (p[-1,2]+p[-1,3]+1)>>1
pred4×4L’[1,0] = (p[0,-1]+p[0,0]+1)>>1
pred4×4L’[1,1] = (p[0,0]+p[0,1]+1)>>1
pred4×4L’[1,2] = (p[0,1]+p[0,2]+1)>>1
pred4×4L’[1,3] = (p[0,2]+p[0,3]+1)>>1
pred4×4L’[2,0] = (p[1,-1]+p[1,0]+1)>>1
pred4×4L’[2,1] = (p[1,0]+p[1,1]+1)>>1
pred4×4L’[2,2] = (p[1,1]+p[1,2]+1)>>1
pred4×4L’[2,3] = (p[1,2]+p[1,3]+1)>>1
pred4×4L’[3,0] = (p[2,-1]+p[2,0]+1)>>1
pred4×4L’[3,1] = (p[2,0]+p[2,1]+1)>>1
pred4×4L’[3,2] = (p[2,1]+p[2,2]+1)>>1
pred4×4L’[3,3] = (p[2,2]+p[2,3]+1)>>1
На Фиг.3G проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по вертикали – влево” (в режиме 7).
Элемент “a” 362 изображения предсказывают исходя из значения (A+B+1)/2, которое сформировано с использованием значений элементов, расположенных в диагональном направлении под углом 22,5° от вертикали, указанном на Фиг.3G стрелками, а элемент “e” 364 изображения предсказывают исходя из значения (a+b+1)/2, которое сформировано с использованием значений соседних элементов изображения, расположенных в блоке 300 изображения рядом с элементом “e” 364 изображения в направлении стрелки под углом 22,5° от вертикали. К тому же, элемент “i” 366 изображения предсказывают исходя из значения (e+f+1)/2, а элемент “m” 368 изображения предсказывают исходя из значения (i+j+1)/2.
Таким же самым образом, элемент “b” изображения предсказывают исходя из значения (B+C+1)/2, элемент “c” изображения – исходя из значения (C+D+1)/2, элемент “d” изображения – исходя из значения (D+E+1)/2, элемент “f” изображения – исходя из значения (b+c+1)/2, элемент “g” изображения – исходя из значения (c+d+1)/2, элемент “h” изображения – исходя из значения элемента “d” изображения, элемент “j” изображения – исходя из значения (f+g+1)/2, элемент “k” изображения – исходя из значения (g+h+1)/2, элемент “l” изображения – исходя из значения элемента “h” изображения, элемент “n” изображения – исходя из значения (j+k+1)/2, элемент “o” изображения – исходя из значения (k+l+1)/2 и элемент “p” изображения – исходя из значения элемента “l” изображения. Способ предсказания элементов изображения в режиме “по вертикали – влево” (в режиме 7) может быть выражен следующими уравнениями:
pred4×4L’[0,0] = (p[0,-1]+p[1,-1]+1)>>1
pred4×4L’[1,0] = (p[1,-1]+p[2,-1]+1)>>1
pred4×4L’[2,0] = (p[2,-1]+p[3,-1]+1)>>1
pred4×4L’[3,0] = (p[3,-1]+p[4,-1]+1)>>1
pred4×4L’[0,1] = (p[0,0]+p[1,0]+1)>>1
pred4×4L’[1,1] = (p[1,0]+p[2,0]+1)>>1
pred4×4L’[2,1] = (p[2,0]+p[3,0]+1)>>1
pred4×4L’[3,1] = p[3,0]
pred4×4L’[0,2] = (p[0,1]+p[1,1]+1)>>1
pred4×4L’[1,2] = (p[1,1]+p[2,1]+1)>>1
pred4×4L’[2,2] = (p[2,1]+p[3,1]+1)>>1
pred4×4L’[3,2] = p[3,1]
pred4×4L’[0,3] = (p[0,2]+p[1,2]+1)>>1
pred4×4L’[1,3] = (p[1,2]+p[2,2]+1)>>1
pred4×4L’[2,3] = (p[2,2)+p[3,2]+1)>>1
pred4×4L’[3,3] = p[3,2]
На Фиг.3H проиллюстрировано предсказание элементов изображения из блока информации о яркости и блока G в режиме “по горизонтали – вверх” (в режиме 8).
Элемент “a” 372 изображения предсказывают исходя из значения (I+J+1)/2, которое сформировано с использованием значений элементов, расположенных в диагональном направлении под углом 22,5° от горизонтали, указанном на Фиг.3H стрелками, а элемент “b” 374 изображения предсказывают исходя из значения (a+e+1)/2, которое сформировано с использованием значений соседних элементов изображения, расположенных в блоке 300 изображения рядом с элементом “b” 374 изображения в направлении стрелки под углом 22,5° от горизонтали. Элемент “c” 376 изображения также предсказывают исходя из значения (b+f+1)/2, а элемент “d” 378 изображения предсказывают исходя из значения (c+g+1)/2.
Таким же самым образом, элемент “e” изображения предсказывают исходя из значения (J+K+1)/2, элемент “i” изображения – исходя из значения (K+L+1)/2, элемент “m” изображения – исходя из значения элемента “L” изображения, элемент “f” изображения – исходя из значения (e+i+1)/2, элемент “j” изображения – исходя из значения (i+m+1)/2, элемент “n” изображения – исходя из значения элемента “m” изображения, элемент “g” изображения – исходя из значения (f+j+1)/2, элемент “k” изображения – исходя из значения (j+n+1)/2, элемент “o” изображения – исходя из значения элемента “n” изображения, элемент “h” изображения – исходя из значения (g+k+1)/2, элемент “l” изображения – исходя из значения (k+o+1)/2 и элемент “p” изображения – исходя из значения элемента “o” изображения. Способ предсказания элементов изображения в режиме “по горизонтали – вверх” (в режиме 8) может быть выражен следующими уравнениями:
pred4×4L’[0,0] = (p[-1,0]+p[-1,1]+1)>>1
pred4×4L’[0,1] = (p[-1,1] +p[-1,2]+1)>>1
pred4×4L’[0,2] = (p[-1,2] +p[-1,3]+1)>>1
pred4×4L’[0,3]= p[-1,3]
pred4×4L’[1,0] = (p[0,0]+p[0,1]+1)>>1
pred4×4L’[1,1] = (p[0,1]+p[0,2]+1)>>1
pred4×4L’[1,2] = (p[0,2]+p[0,3]+1)>>1
pred4×4L’[1,3] = p[0,3]
pred4×4L’[2,0] = (p[1,0]+p[1,1]+1)>>1
pred4×4L’[2,1] = (p[1,1]+p[1,2]+1)>>1
pred4×4L’[2,2] = (p[1,2]+p[1,3]+1)>>1
pred4×4L’[2,3] = p[1,3]
pred4×4L’[3,0] = (p[2,0]+p[2,1]+1)>>1
pred4×4L’[3,1] = (p[2,1]+p[2,2]+1)>>1
pred4×4L’[3,2] = (p[2,2]+p[2,3]+1)>>1
pred4×4L’[3,3] = p[2,3]
Наконец, в режиме “постоянная составляющая” (“постоянная составляющая” (DC)) (в режиме 2), все элементы изображения в предсказываемом блоке 300 предсказывают исходя из значения (A+B+C+D+I+J+K+L+4)/8, которое сформировано с использованием значений элементов изображения в блоках, соседних с блоком 300.
До сих пор в качестве примеров было приведено описание предсказания элементов изображения из блока информации о яркости и блока G с размером блока, равным 4×4 элемента. Однако, когда размер блока информации о яркости равен 8×8 элементов или 16×16 элементов, то описанный выше способ предсказания элементов изображения из блока информации о яркости также может быть применен тем же самым образом. Например, когда режимом для блока 8×8 элементов является режим “по вертикали”, описанный со ссылкой на Фиг.3A, то каждый элемент изображения предсказывают исходя из значения ближайшего соседнего элемента изображения в вертикальном направлении. Соответственно, единственное различие состоит в том, что размер блока равен 8×8 элементов или 16×16 элементов, и за исключением того, что предсказание элемента изображения является таким же, как и в режиме “по вертикали” для блока 4×4 элемента.
Между тем, в дополнение к элементам изображения, сформированным имеющими яркость и цветность, для блока, характеризующего красный цвет (блока R), и блока, характеризующего синий цвет (блока B), из блоков R, G (характеризующего зеленый цвет) и B, может быть применен описанный ниже способ предсказания элементов изображения для элемента изображения, характеризующего цветность.
Ниже приведено подробное объяснение вычисления элементов изображения для блока информации о цветности, блока R и блока B, со ссылкой на чертежи Фиг.4A – Фиг.4C.
Предсказание элементов изображения из блока информации о цветности, блока R и блока B выполняют по единичным блокам 8×8 элементов, и существует 4 режима предсказания, но в настоящем изобретении плоскостной режим (plane mode) не используют. Следовательно, в настоящем изобретении используют только следующие режимы: режим “постоянная составляющая” (DC) (режим 0), режим “по горизонтали” (режим 1) и режим “по вертикали” (режим 2).
На Фиг.4A проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B в режиме “постоянная составляющая” (DC).
На чертежах Фиг.4A – Фиг.4C проиллюстрировано предсказание для блоков размером 8×8 элементов, но при выполнении предсказания элементов изображения в блоке информации о цветности, блоке R и блоке B, такое предсказание элементов изображения может быть аналогичным образом применено и для блока размером M×N элементов.
Со ссылкой на Фиг.4A, элементы a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1 и p1 изображения, все из которых представляют собой элементы изображения в блоке 410 4×4 элемента из блока 400 8×8 элементов, предсказывают исходя из значения (A+B+C+D+I+J+K+L+4)/8. Элементы a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2 и p2 изображения также предсказывают исходя из значения (E+F+G+H+2)/4. К тому же, элементы a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3, n3, o3 и p3 изображения также предсказывают исходя из значения (M+N+O+P+2)/4, а элементы a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l4, m4, n4, o4 и p4 изображения предсказывают исходя из значения (E+F+G+H+M+N+O+P+4)/8.
На Фиг.4B проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B в режиме “по горизонтали”.
Элемент a1 изображения предсказывают исходя из элемента I изображения, элемент b1 изображения – исходя из элемента a1 изображения, а элемент c1 изображения – исходя из элемента b1 изображения. Таким образом, предсказание выполняют с использованием соседнего элемента изображения в горизонтальном направлении в предсказываемом блоке 400.
На Фиг.4C проиллюстрировано предсказание элементов изображения из блока информации о цветности, блока R и блока B в режиме “по вертикали”.
Элемент a1 изображения предсказывают исходя из элемента A изображения, элемент e1 изображения – исходя из элемента a1 изображения, а элемент i1 изображения – исходя из элемента e1 изображения. Таким образом, предсказание выполняют с использованием соседнего элемента изображения в вертикальном направлении в предсказываемом блоке 400.
Выше описано, что предсказание элементов изображения выполняют с использованием соседних элементов изображения в каждом из единичных блоков 4×4 элемента при предсказании блока информации о яркости и блока G и выполняют с использованием соседних элементов изображения в каждом из единичных блоков 8×8 элементов при предсказании блока информации о цветности, блока R и блока B. Однако, способ предсказания не ограничен блоком 4×4 элемента или блоком 8×8 элементов и может быть в равной степени применен к блокам произвольного размера из M×N элементов изображения. То есть, даже в том случае, когда единичным предсказываемым блоком является блок из М×N элементов изображения, предсказываемое значение элемента изображения может быть вычислено с использованием элемента изображения, ближайшего к значению элемента изображения в направлении предсказания в блоке.
На Фиг.5 проиллюстрирован способ предсказания при выполнении кодирования и декодирования в вышеупомянутых режимах.
Теперь, со ссылкой на Фиг.5, приведено объяснение другого способа получения разности путем предсказания элементов изображения. В обычном устройстве кодирования для получения разностного значения используют элемент изображения в соседнем блоке. Например, в режиме “по вертикали”, показанном на Фиг.3A, в обычном способе, все из следующих элементов изображения: элемент “a” 302 изображения, элемент “e” 304 изображения, элемент “i” 306 изображения и элемент “m” 308 изображения, предсказывают исходя из элемента “A” изображения, и, следовательно, разностными значениями являются r0=a-A, r1=e-A, r2=i-A и r3=m-A. В настоящем изобретении, используя полученные таким способом обычные разностные значения, вычисляют новые разностные значения. Итак, новыми разностными значениями являются следующие: r’0=r0, r’1=r1-r0, r’2=r2-r1 и r’3=r3-r2. При этом, поскольку новые разностные значения r’0, r’1, r’2 и r’3 равны r’0=a-A, r’1=e-a, r’2=i-e и r’3=m-i, то r’0, r’1, r’2 и r’3 имеют те же самые значения, что и разностные значения, предсказанные исходя из ближайших соседних элементов изображения согласно вышеописанному способу предсказания. Следовательно, с новыми разностными значениями r’0, r’1, r’2 и r’3 в каждом из вышеописанных режимов может быть применен способ предсказания элементов изображения с использованием соседнего элемента изображения.
Соответственно, модуль 110 предсказания движения, входящий в состав устройства кодирования из настоящего изобретения, показанного на Фиг.1, может дополнительно содержать модуль вычисления разностного значения, осуществляющий генерацию новых значений r’0, r’1, r’2 и r’3 элементов изображения из разностей.
На Фиг.6 изображена блок-схема устройства декодирования согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.
Модуль 610 энтропийного декодирования принимает поток битов, закодированный согласно настоящему изобретению, и выполняет декодирование согласно способу энтропийного декодирования, например, контекстно-адаптивное кодирование кодами переменной длины (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC). В передней части принятого потока битов может быть установлен флаг, указывающий, что значения элементов изображения предсказаны согласно настоящему изобретению. В качестве примера этого флага, в стандарте H.264 предусмотрен флаг lossless_qpprime_y_zero_flag.
Путем использования этого флага, в модуль 620 восстановления видеоинформации передает информацию о том, что значения элементов изображения предсказаны согласно настоящему изобретению.
Согласно этой информации, содержащейся во флаге, и информации о режиме кодирования, модуль 620 восстановления видеоинформации восстанавливает видеоинформацию согласно способу вычисления предсказания элементов изображения в режиме из настоящего изобретения и выводит результат.
На Фиг.7 изображена схема последовательности операций способа кодирования согласно настоящему изобретению.
Как описано выше, предсказание движения выполняют в различных режимах внутреннего предсказания, предусмотренных согласно видоизмененным способам предсказания, и при операции S710 определяют оптимальный режим. Кроме того, не используя видоизмененные способы предсказания, блок формируют с использованием разностных значений, заново сгенерированных из разностей, полученных обычным способом предсказания, и затем может быть выполнено предсказание движения в режиме кодирования с внутренним предсказанием. Оптимальный режим может быть реализован путем оптимизации искажений в зависимости от скорости передачи (RD), и поскольку в настоящем изобретении использовано кодирование без потерь, то один режим кодирования определяется оптимизацией скорости передачи. При операции S720 выполняют предсказание движения в определенном таким образом режиме кодирования. Затем при операции S730 выполняют энтропийное кодирование результирующего значения и его вывод.
Декодирование выполняют в порядке, обратном кодированию. То есть, вводят поток битов, закодированный способом энтропийного кодирования, и выполняют его энтропийное декодирование. Затем на основании информации о режиме кодирования и информации, содержащейся во флаге, выполняют восстановление значений элементов изображения согласно способу вычисления предсказанных значений элементов изображения из настоящего изобретения и вывод видеоинформации.
При этом, восстановленные значения элементов изображения могут быть выражены следующими уравнениями:
(1) Если при выполнении кодирования использован видоизмененный способ предсказания, описанный выше, и режим кодирования определен как режим “по вертикали”, то восстановление значений элементов изображения производят согласно следующему уравнению:
uij = predL[x0+j,y0+i]+ i,j=0, …,3 или
uij = predL’[x0+j,y0]+ i,j=0, …,3.
(2) Если при выполнении кодирования использован видоизмененный способ предсказания, описанный выше, и режим кодирования определен как режим “по горизонтали”, то восстановление значений элементов изображения производят согласно следующему уравнению:
uij = predL[x0+j,y0+i]+ i,j=0, …,3 или
uij = predL’[x0+j,y0]+ i,j=0, …,3.
(3) Если при выполнении кодирования использован видоизмененный способ предсказания, описанный выше, и режим кодирования определен как режим “по диагонали вниз влево”, то восстановление значений элементов изображения производят согласно следующему уравнению:
Если i=0 ((i,j)=(0,0), (0,1), (0,2), (0,3)), то
uij = predL’[x0+j,y0+i]+ri,j,
если i=1, j<3 ((i,j)=(1,0), (1,1), (1,2)), то
uij = predL’[x0+j+1,y0+i-1]+ri-1,j+1,
если i=1, j=3 ((i,j)=(1,3)), то
uij = predL’[x0+j,y0+i-1]+ri-1,j+ri,j,
если i=2, j<2 ((ij)=(2,0), (2,1)), то
uij = predL’[x0+j+2,y0+i-2]+ri-2,j+2+ri-1,j+1+ri,j,
если i=2, j=2 ((i,j)=(2,2)), то
uij = predL’[x0+j+1,y0+i-2]+ri-2,j+1+ri-1,j-1+ri,j,
если i=2, j=3 ((i,j)=(2,3)), то
uij = predL’[x0+j, y0+i-2]+ri-2,j+ri-1,j+ri,j,
если i=3, j=0 ((i,j)=(3,0)), то
uij = predL’[x0+j+3,y0+i-3]+ri-3,j+3+ri-2,j+2+ri-1,j+1+ri,j,
если i=3, j=1 ((i,j)=(3,1)), то
uij = predL’[x0+j+2, y0+i-3]+ri-3,j+2+ri-2,j+2+ri-1,j+1+ri,j,
если i=3, j=2 ((i,j)=(3,2)), то
uij = predL’[x0+j+1,y0+i-3]+ri-3,j+1+ri-2,j+1+ri-1,j+1+ri,j,
если i=3, j=3 ((i,j)=(3,3)), то
uij = predL’[x0+j,y0+i-3]+ri-3,j+ri-2,j+ri-1,j+ri,j.
(4) Если при выполнении кодирования использован видоизмененный способ предсказания, описанный выше, и режим кодирования определен как режим “по диагонали вниз вправо”, то восстановление значений элементов изображения производят согласно следующему уравнению:
Если i=0 или j=0 ((i,j)=(0,0), (0,1), (0,2), (0,3), (1,0), (2,0), (3,0)), то
uij = predL’[x0+j,y0+i]+ri,j,
если i=1, j1, или
если j=1, i>1 ((i,j)=(1,1), (1,2), (1,3), (2,1), (3,1)), то
uij = predL’[x0+j,y0+i]+ri-1,j-1+ri,j,
если i=2, j2, или
если j=2, i>2 ((i,j)=(2,2), (2,3), (3,2)), то
uij = predL’[x0+j,y0+i]+ri-2,j-2+ri-1,j-1+ri,j,
если i=j=3 ((i,j)=(3,3)), то
uij = predL’[x0+j,y0+i]+ri-3,j-3+ri-2,j-2+ri-1,j-1+ri,j.
(5) В остальных режимах восстановление значений элементов изображения производят согласно следующему уравнению:
uij = predL[x0+j,y0+i]+ri,j.
В результате экспериментов, проведенных в соответствии с вышеописанным способом, для различных испытательных изображений, предложенных согласно Объединенной модели типа 73 (JM73), которая разработана группой стандартизации H.264, было достигнуто продемонстрированное ниже улучшение эффективности сжатия. Условия эксперимента показаны в таблице 1.
Таблица 1 |
|
Изображение “News” (формат QCIF – 1/4 формата CIF по разрешению) |
Изображение “Container” (формат QCIF) |
Изображение “Foreman” (формат QCIF) |
Изображение “Silent” (формат QCIF) |
Изображение “Paris” (формат CIF) |
Изображение “Mobile” (формат CIF) |
Изображение “Tempete” (формат CIF) |
Весь кадр |
100 (10 Гц) |
100 (10 Гц) |
100 (10 Гц) |
150 (15 Гц) |
150 (15 Гц) |
300 (30 Гц) |
260 (30 Гц) |
Условия |
Оптимизация скорости передачи, контекстно-адаптивное кодирование кодами переменной длины (CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (CABAC), режим внутреннего кодирования по блокам 4×4 элемента изображения |
Для всех семи испытательных изображений были проведены эксперименты с движущимися изображениями на частоте 10 Гц, 15 Гц и 30 Гц различными способами с количеством кадров от 100 до 300 кадров. В таблице 2 приведено сравнение коэффициентов сжатия при сжатии испытательных изображений, соответственно, обычным способом сжатия и способом сжатия из настоящего изобретения (обозначенным как НИ) при условиях эксперимента, показанных в таблице 1.
Таблица 2 |
Изобра-жение |
Исходный размер (в битах) |
Способ |
Контекстно-адаптивное двоичное арифметическое кодирование (CABAC) |
Контекстно-адаптивное кодирование кодами переменной длины (CAVLC) |
Общее количество битов |
Сжатие |
Относительное количество битов (%) |
Общее количество битов |
Сжатие |
Относительное количество битов (%) |
News (300 кадров) |
91238400 |
JM73 |
49062832 |
1,8596 |
100 |
52730184 |
1,7303 |
100 |
НИ |
41909016 |
2,1771 |
85,4191 |
45048912 |
2,0253 |
85,4329 |
Container (300 кадров) |
91233400 |
JM73 |
4786576 |
1,9073 |
100 |
51976308 |
1,7554 |
100 |
НИ |
42214496 |
2,1613 |
88,2473 |
45796656 |
1,9923 |
88,1098 |
Foreman (300 кадров) |
91233400 |
JM73 |
50418312 |
1,8096 |
100 |
54997344 |
1,6590 |
100 |
НИ |
45126584 |
2,0218 |
89,5044 |
48981272 |
1,8627 |
89,0612 |
Silent (300 кадров) |
91238400 |
JM73 |
54273064 |
1,6811 |
100 |
59704832 |
1,5282 |
100 |
НИ |
47761392 |
1,9103 |
88,0020 |
51595640 |
1,7683 |
86,4179 |
Paris (300 кадров) |
364953600 |
JM73 |
224766912 |
1,6237 |
100 |
243763312 |
1,4972 |
100 |
НИ |
194010352 |
1,8811 |
86,3162 |
209244560 |
1,7441 |
85,8392 |
Mobile (300 кадров) |
364953600 |
JM73 |
285423632 |
1,2786 |
100 |
310319680 |
1,1761 |
100 |
НИ |
257143688 |
1,4193 |
90,0919 |
276517280 |
1,3198 |
89,1072 |
Tempete (260 Frames) |
316293120 |
JM73 |
205817192 |
1,5368 |
100 |
225291464 |
1,4039 |
100 |
НИ |
183106968 |
1,7274 |
88,9658 |
198472424 |
1,5936 |
88,0959 |
Среднее значение |
|
JM73 |
131085503 |
1,6710 |
100 |
142683375 |
1,5357 |
100 |
НИ |
115896071 |
1.8997 |
88,0781 |
125093821 |
1,7580 |
87,4377 |
Между тем, в таблице 2 показаны результаты для того случая, когда была произведена внутрикадровая генерация испытательных изображений с использованием только внутреннего предсказания, и, можно увидеть, что коэффициент сжатия является более высоким при использовании только внутреннего предсказания.
При этом вышеописанный способ кодирования и декодирования видеоинформации может быть реализован в виде компьютерной программы. Коды и сегменты кода, образующие программу, могут быть легко получены компьютерными программистами, являющимися специалистами в области техники, к которой относится настоящее изобретение. К тому же, эта программа может быть запомнена в считываемом посредством компьютера носителе информации и может быть считана и выполнена компьютером таким образом, чтобы реализовать способ кодирования и декодирования видеоинформации. Носителем информации может являться магнитный носитель информации, оптический носитель информации или канал передачи на несущей.
Несмотря на то что настоящее изобретение было подробно продемонстрировано и описано со ссылкой на варианты его осуществления, которые приведены в качестве примеров, для обычных специалистов в данной области техники понятно, что могут быть выполнены различные изменения формы и подробностей, не выходя за пределы сущности и объема настоящего изобретения, которые определены приведенной ниже формулой изобретения. Приведенные в качестве примера варианты осуществления изобретения следует расценивать только как изложенные в описательных целях, а не как ограничивающие. Следовательно, объем патентных притязаний настоящего изобретения определяется не приведенным выше подробным его описанием, а прилагаемой формулой изобретения, и вся различия в пределах объема патентных притязаний следует истолковывать как охватываемые настоящим изобретением.
Согласно настоящему изобретению, описание которого приведено выше, может быть повышен коэффициент сжатия при выполнении кодирования без потерь. В частности, при использовании только режима внутреннего предсказания коэффициент сжатия является намного более высоким, чем при обычном способе.
ПРИГОДНОСТЬ ДЛЯ ПРИМЕНЕНИЯ В ПРОМЫШЛЕННЫХ ЦЕЛЯХ
Настоящее изобретение может быть применено в устройстве кодирования и в устройстве декодирования видеоинформации без потерь для увеличения коэффициента сжатия.
Формула изобретения
1. Способ кодирования видеоинформации без потерь, содержащий следующие операции: для каждого из множества элементов изображения в блоке M×N элементов изображения, для которого выполняется предсказание определяют в блоке M×N элементов изображения по меньшей мере один элемент изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания, определенном режимом кодирования; предсказывают значение предсказываемого элемента изображения с использованием значения упомянутого по меньшей мере одного элемента изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания; определяют разность между предсказанным значением элемента изображения и предсказываемым значением элемента изображения; и выполняют энтропийное кодирование разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения.
2. Способ по п.1, в котором в том случае, если предсказываемым блоком из M×N элементов изображения является блок информации о яркости или блок G, то блоком из M×N элементов изображения является любой из следующих блоков: блок 4×4 элемента изображения, блок 8×8 элементов изображения и блок 16×16 элементов изображения, а если блоком из M×N элементов изображения является один из следующих блоков: блок информации о цветности, блок R и блок В, то M×N равно 8×8.
3. Способ по п.1, в котором для блока информации о яркости или блока G режимом кодирования является один из следующих: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal), режим “постоянная составляющая” (DC), режим “по диагонали вниз влево” (Diagonal_Down_Left), режим “по диагонали вниз вправо” (Diagonal_Down_Right), режим “по вертикали вправо” (Vertical_Right), режим “по горизонтали – вниз” (Horizontal_Down), режим “по вертикали – влево” (Vertical_Left) и режим “по горизонтали’ – вверх” (Horizontal_Up), которые представляют собой режимы внутреннего кодирования яркости по блокам 4×4 элемента изображения согласно стандарту Н.264.
4. Способ по п.1, в котором для одного из следующих блоков: блока информации о цветности, блока R и блока В, режимом кодирования является один из следующих режимов: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal) и режим “постоянная составляющая” (DC), которые представляют собой режимы внутреннего кодирования цветности по блокам 8×8 элементов изображения согласно стандарту Н.264.
5. Способ по п.1, в котором операция энтропийного кодирования разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения содержит следующую операцию: определяют режим кодирования, имеющий самую низкую скорость, путем выполнения внутреннего предсказания для предсказания значений элементов изображения для блока из M×N элементов изображения в режиме внутреннего кодирования согласно стандарту Н.264, и выполняют энтропийное кодирование разности между предсказанным значением элемента изображения, которое предсказано согласно определенному таким способом режиму кодирования, и предсказываемым значением элемента изображения.
6. Способ кодирования видеоинформации без потерь, содержащий следующие операции: для каждого из множества элементов изображения в блоке M×N элементов изображения, для которого выполняется предсказание определяют по меньшей мере один элемент изображения соседний с блоком из M×N элементов изображения в направлении, определенном согласно режиму кодирования, предсказывают значение предсказываемого элемента изображения с использованием значения упомянутого по меньшей мере одного элемента изображения, соседнего с упомянутым блоком из M×N элементов изображения в направлении, определенном согласно режиму кодирования; определяют разность между предсказанным значением элемента изображения и предсказываемым значением элемента изображения, тем самым получая блок M×N элементов, сформированный из упомянутых разностей; выполняют кодирование упомянутого блока M×N элементов, сформированного из упомянутых разностей с использованием способа по п.1.
7. Способ декодирования видеоинформации без потерь, содержащий следующие операции: принимают поток битов, полученный путем выполнения энтропийного кодирования на основании множества предсказанных значений, причем каждый элемент изображения предсказан с использованием ближайшего элемента изображения в направлении предсказания, определенном согласно режиму кодирования, в блоке из M×N элементов изображения, который представляет собой единичный предсказываемый блок; выполняют энтропийное декодирование потока битов; и восстанавливают без потерь первоначальное изображение согласно декодированным значениям.
8. Способ по п.7, в котором в том случае, если блоком из M×N элементов изображения является блок информации о яркости или блок G, то блоком из M×N элементов изображения является любой из следующих блоков: блок 4×4 элемента изображения, блок 8×8 элементов изображения и блок 16×16 элементов изображения, а если блоком из M×N элементов изображения является один из следующих блоков: блок информации о цветности, блок R и блок В, то блоком из M×N элементов изображения является блок 8×8 элементов изображения.
9. Способ по п.7, в котором для блока информации о яркости или блока G режимом кодирования является один из следующих: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal), режим “постоянная составляющая” (DC), режим “по диагонали вниз влево” (Diagonal_Down_Left), режим “по диагонали вниз вправо” (Diagonal_Down_Right), режим “по вертикали вправо” (Vertical_Right), режим “по горизонтали – вниз” (Horizontal_Down), режим “по вертикали – влево” (Vertical_Left) и режим “по горизонтали – вверх” (Horizontal_Up), которые представляют собой режимы внутреннего кодирования яркости по блокам 4×4 элемента изображения согласно стандарту Н.264.
10. Способ по п.7, в котором для одного из следующих блоков: блока информации о цветности, блока R и блока В, режимом кодирования является один из следующих режимов: режим “по вертикали” (Vertical), режим “по горизонтали” (Horizontal) и режим “постоянная составляющая” (DC), которые представляют собой режимы внутреннего кодирования цветности по блокам из M×N элементов изображения согласно стандарту Н.264.
11. Устройство кодирования видеоинформации без потерь, содержащее модуль предсказания движения, который для каждого из множества элементов изображения в предсказываемом блоке M×N элементов изображения, определяет в блоке M×N элементов изображения по меньшей мере один элемент изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания, определенном режимом кодирования; предсказывает значение предсказываемого элемента изображения с использованием значения упомянутого по меньшей мере одного элемента изображения, который является наиболее близким к предсказываемому элементу изображения в направлении предсказания; причем модуль предсказания движения выполняет определение разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения; и модуль энтропийного кодирования, который выполняет энтропийное кодирование разности между предсказанным значением элемента изображения и предсказываемым значением элемента изображения.
12. Устройство по п.11, в котором модуль предсказания движения дополнительно содержит: модуль вычисления разностного значения, который для каждого из множества элементов изображения в блоке M×N элементов изображения, для которого выполняется предсказание определяет по меньшей мере один элемент изображения соседний с блоком из M×N элементов изображения в направлении, определенном согласно режиму кодирования, предсказывает значение предсказываемого элемента изображения с использованием значения упомянутого по меньшей мере одного элемента изображения, соседний с упомянутым блоком из M×N элементов изображения в направлении, определенном согласно режиму кодирования; определяет разность между предсказанным значением элемента изображения и предсказываемым значением элемента изображения, тем самым получая блок M×N элементов, сформированный из упомянутых разностей, используемый при дальнейшей обработке в модуле предсказания движения.
13. Устройство по п.11, в котором в том случае, если предсказываемым блоком из M×N элементов изображения является блок информации о яркости или блок G, то блоком из M×N элементов изображения является любой из следующих блоков: блок 4×4 элемента изображения, блок 8×8 элементов изображения и блок 16×16 элементов изображения, а если блоком из M×N элементов изображения является один из следующих блоков: блок информации о цветности, блок R и блок В, то блоком из M×N элементов изображения является блок 8×8 элементов изображения.
14. Устройство декодирования видеоинформации без потерь, содержащее: модуль энтропийного декодирования, который принимает поток битов, полученный путем выполнения энтропийного кодирования на основании значений, предсказанных путем использования ближайшего элемента изображения в направлении предсказания, определенном согласно режиму кодирования, в блоке из M×N элементов изображения, который представляет собой единичный предсказываемый блок, и выполняет энтропийное декодирование потока битов; и модуль восстановления видеоинформации, который восстанавливает первоначальное изображение без потерь согласно декодированным значениям.
15. Устройство по п.14, в котором в том случае, если предсказываемым блоком из M×N элементов изображения является блок информации о яркости или блок G, то блоком из M×N элементов изображения является любой из следующих блоков: блок 4×4 элемента изображения, блок 8×8 элементов изображения и блок 16×16 элементов изображения, а если блоком из M×N элементов изображения является один из следующих блоков: блок информации о цветности, блок R и блок В, то блоком из M×N элементов изображения является блок 8×8 элементов изображения.
РИСУНКИ
|
|