УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ПРОГРАММА И ЗАПОМИНАЮЩИЙ НОСИТЕЛЬ
IMAGE ENCODING DEVICE, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE DECODING METHOD, PROGRAM AND STORAGE MEDIA

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования изображения, способу кодирования изображения, программе и запоминающему носителю, каждый - для кодирования изображения. Настоящее изобретение также относится к устройству декодирования изображения, способу декодирования изображения, программе и запоминающему носителю, каждый - для декодирования кодированного изображения.
Уровень техники
Способы кодирования изображения были применены ко многим видео устройствам, которые используются привычным образом. Целевыми продуктами, к которым применяются эти способы, могут быть, например, DVD для получения удовольствия от видео контента, такого как кинофильмы, устройства записи на жесткий диск, в которых видео контент, такой как TV программы, должен быть записан, цифровые системы TV кодирования, DVD камеры и мобильные телефоны, которые могут выполнить обработку изображения. Как таковые, способы кодирования изображения применяются очень широко.
Непатентная литература 1 раскрывает (i) устройство кодирования изображения, которое кодирует изображение посредством использования пространственной корреляции или временной корреляции в изображении, и (ii) устройство декодирования изображения, которое декодирует кодированные данные, которые закодированы устройством кодирования изображения. Ниже описаны способы работы этих устройств, которые используют пространственную корреляцию, со ссылками на фиг. 65-70.
(Компоновка устройства 300 кодирования изображения)
Со ссылками на фиг. 65 ниже описано устройство 300 кодирования изображения согласно обычной методике.
Фиг. 65 - блок-схема, иллюстрирующая основную часть компоновки устройства 300 кодирования изображения согласно обычной методике. Устройство 300 кодирования изображения включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 304 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 310 интра-предсказания (внутреннего предсказания), и секцию 311 определения режима предсказания (Фиг. 65). Ниже описаны каждый из составляющих компонентов устройства 300 кодирования изображения.
(Секция 1 вычисления разности)
Секция 1 вычисления разности выдает остаточные данные предсказания, которые являются разностью между целевым блоком, который должен быть закодирован (блок пиксели MxM), и предсказанным изображением, сгенерированным из секции 310 интра-предсказания.
(Секция 2 ортогонального преобразования и секция 7 обратного ортогонального преобразования)
Секция 2 ортогонального преобразования выполняет ортогональное преобразование в отношении остаточных данных предсказания, принятых от секции 1 вычисления разности, и затем выводит результат. Секция 7 обратного ортогонального преобразования выполняет обратное ортогональное преобразование в отношении коэффициента ортогонального преобразования остаточных данных предсказания, принятых от секции 6 обратного квантования, и выдает результат. В качестве способа ортогонального преобразования и обратного ортогонального преобразования могут использоваться дискретное косинусное преобразование, преобразование Адамара, дискретное преобразование Фурье, дискретное синусное преобразование, преобразование Хаара (Haar), наклонное преобразование, или разложение Карунена-Лоэва.
(Секция 3 квантования и секция 6 обратного квантования)
Секция 3 квантования выполняет квантование в отношении коэффициента ортогонального преобразования остаточных данных предсказания, принятых от секции 2 ортогонального преобразования, и затем выдает результат. Секция 6 обратного квантования выполняет обратное квантование в отношении коэффициента квантования остаточных данных предсказания, принятых от секции 3 квантования, и затем выдает результат. Квантование и обратное квантование выполняются при помощи скалярного квантования или векторного квантования.
(Секция 304 статистического кодирования)
Секция 304 статистического кодирования выполняет статистическое кодирование в отношении остаточных данных предсказания и информации о режиме кодирования, такой как тип блока, информации режима предсказания, и параметра квантования. “Статистическое кодирование” указывает: (a) кодирование с переменной длиной, такое как арифметическое кодирование, кодирование по Хаффману, и кодирование Голомба (Golomb); или (b) кодирование с фиксированной длиной.
(Секция 8 вычисления суммы)
Секция 8 вычисления суммы суммирует остаточные данные предсказания, подвергнутые обратному квантованию и обратному ортогональному преобразованию, с предсказанным изображением, сгенерированным секцией 310 интра-предсказания, чтобы сгенерировать локально декодированное изображение. Секция 8 вычисления суммы затем выводит локально декодированное изображение.
(Память 9)
Память 9 принимает и затем сохраняет локально декодированное изображение.
(Секция 310 интра-предсказания)
Секция 310 интра-предсказания выполняет интра–предсказание (внутреннее предсказание), указанное информацией режима предсказания, посредством использования локально декодированного изображения, сохраненного в памяти 9, и генерирует предсказанное изображение. “Интра-предсказание” указывает предсказание в экране или предсказание в кадре, то есть, предсказание, выполненное с использованием пространственной корреляции в изображении. В это время интра-предсказание выполняется в отношении целевого блока (блока пикселей MxM), подлежащего кодированию, посредством использования 9 типов заранее определенных способов предсказания, соответственно обозначенных режимами 0-8. Фиг. 66 показывает примеры режимов предсказания. Фиг. 66 показывает режимы предсказания для использования в интра-предсказании согласно обычной методике. В примерах на фиг. 66 размер блока является блок 4х4 пикселей. Далее, пиксели А-М являются пикселями, которые были уже закодированы и которые используются для предсказания целевого блока, который должен быть закодирован.
Ниже описан каждый из режимов более подробно. Режим 0 выполняет пространственное предсказание в вертикальном направлении с использованием пикселей А-D. Режим 1 выполняет пространственное предсказание в горизонтальном направлении с использованием пикселей I-L. Режим 2 предсказания выполняет DC предсказание с использованием пикселей А-D и пикселей I-L. Режим 3 выполняет пространственное предсказание в диагональном направлении влево вниз с использованием пикселей А-H. Режим 4 выполняет пространственное предсказание в диагональном направлении вправо вниз с использованием пикселей А-D и пикселей I-М. Режим 5 выполняет пространственное предсказание в вертикальном направлении вправо с использованием пикселей А-D, пикселей I-K и пикселя М. Режим 6 выполняет пространственное предсказание в горизонтальном направлении вниз с использованием пикселей А-C и пикселей I-М. Режим 7 выполняет пространственное предсказание в вертикальном направлении влево с использованием пикселей А-E. Режим 8 выполняет пространственное предсказание в горизонтальном направлении вверх с использованием пикселей I, J, K и L. Секция 310 интра-предсказания генерирует пиксели предсказания посредством использования способа предсказания, соответствующего любому из этих режимов.
(Секция 311 определения режима предсказания)
Секция 311 определения режима предсказания определяет, какой из множества режимов предсказания, показанных на фиг. 66, должен использоваться для предсказания целевого блока, который должен быть закодирован, на основании введенного оригинального (первоначального) изображения целевого блока, который должен быть закодирован, и локально декодированное изображение принимается из памяти 9, и выдает информацию об определенном режиме предсказания (далее называемую информацией о режиме предсказания) к секции 310 интра-предсказания и секции 304 статистического кодирования.
Обычно, способ для оценки остаточной стоимости предсказания (далее называемый способом минимизации остаточной стоимости предсказания) или способ оптимизации искажения «цены» используется для определения режима предсказания, который будет использоваться.
Способ минимизации остаточной стоимости предсказания - способ, в котором (i) степень подобия (далее называемая остаточной стоимостью предсказания) находят между введенным первоначальным изображением целевого блока, подлежащего кодированию, и предсказанным изображением, соответствующим каждому из режимов предсказания, сгенерированных на основе локально декодированного изображения, принятого из памяти 9, и затем (ii) режим предсказания, имеющий наименьшую остаточную стоимость предсказания, выбирается из режимов предсказания. Мера S остаточной стоимости предсказания представляется любым из следующего: сумма абсолютных значений остаточных данных предсказания; сумма квадратов остаточных данных предсказания; сумма абсолютных значений коэффициентов преобразования остаточных данных предсказания; и сумма квадратов коэффициентов преобразования остаточных данных предсказания. Эти значения вычисляются посредством использования следующих уравнений (1) до (4).
<maths num="1"><img file="00000001.TIF" he="10" wi="70" img-content="undefined" img-format="TIF" /></maths>
(1)
<maths num="2"><img file="00000002.TIF" he="11" wi="75" img-content="undefined" img-format="TIF" /></maths>
(2)
<maths num="3"><img file="00000003.TIF" he="10" wi="77" img-content="undefined" img-format="TIF" /></maths>
(3)
<maths num="4"><img file="00000004.TIF" he="11" wi="78" img-content="undefined" img-format="TIF" /></maths>
(4)
Матем. 1
В уравнениях (1)-(4) f(x, y) указывает первоначальное изображение, p(x, y) указывает предсказанное изображение, x, и y указывают целевой блок, который должен быть закодирован, и i и j указывают позицию пикселя в целевом блоке, который должен быть закодирован. T {} указывает операцию ортогонального преобразования, такую как дискретное косинусное преобразование, дискретное синусное преобразование, и преобразование Адамара.
В способе оптимизации искажения «цены» режим предсказания выбирается согласно следующим этапам. Сначала предсказанные изображения, соответствующие соответствующим режимам предсказания, генерируются на основе локально декодированного изображения, принятого из памяти 9. Затем, остаточные данные предсказания находятся из каждого из предсказанных изображений, сгенерированных таким образом, и введенного первоначального изображения целевого блока, который должен быть закодирован. Затем остаточные данные предсказания, таким образом полученные, временно кодируют. Затем (a) ошибка D предсказания между первоначальным изображением целевого блока и декодированным изображением целевого блока и (b) объем кодирования R, необходимый для кодирования целевого блока, вычисляются относительно каждого из режимов предсказания. Наконец, режим предсказания, который минимизирует стоимость J кодирования, вычисленную согласно следующему уравнению (5) на основании D и R, выбирается из режимов предсказания.
Матем. 2
J(mode|q)=D(mode|q)+λ(q)*R(mode|q)
Ошибка D предсказания является ошибкой между остаточными данными предсказания, которые не были квантованы, и остаточными данными предсказания, которые были квантованы. Объем R кодирования является общим объемом кодирования остаточных данных предсказания и объемом кодирования информации режима предсказания.
В уравнении (5) "режим" указывает режим предсказания, и q указывает параметр квантования. Далее, λ - коэффициент взвешивания, зависящий от параметра q квантования, и обычно вычисляется согласно следующему уравнению (6):
(q-12)/3
λ(q)=0,85*2
Матем. 3
(Процесс кодирования устройства 300 кодирования изображения)
Ниже описано как работает устройство 300 кодирования изображения.
Сначала целевое изображение, которое должно быть закодировано (далее называемое «целевой блок, который должен быть закодирован»), которое разделено на блоки с заранее определенным размером блока (блок пикселей MxM), подается на устройство 300 кодирования изображения в качестве входного изображения.
Секция 311 определения режима предсказания определяет режим предсказания, который будет использоваться для предсказания для целевого блока, который должен быть закодирован, в соответствии со способом минимизации остаточной стоимости предсказания или способом оптимизации искажения «цены», на основании целевого блока, который должен быть закодирован, и локально декодированного изображения смежного блока, который был уже закодирован, где локально декодированное изображение принимается из памяти 9. Секция 311 определения режима предсказания затем выдает информацию режима предсказания к секции 310 интра-предсказания и секции 304 статистического кодирования.
Секция 310 интра-предсказания выполняет интра-предсказание, указанное информацией режима предсказания, принятой таким образом, на основании локально декодированного изображения смежного блока, который был закодирован, причем локально декодированное изображение принимается из памяти 9, чтобы сгенерировать предсказанное изображение (блок пикселей MxM) целевого блока, который должен быть закодирован. Секция 310 интра-предсказания затем выдает предсказанное изображение на секцию 1 вычисления разности.
Затем секция 1 вычисления разности вычисляет остаточные данные предсказания, которые являются разностью между целевым блоком, который должен быть закодирован, и предсказанным изображением, таким образом сгенерированным, и выдает остаточные данные предсказания к секции 2 ортогонального преобразования.
Остаточные данные предсказания от секции 1 вычисления разности выдаются на секцию 2 ортогонального преобразования и затем – на секцию 3 квантования, чтобы быть подвергнутым ортогональному преобразованию и затем квантованию. Остаточные данные предсказания затем выдаются на секцию 304 статистического кодирования и секцию 6 обратного квантования.
Остаточные данные предсказания, таким образом подвергнутые ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются на секцию 8 вычисления суммы.
Секция 8 вычисления суммы комбинирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию, с предсказанным изображением, соответствующим режиму предсказания, примененному к целевому блоку, чтобы синтезировать локально декодированное изображение (блок пикселей MxM) целевого блока. Локально декодированное изображение, таким образом синтезированное, затем выдается в память 9.
Локально декодированное изображение целевого блока, которое выдается из секции 8 вычисления суммы, сохраняется в памяти 9 и используется для интра-предсказания смежного блока, который должен быть закодирован вслед за целевым блоком.
Секция 304 статистического кодирования выполняет процесс кодирования, такой как кодирование с переменной длиной, в отношении параметров кодирования, таких как информация режима предсказания, принятая от секции 311 определения режима предсказания, и остаточных данных предсказания, подвергнутых ортогональному преобразованию и квантованию. Затем секция 304 статистического кодирования выводит кодированные данные целевого блока.
Устройство 300 кодирования изображения повторяет вышеупомянутый процесс относительно всех целевых блоков, которые будут закодированы, которые составляют целевое изображение, которое должно быть закодировано.
Как описано выше, устройство 300 кодирования изображения выбирает соответствующий один из 9 типов заранее определенных способов предсказания из режимов 0–8, проиллюстрированных на фиг. 66, в зависимости от характеристик изображения. Это может достичь высокой эффективности кодирования. Более конкретно, DC предсказание режима 2 является эффективным для предсказания для плоской области изображения. Далее, режимы 0, 1, и 3-8 эффективны для предсказания для изображения, включающего в себя край в конкретном направлении.
Фиг. 67 (a) и (b) иллюстрируют конкретные примеры интра-предсказания в устройстве 300 кодирования изображения. Фиг. 67(a) иллюстрирует пример, в котором остаточные данные предсказания F43 получаются как разность между (i) изображением F41, имеющим вертикальные полосы, в которых края формируются в вертикальном направлении, и (ii) предсказанным изображением F42, сгенерированным на основании декодированного изображения, согласно предсказанию в вертикальном направлении (режим 0 на фиг. 66). Далее, фиг. 67(b) иллюстрирует пример, в котором остаточные данные предсказания F46 получаются как разность между (i) изображением F44, имеющим диагональные полосы, в котором края формируются в направлении по диагонали вправо и (ii) предсказанным изображением F45, сгенерированным на основании декодированного изображения, согласно направлению предсказания по диагонали вниз вправо (Режим 4 на фиг. 66).
В случаях Фиг. 67(a) и (b) предсказанные изображения F42 и F45 соответственно воспроизводят шаблонные части в изображениях F41 и F44, которые являются первоначальными изображениями. Поэтому, когда вычисляется разность между первоначальным изображением и предсказанным изображением, шаблонная часть в первоначальном изображении и шаблонная часть в предсказанном изображении взаимно уничтожают друг друга. В результате пиксели в первоначальном изображении, которые не могут быть вычтены посредством предсказанного изображения, остаются в качестве остаточных данных предсказания. На Фиг. 67(a) и (b) направление предсказания идентично с направлением шаблона в первоначальном изображении. Следовательно, возможно эффективно сократить остаточные данные предсказания.
(Способ кодирования с предсказанием информации режима предсказания)
Ниже описан способ кодирования с предсказанием для информации режима предсказания.
Интра-предсказание блока 4х4 пикселей или блока 8х8 пикселей в устройстве кодирования изображения, использующем пространственную корреляцию, раскрытую в непатентной литературе 1, использует 9 типов режимов предсказания, которые иллюстрируются на фиг. 68. В непатентной литературе 1, когда информация режима предсказания целевого блока (B1) закодирована, значение оценки определяется таким образом, что (a) значение режима предсказания, примененного к блоку B2, который расположен рядом с левой стороны блока B1, и (b) значение режима предсказания, примененного к блоку B4, расположенному рядом сверху блока B1, сравниваются, и режим предсказания, имеющий меньшее значение между ними, берется в качестве значения оценки. Затем это значение оценки сравнивается со значением режима предсказания блока B1. Если значения идентичны, кодируется флаг “1”. В других случаях кодируют флаг “0” и соответствующую информацию о режиме предсказания, показывающую – какой из оставшихся 8 типов режимов предсказания (то есть, режимов предсказания за исключением значения оценки) соответствует режиму предсказания блока B1.
Далее, в патентной литературе 1, когда информация режима предсказания целевого блока закодирована, режим предсказания, примененный к целевому блоку, оценивается посредством использования значения 1 оценки, определенного посредством ниже упомянутого первого средства предсказания, и значения 2 оценки, определенного посредством ниже упомянутого второго средства предсказания.
Первое средство предсказания определяет, в качестве значения 1 оценки, режим предсказания, который является наиболее используемым среди режимов предсказания, примененных к (i) блокам в закодированной области C2 (например, макроблок, срез), которая расположена с левой стороны от целевого блока C1, или, альтернативно, (ii) блокам в закодированной области C3, которая расположена сверху от целевого блока C1. Далее, второе средство предсказания использует декодированное изображение в L-образной области B5 (затененная часть с диагональными линиями вправо-вниз) на закодированных блоках B2, B3 и B4, которые являются смежными с целевым блоком B1, как показано на фиг. 69. Более конкретно, предсказанные изображения, соответствующие 9 типам способов интра-предсказания, показанных на фиг. 68, генерируются относительно декодированного изображения L-образной области B6 (затененная часть с диагональными линиями влево-вниз), с использованием декодированного изображения L-образной области B5. Затем, режим предсказания, разность которого между декодированным изображением L-образной области B6 и предсказанным изображением является наименьшей среди этих режимов предсказания, расценивается как значение 2 оценки.
(Компоновка устройства 350 декодирования изображения)
Наконец, обычное устройство декодирования изображения описано ниже со ссылками на фиг. 71. Фиг 71 является блок-схемой, иллюстрирующей компоновку обычного устройства 350 декодирования изображения. Устройство декодирования изображения 350 включает в себя секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 305 статистического декодирования и секцию 310 интра-предсказания (Фиг. 71). Среди этих составляющих компонентов секция 6 обратного квантования, секция 7 обратного ортогонального преобразования, секция 8 вычисления суммы, память 9 и секция 310 интра-предсказания были описаны выше. Поэтому, ниже описана только секция 305 статистического декодирования.
(Секция 305 статистического декодирования)
Секция 305 статистического декодирования выполняет процесс декодирования (например, процесс декодирования с переменной длиной) в отношении закодированных данных, указывающих остаточные данные предсказания целевого блока, который должен быть декодирован, и параметров кодирования, таких как информация режима предсказания целевого блока, который должен быть декодирован.
(Процесс декодирования устройства 350 декодирования изображения)
Ниже описан процесс декодирования изображения в устройстве 350 декодирования изображения. Сначала секция 305 статистического декодирования выполняет статистическое декодирование в отношении принятых закодированных данных целевого блока, который должен быть декодирован, и выдает остаточные данные предсказания целевого блока, который должен быть декодирован, и параметры кодирования, такие как информация режима предсказания, целевого блока, который должен быть декодирован. Остаточные данные предсказания, таким образом декодированные, выдаются к секции 6 обратного квантования и затем – к секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно.
Затем, секция 310 интра-предсказания генерирует предсказанное изображение (блок пикселей MxM) целевого блока, который должен быть декодирован, с использованием локально декодированного изображения, сохраненного в памяти 9, смежного блока, который был уже декодирован.
Затем секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию, с предсказанным изображением, сгенерированным секцией 310 интра-предсказания, чтобы сгенерировать декодированное изображение целевого блока. Память 9 сохраняет декодированное изображение (блок пикселей MxM), таким образом сгенерированное. Сохраненное декодированное изображение используется для интра-предсказания смежного(ых) блока(ов). Устройство 350 декодирования изображения повторяет вышеупомянутый процесс для всех целевых блоков, которые должны быть декодированы, которые составляют целевое изображение, которое должно быть декодировано.
Список цитируемой литературы
Непатентная литература 1
ISO/IEC 14496-10:2004 Усовершенствованное видео кодирование
Непатентная литература 2
Asker М. Bazen, Н. Sabih. Gerez. “Systematic Methods for the Computation of the Directional Fields and Singular Points of Fingerprints”, IEEE Trans. On Pattern Analysis and Machine Intelligence, vol. 24, No 7, июль 2002.
Патентная Литература 1
Публикация заявки на патент Японии, Tokukai, No 2007-116351 A (дата публикации: 10 мая 2007)
Сущность изобретения
Интра-предсказание в обычном устройстве 300 кодирования изображения вызывает проблему в том, что эффективность предсказания уменьшается. Конкретные примеры этой проблемы иллюстрируются на Фиг. 72(a) и (b). Фиг. 72(a) иллюстрирует пример, в котором остаточные данные F53 предсказания получаются как разность между изображением F51, имеющим вертикальные полосы, и предсказанным изображением F52, сгенерированным на основании декодированного изображения, согласно вертикальному направлению предсказания (режим 0 на фиг. 66). Далее, Фиг. 72(b) иллюстрирует пример, в котором остаточные данные F56 предсказания получаются как разность между (i) изображением F54, имеющим диагональные полосы, в которых края формируются в направлении по диагонали вправо, и (ii) предсказанным изображением F55, сгенерированным на основании декодированного изображения, согласно направлению предсказанию по диагонали вниз вправо (режим 4 на фиг. 66).
В любом из случаев на Фиг. 72 (a) и (b) предсказанное изображение F52 или F55 воспроизводит только часть шаблонной (заштрихованной) части в изображении F51 или F54, которое является первоначальным изображением. Далее, пиксели, которые не формируются в первоначальном изображении, формируются в предсказанном изображении. Следовательно, результирующие остаточные данные предсказания включают в себя не только пиксели, которые не могут быть вычтены посредством изображения предсказания, но также и пиксели, которые не сформированы в первоначальном изображении.
Остаточная стоимость предсказания остаточных данных предсказания F43 на Фиг. 67(a) равна “1275” согласно уравнению (1). С другой стороны, остаточная стоимость предсказания остаточных данных предсказания F53 на Фиг. 72(a) равна “5355”. Таким образом, последнее значение больше.
Далее, остаточная стоимость предсказания остаточных данных предсказания F43 на Фиг. 67(b) равна “765”. С другой стороны, остаточная стоимость предсказания остаточных данных предсказания F56 на Фиг. 72(b) равна “4845”. Таким образом, когда эти стоимости сравнивают посредством использования их сумм абсолютных значений, находят, что последняя больше.
Обычно, чем больше остаточная стоимость предсказания, тем больше увеличивается объем кодирования, необходимый для кодирования остаточных данных предсказания. В результате, в случаях Фиг. 72(a) и (b) эффективность предсказания уменьшается.
Более конкретно, обычное устройство кодирования изображения имеет проблему в том, что эффективность предсказания уменьшается в случаях, когда направление шаблона (край) целевого изображения, которое должно быть предсказано, отличается от любого из направлений предсказания согласно режимам 0-8 способов предсказания.
Настоящее изобретение выполнено ввиду вышеизложенной проблемы. Основная задача настоящего изобретения - создать устройство кодирования изображения, способ кодирования изображения, программу и запоминающий носитель, каждый из которых может выполнить предсказание из большего количества различных углов, таким образом улучшая эффективность предсказания. Далее, другая задача настоящего изобретения - создать устройство декодирования изображения и способ декодирования изображения, каждый из которых декодирует изображение, закодированное посредством использования любого из устройства кодирования изображения, способа кодирования изображения, программы и запоминающего носителя.
В случае непатентной литературы 1, значение оценки режима предсказания зависит от того, какое значение меньше из значений режимов предсказания смежных блоков. Поэтому, на фиг. 69 не может быть произвольно определено, что выбрать в качестве значения оценки для целевого блока B1: (a) режим предсказания левого блока B2 или (b) режим предсказания верхнего блока B4, любой из которых является смежным с целевым блоком B1. В результате, значения корреляции между целевым блоком B1 и смежными блоками B2 и B4 не могут быть использованы в достаточной степени, и поэтому точность предсказания является низкой, что увеличивает объем кодирования, необходимый для режима предсказания целевого блока B1.
Эта проблема описывается ниже со ссылками на фиг. 73. Более конкретно, проблема описывается с примером, в котором кодирование с фиксированной длиной выполняется посредством всего 4 битов, то есть (i) 3 бита относительно информации режима предсказания, показывающей, какой режим соответствует режиму предсказания целевого блока, среди оставшихся 8 типов режимов предсказания (режимы предсказания за исключением значения оценки, на фиг. 68), и (ii) 1 бит или флага “1”, если режим предсказания целевого блока идентичен значению оценки, или флага “0”, если режим предсказания не идентичен значению оценки.
Фиг. 73 иллюстрирует пример, в котором выполняется прогнозирующее кодирование, где режим предсказания целевого блока D1 равен “5”, режим предсказания смежного левого блока D2 равен “5”, и режим предсказания смежного верхнего блока D3 равен “3”. На фиг. 73 значение оценки режима предсказания для целевого блока D1 равно “3”, которое является меньшим значением между режимами предсказания левого блока D2 и верхнего блока D3. Так как значение оценки отличается от режима предсказания целевого блока, кодирование режима "5" предсказания целевого блока D1 требует 4 битов. Однако, если режим "5" предсказания левого блока D2 может быть выбран в качестве значения оценки, то объем кодирования равен только 1 биту.
В патентной литературе 1, чтобы первое средство предсказания определило значение 1 оценки, необходимо сохранить и оставить все режимы предсказания, которые используются в закодированной области C2 или C3, проиллюстрированной на фиг. 70, что требует больше памяти. Кроме того, как описано выше, чтобы второе средство предсказания определило значение 2 оценки, необходимо сгенерировать предсказанные изображения снова согласно способам интра-предсказания, показанным на фиг. 68, и вычислить разности между предсказанными изображениями и декодированным изображением. Это вызывает проблему в том, что объем вычислений увеличивается.
Настоящее изобретение выполнено ввиду этих проблем. Основная задача настоящего изобретения - создать устройство кодирования изображения, устройство декодирования изображения, способ кодирования изображения, способ декодирования изображения, программу и запоминающий носитель, каждый из которых может эффективно сократить объем кодирования, связанный с режимом предсказания.
Чтобы решить вышеупомянутые задачи, первое устройство кодирования изображения согласно настоящему изобретению - есть устройство кодирования изображения для кодирования входного изображения и включает в себя: первое средство выбора для выбора одного набора предсказания для каждого заранее определенного блока входного изображения из группы наборов предсказания, включающей в себя множество наборов предсказания, причем каждый включает в себя множество различных режимов предсказания, соответствующих соответствующим направлениям предсказания и соответствующим способам предсказания; второе средство выбора для выбора одного режима предсказания для каждого субблока в заранее определенном блоке из множества режимов предсказания, включенных в набор предсказания, выбранный первым средством выбора для этого заранее определенного блока; средство предсказания для формирования предсказанного изображения для каждого субблока посредством использования упомянутого набора предсказания, таким образом выбранного для заранее определенного блока и режима предсказания, таким образом выбранного для каждого субблока; и средство кодирования для кодирования остаточных данных между входным изображением и предсказанным изображением, набора предсказания, таким образом выбранного для заранее определенного блока, и режима предсказания, таким образом выбранного для каждого субблока.
В этой компоновке устройство кодирования изображения выбирает набор предсказания и режим предсказания из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации из множества режимов предсказания, соответствующих различным направлениям предсказания. Устройство кодирования изображения затем кодирует изображение посредством использования набора предсказания и режима предсказания, таким образом выбранных. Эта компоновка позволяет устройству кодирования изображения выполнять предсказания из большего количества различных углов, чем обычная методика, таким образом успешно сокращая объем кодирования изображения и улучшая качество изображения.
Далее, в устройстве кодирования изображения режим предсказания выражается иерархическим способом с информацией набора предсказания и информацией режима предсказания. В результате способ предсказания может быть выбран более гибким образом, таким образом давая выгодную возможность предотвратить увеличение объема кодирования, необходимого для способа предсказания, и повысить эффективность предсказания.
Чтобы решить вышеупомянутую задачу, способ кодирования изображения согласно настоящему изобретению является способом кодирования изображения для кодирования входного изображения и включает в себя: первый этап выбора для выбора одного набора предсказания для каждого заранее определенного блока входного изображения из группы наборов предсказания, включающей в себя множество наборов предсказания, каждый включает в себя множество различных режимов предсказания, соответствующих соответствующим направлениям предсказания и соответствующим способам предсказания; второй этап выбора для выбора одного режима предсказания для каждого субблока, включенного в каждую заранее определенную единицу из множества режимов предсказания, включенных в набор предсказания, выбранный для заранее определенного блока на первом этапе выбора; этап предсказания для формирования предсказанного изображения для каждого субблока посредством использования набора предсказания, таким образом выбранного для заранее определенного блока и режима предсказания, таким образом выбранного для каждого субблока; и этап кодирования для кодирования остаточных данных между входным изображением и предсказанным изображением, набора предсказания, таким образом выбранного для заранее определенного блока, и режимов предсказания, таким образом выбранных для каждого субблока.
При такой компоновке возможно получить те же самые эффекты, что и первое устройство кодирования изображения согласно настоящему изобретению.
Предпочтительно, чтобы второе устройство кодирования изображения согласно настоящему изобретению дополнительно включало в себя средство вычисления для вычисления информации края по меньшей мере относительно ориентации края для края составляющего изображения из входного изображения.
В этой компоновке устройство кодирования изображения вычисляет информацию края для каждого заранее определенного единичного изображения, составляющего изображение. В качестве информация края, ориентация края изображения и/или уровень края изображения, или информация распределения его вычисляются, например. Таким образом, второе устройство кодирования изображения выбирает из группы наборов предсказания набор предсказания, подходящий для информации края, таким образом вычисленной, и затем выбирает режим предсказания, подходящий для информации края из набора предсказания, выбранного таким образом. Например, в случае, когда информация края указывает, что край наклонен в горизонтальном направлении, второе устройство кодирования изображения выполняет кодирование посредством использования набора предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении. С другой стороны, в случае, когда ориентация края указывает, что край наклонен в вертикальном направлении, второе устройство кодирования изображения выполняет кодирование посредством использования набора предсказания, который сосредотачивается на предсказаниях в вертикальном направлении.
Как таковое, второе устройство кодирования изображения кодирует изображение посредством использования набора предсказания, в наибольшей степени подходящего для информации края изображения. В результате возможно выполнить предсказания из большего количества различных углов, чем обычная методика, таким образом успешно сокращая объем кодирования изображения и улучшая качество изображения.
Предпочтительно, второй способ кодирования изображения согласно настоящему изобретению дополнительно включает в себя этап вычисления для вычисления информации края по меньшей мере относительно ориентации края для края каждого составляющего изображения для входного изображения.
При такой компоновке возможно получить те же самые эффекты, что и второе устройство кодирования изображения согласно настоящему изобретению.
Предпочтительно, третье устройство кодирования изображения согласно настоящему изобретению дополнительно включает в себя средство установки для установки набора предсказания и режима предсказания на основании информации края, соответственно из множества наборов предсказания, включенных в группу наборов предсказания, и из множества различных режимов предсказания, включенных в набор предсказания, установленного таким образом; и средство кодирования для кодирования информации относительно направления предсказания и способа предсказания, соответствующего режиму предсказания, таким образом установленному в наборе предсказания, таким образом установленном.
В вышеупомянутой компоновке устройство кодирования изображения вычисляет информацию края для каждого составляющего кадра в изображении. Например, в качестве информации края вычисляются ориентация края изображения и/или уровень края изображения, или информация его распределения. Устройство кодирования изображения определяет множество направлений предсказания по существу приближенных к ориентации края, на основании информации распределения относительно ориентации края, чтобы определить комбинацию режимов предсказания в каждом наборе предсказания.
Например, в случае, когда информация распределения относительно ориентации края указывает, что края формируются главным образом в горизонтальном направлении, автоматически определяются множество наборов предсказания, каждый имеющий комбинацию оптимальных режимов предсказания, в которых предсказания в горизонтальном направлении установлены точно, и предсказания в вертикальном направлении установлены грубо. Затем устройство кодирования изображения кодирует изображение посредством изменения набора предсказания из множества наборов предсказания, подходящих для предсказаний в горизонтальном направлении, в зависимости от ориентации края целевого блока, который должен быть закодирован. С другой стороны, в случае, когда информация распределения относительно ориентации края указывает, что края формируются главным образом в вертикальном направлении, множество наборов предсказания, имеющих комбинацию оптимальных режимов предсказания, в которых предсказания в вертикальном направлении устанавливаются точно и предсказания в горизонтальном направлении устанавливаются грубо, определяются автоматически.
Затем, устройство кодирования изображения может закодировать изображение посредством изменения набора предсказания из множества наборов предсказания, подходящих для предсказаний в вертикальном направлении, в зависимости от ориентации края целевого блока, который должен быть закодирован.
Таким образом, устройство кодирования изображения формирует множество наборов предсказания посредством автоматического комбинирования режимов предсказания в каждом из множества наборов предсказания согласно изображению так, что множество наборов предсказания является оптимальным к этому изображению, и выбирает набор предсказания, подходящий для ориентации края целевого блока, который должен быть закодирован, из множества наборов предсказания. Это дает выгодную возможность еще больше повысить эффективность предсказания, чем случай, когда используется заранее определенный набор предсказания.
Предпочтительно, третий способ кодирования изображения согласно настоящему изобретению включает в себя: этап установки для установки набора предсказания и режима предсказания на основании информации края, соответственно из множества наборов предсказания, включенных в группу наборов предсказания, и из множества различных режимов предсказания, включенных в набор предсказания, установленных таким образом; и этап кодирования для кодирования информации относительно соответствующих направлений предсказания и соответствующих способов предсказания, соответствующих режимам предсказания, таким образом установленным в наборе предсказания, таким образом установленном.
При такой компоновке возможно получить те же самые эффекты, что и третье устройство кодирования изображения согласно настоящему изобретению.
Чтобы решить вышеупомянутую задачу, первое устройство декодирования изображения согласно настоящему изобретению является устройством декодирования изображения для декодирования закодированных данных изображения и включает в себя: средство декодирования для декодирования, из закодированных данных, (i) набора предсказания для каждой заранее определенной единицы изображения согласно наборам предсказания, каждый включающий в себя множество режимов предсказания, соответствующих различным направлениям предсказания и различным способам предсказания, и (ii) режима предсказания и остаточных данных, каждые для каждого субблока, включенного в заранее определенную единицу; средство предсказания для формирования предсказанного изображения для каждого субблока посредством использования набора предсказания, декодированного для этой заранее определенной единицы, и режима предсказания, таким образом декодированного для каждого субблока; и средство суммирования для суммирования остаточных данных, таким образом декодированных для каждого субблока, и предсказанного изображения, таким образом сформированного для каждого субблока.
В этой компоновке устройство декодирования изображения включает в себя группу наборов предсказания, включающую в себя множество наборов предсказания, имеющих различные комбинации из множества режимов предсказания, соответствующих различным направлениям предсказания. Устройство декодирования изображения декодирует информацию набора предсказания, указывающую, какой набор предсказания в группе наборов предсказания применяется к целевому блоку, который должен быть декодирован, который является составляющим изображением изображения, из группы наборов предсказания на основе относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована. Затем, устройство декодирования изображения выполняет интра-предсказание в отношении целевого субблока, составляющего целевой блок (целевой блок подразделяется на субблоки), посредством использования локально декодированного изображения субблока, смежного с целевым субблоком. Интра-предсказание, таким образом выполняемое, определяется информацией набора предсказания, которая должна быть применена ко всем субблокам в целевом блоке, и информацией режима предсказания, декодированной для целевого субблока. Устройство декодирования изображения затем генерирует предсказанное изображение целевого субблока и комбинирует (объединяет) предсказанное изображение и декодированные остаточные данные предсказания целевого субблока, чтобы восстановить изображение целевого субблока.
Например, в случае, когда информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с горизонтальным направлением в качестве главного. Далее, в случае, когда информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с вертикальным направлением в качестве главного.
Эта компоновка позволяет устройству декодирования изображения выполнять процесс декодирования посредством использования предсказаний из большего количества различных углов, чем обычная методика, таким образом воспроизводя часть края более эффективно. В результате становится возможным улучшить качество изображения.
Далее, устройство декодирования изображения выполняет предсказание на двух стадиях набора предсказания и режима предсказания, таким образом реализуя высокую точность в предсказании и предотвращая увеличение объема кодирования.
Чтобы решить вышеупомянутую задачу, первый способ декодирования изображения согласно настоящему изобретению является способом декодирования изображения для декодирования закодированных данных изображения и включает в себя: этап декодирования для декодирования из закодированных данных (i) набора предсказания для каждой заранее определенной единицы изображения согласно наборам предсказания, причем каждый включает в себя множество режимов предсказания, соответствующих различным направлениям предсказания и различным способам предсказания, и (ii) режима предсказания и остаточных данных, каждый для каждого субблока, включенного в каждую заранее определенную единицу; этап предсказания для формирования предсказанного изображения для каждого субблока посредством использования набора предсказания, декодированного для заранее определенного блока, и режима предсказания, таким образом декодированного для каждого субблока; и этап суммирования для суммирования остаточных данных, таким образом декодированных для каждого субблока, и предсказанного изображения, таким образом сформированного для каждого субблока.
При такой компоновке возможно получить те же самые эффекты, что и первое устройство декодирования изображения согласно настоящему изобретению.
Предпочтительно, второе устройство декодирования изображения согласно настоящему изобретению дополнительно включает в себя: средство декодирования для декодирования информации относительно направления предсказания и способа предсказания, соответствующего режиму предсказания, таким образом декодированному, в наборе предсказания, таким образом декодированном; и средство установки для установки направления предсказания, таким образом декодированного, и способа предсказания, таким образом декодированного, для режима предсказания в наборе предсказания.
В вышеупомянутой компоновке устройство декодирования изображения формирует информацию определения набора предсказания, указывающую способы предсказания, которые должны быть назначены на соответствующие режимы предсказания во множестве наборов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, в закодированных данных изображения, на основе соответствующей информации определения набора предсказания и информации набора предсказания, которая была уже декодирована. Затем, устройство декодирования изображения декодирует набор предсказания для каждого блока (блока пикселей MxM) в целевом кадре, который должен быть декодирован. Далее, устройство декодирования изображения выполняет интра-предсказание относительно целевого субблока (блока пикселей N×N) в целевом блоке посредством использования локально декодированного изображения субблока, смежного с целевым субблоком, и посредством обращения к информации определения набора предсказания. Интра-предсказание определяется информацией набора предсказания, которая должна быть обычно применена ко всем субблокам, составляющим целевой блок, и информацией режима предсказания, декодированной для целевого субблока, и выполняется для каждого субблока в целевом блоке. Затем устройство декодирования изображения генерирует предсказанное изображение целевого субблока. Наконец, устройство декодирования изображения объединяет предсказанное изображение, таким образом сгенерированное, и декодированные остаточные данные предсказания целевого субблока, чтобы восстановить изображение целевого субблока.
В результате в случае, когда информация определения набора предсказания указывает определение набора предсказания, которое сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с горизонтальным направлением в качестве главного. Далее, в случае, когда информация определения набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с вертикальным направлением в качестве главного.
В результате устройство декодирования изображения может соответственно определять режимы предсказания во множестве наборов предсказания в соответствии с изображением, и может выполнять предсказание, оптимальное для ориентации края целевого блока, который должен быть закодирован, из таким образом определенных режимов предсказания. Это дает выгодную возможность еще больше повысить эффективность предсказания по сравнению со случаем, когда используется заранее определенный набор предсказания.
Далее, способ предсказания выражается иерархическим способом с набором предсказания и режимом предсказания, таким образом приводя к тому, что эффективность предсказания может быть улучшена, не увеличивая объем кодирования.
Предпочтительно, чтобы второй способ декодирования изображения согласно настоящему изобретению далее включал в себя этап декодирования для декодирования информации относительно направления предсказания и способа предсказания, соответствующего режиму предсказания, таким образом декодированному в наборе предсказания, таким образом декодированном; и этап установки для установки направлений предсказания, таким образом декодированных, и способов предсказания, таким образом декодированных, для этого режима предсказания в наборе предсказаний.
При такой компоновке возможно получить те же самые эффекты, что и второе устройство декодирования изображения согласно настоящему изобретению.
Предпочтительно, четвертое устройство кодирования изображения согласно настоящему изобретению дополнительно включает в себя: первое средство определения для определения опорного направления, в котором расположен закодированный смежный субблок, на который нужно ссылаться во время оценки режима предсказания целевого блока, который должен быть закодирован; первое средство оценки для определения значения оценки режима предсказания для целевого субблока, на основании выбранного набора предсказания целевого субблока и режима предсказания закодированного смежного субблока, который задан опорным направлением; средство генерирования для генерирования соответствующей информации режима предсказания целевого субблока относительно значения оценки, таким образом определенного; и средство кодирования для кодирования относительной информации, сгенерированной таким образом, и опорного направления, таким образом определенного.
В этой компоновке устройство кодирования изображения выбирает набор предсказания и режим предсказания из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации из множества режимов предсказания, соответствующих различным направлениям предсказания. Устройство кодирования изображения затем кодирует изображение посредством использования набора предсказания, таким образом выбранного, и режима предсказания, таким образом выбранного. Эта компоновка позволяет выполнять предсказания из большего количества различных углов, чем обычная методика. В результате становится возможным сильнее уменьшить объем кодирования изображения, и улучшить качество изображения.
Далее, эта компоновка позволяет устройству кодирования изображения выбирать закодированный смежный субблок, который должен использоваться для оценки режима предсказания, таким образом улучшая эффективность оценки режима предсказания и эффективно уменьшить объем кодирования, необходимый для этого режима предсказания.
Предпочтительно, чтобы четвертый способ кодирования изображения согласно настоящему изобретению дополнительно включал в себя: первый этап определения для определения опорного направления, в котором закодированный смежный субблок, на который нужно ссылаться во время оценки режима предсказания целевого блока, который должен быть закодирован, расположен, первый этап оценки определения значения оценки режима предсказания для этого целевого субблока, на основании выбранного набора предсказания целевого субблока и режима предсказания закодированного смежного субблока, который задается упомянутым опорным направлением, этап генерирования для генерирования относительной информации режима предсказания целевого блока относительно значения оценки, определенного таким образом; и этап кодирования для кодирования относительной информации, сгенерированной таким образом, и опорного направления, определенного таким образом.
При вышеупомянутой компоновке возможно получить те же самые результаты, что и четвертое устройство кодирования изображения согласно настоящему изобретению.
Предпочтительно, чтобы четвертое устройство декодирования изображения согласно настоящему изобретению дополнительно включало в себя: средство декодирования для декодирования относительной информации в отношении режима предсказания и опорного направления, указывающего направление, в котором расположен декодированный смежный субблок, на который нужно ссылаться во время оценки режима предсказания целевого блока, который должен быть декодирован; первое средство оценки для определения значения оценки режима предсказания для целевого субблока на основании декодированного набора предсказания целевого субблока и режима предсказания декодированного смежного субблока, который задан опорным направлением, декодированным таким образом; и средство декодирования для декодирования режима предсказания, который должен быть применен к целевому субблоку на основе значения оценки, таким образом определенного, и декодированной относительной информации в отношении режима предсказания.
В этой компоновке устройство декодирования изображения включает в себя группу наборов предсказания, включающую в себя множество наборов предсказания, имеющих различные комбинации режимов предсказания, соответствующих различным направлениям предсказания. Устройство декодирования изображения декодирует информацию набора предсказания, указывающую, какой набор предсказания в группе наборов предсказания должен быть применен к целевому блоку, который должен быть декодирован, в блоках, составляющих изображение, согласно относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована. Затем, устройство декодирования изображения выполняет интра-предсказание для каждого субблока, на который подразделяется целевой блок. Интра-предсказание определяется информацией набора предсказания, которая должна обычно применяться ко всем субблокам в целевом блоке, и информацией режима предсказания, декодированной для целевого субблока, и выполняется посредством использования локально декодированного изображения субблока, смежного с целевым субблоком, так чтобы сгенерировать предсказанное изображение целевого субблока. Затем, устройство декодирования изображения объединяет предсказанное изображение и декодированные остаточные данные предсказания целевого субблока, чтобы восстановить изображение целевого субблока.
Например, в случае, когда информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с горизонтальным направлением в качестве главного. Далее, в случае, когда информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанные изображения из более специфических углов с вертикальным направлением в качестве главного.
Эта компоновка позволяет устройству декодирования изображения выполнять процесс декодирования с использованием предсказаний из большего количества различных углов, чем обычная методика. В результате возможно воспроизвести краевую часть более эффективно, таким образом улучшая качество изображения.
Далее, при такой компоновке устройство декодирования изображения может выбрать декодированный смежный субблок, который должен использоваться для оценки режима предсказания, таким образом улучшая эффективность оценки режима предсказания, и эффективно уменьшая кодированный объем режима предсказания, который должен быть декодирован.
Предпочтительно, чтобы четвертый способ декодирования изображения согласно настоящему изобретению также включал в себя: этап декодирования для декодирования относительной информации в отношении режима предсказания и опорного направления, указывающего направление, в котором расположен декодированный смежный субблок, на который нужно ссылаться во время оценки режима предсказания целевого блока, который должен быть декодирован; первый этап оценки определения значения оценки режима предсказания для целевого субблока на основании декодированного набора предсказания целевого субблока и режима предсказания декодированного смежного субблока, который задан опорным направлением, декодированным таким образом; и этап декодирования для декодирования режима предсказания, который должен быть применен к целевому субблоку, на основе значения оценки, таким образом определенного, и декодированной относительной информации в отношении режима предсказания.
При вышеупомянутой компоновке возможно получить те же самые эффекты, что и четвертое устройство декодирования изображения согласно настоящему изобретению.
Предпочтительно, чтобы пятое устройство кодирования изображения согласно настоящему изобретению дополнительно включало в себя третье средство выбора для выбора одной группы наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, из множества различных групп наборов предсказания на основании заранее определенного стандарта оценки.
В этой компоновке устройство кодирования изображения включает в себя множество различных групп наборов предсказания, причем каждая включает в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих различным направлениям предсказания, и выбирает группу наборов предсказания, набор предсказания и режим предсказания из этого множества различных групп наборов предсказания. Устройство кодирования изображения затем кодирует изображение посредством использования выбранной группы наборов предсказания, выбранного набора предсказания и выбранного режима предсказания. Эта компоновка позволяет устройству кодирования изображения выполнять предсказания из большего количества различных углов, чем обычная методика, таким образом давая выгодную возможность уменьшить объем кодирования изображения и улучшить качество изображения.
Предпочтительно, чтобы пятый способ кодирования изображения согласно настоящему изобретению дополнительно включал в себя третий этап выбора для выбора одной группы наборов предсказания, которая должны быть применена к целевому блоку, который должен быть закодирован, из множества различных групп наборов предсказания на основании заранее определенного стандарта оценки.
При такой компоновке возможно получить те же самые эффекты, что и пятое устройство кодирования изображения согласно настоящему изобретению.
Предпочтительно, чтобы пятое устройство декодирования изображения согласно настоящему изобретению дополнительно включало в себя третье средство выбора для выбора одной группы наборов предсказания, которые должны быть применены к целевому блоку, который должен быть декодирован, из множества различных групп наборов предсказания на основании заранее определенного стандарта оценки.
В этой компоновке устройство декодирования изображения включает в себя множество различных групп наборов предсказания, каждая включающая в себя множество наборов предсказания, имеющих различные комбинации режимов предсказания, соответствующих соответствующим направлениям предсказания, отличающихся друг от друга. Устройство декодирования изображения определяет, какая группа наборов предсказания должна быть применена к целевому блоку, который должен быть декодирован, в изображении, из множества групп наборов предсказания на основании заранее определенного стандарта оценки. Устройство декодирования изображения определяет группу наборов предсказания для каждого блока, составляющего изображение. Устройство декодирования изображения затем декодирует информацию набора предсказания, указывающую, какой набор предсказания в определенной группе наборов предсказания должен быть применен к целевому блоку, который должен быть декодирован, на основе относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована. Затем устройство декодирования изображения выполняет интра-предсказание для каждого субблока, на которые подразделяется целевой блок. Это интра-предсказание определяется информацией набора предсказания, которая должна быть обычно применена ко всем субблокам в целевом блоке, и информацией режима предсказания, декодированной для целевого субблока, и выполняется посредством использования локально декодированного изображения субблока, смежного с целевым субблоком, чтобы сгенерировать предсказанное изображение целевого субблока. Устройство декодирования изображения затем объединяет предсказанное изображение и декодированные остаточные данные предсказания целевого субблока, чтобы восстановить изображение целевого субблока.
Эта компоновка позволяет устройству декодирования изображения выполнять процесс декодирования с использованием предсказаний из большего количества различных углов, таким образом позволяя воспроизвести краевую часть более эффективно. В результате становится возможным улучшить качество изображения.
Предпочтительно, чтобы пятый способ декодирования изображения согласно настоящему изобретению дополнительно включал в себя третий этап выбора для выбора одной группы наборов предсказания, которая должна быть применена к целевому блоку, который должен быть декодирован, из множества различных групп наборов предсказания на основании заранее определенного стандарта оценки.
При вышеупомянутой компоновке возможно получить те же самые эффекты, что и пятое устройство декодирования изображения согласно настоящему изобретению.
Чтобы решить вышеупомянутую задачу, шестое устройство кодирования изображения согласно настоящему изобретению является устройством кодирования изображения для кодирования входного изображения и включает в себя: первое средство выбора для выбора одного режима предсказания для каждого субблока, включенного в заранее определенную единицу входного изображения, из одного набора предсказания, включающего в себя множество различных режимов предсказания, соответствующих соответствующим направлениям предсказания и соответствующим способам предсказания, средство предсказания для формирования предсказанного изображения для каждого субблока посредством использования набора предсказания и режима предсказания, таким образом выбранного для каждого субблока; и средство кодирования для кодирования остаточных данных между входным изображением и предсказанным изображением, и режима предсказания, таким образом выбранного для каждого субблока, причем средство кодирования включает в себя: первое средство определения для определения, на основании заранее определенного стандарта оценки, закодированного смежного субблока, который должен использоваться для оценки для режима предсказания, таким образом выбранного для каждого субблока; первое средство оценки для определения значения оценки режима предсказания для целевого субблока, который должен быть закодирован, на основании режима предсказания закодированного смежного субблока, таким образом определенного; средство генерирования для генерирования относительной информации режима предсказания, таким образом выбранной для каждого субблока, в отношении значения оценки, таким образом определенного; и средство кодирования для кодирования относительной информации таким образом сгенерированной.
Эта компоновка позволяет устройству кодирования изображения оценивать режим предсказания для целевого субблока, подлежащего кодированию, с использованием закодированного смежного субблока, который наиболее коррелирован с целевым субблоком. Это улучшает эффективность оценки режима предсказания и эффективно уменьшает объем кодирования, необходимый для режима предсказания, таким образом приводя к тому, что эффективность кодирования дополнительно улучшается по сравнению с обычной методикой.
Чтобы решить вышеупомянутую задачу, шестой способ кодирования изображения согласно настоящему изобретению является способом кодирования изображения для кодирования входного изображения и включает в себя: первый этап выбора для выбора одного режима предсказания для каждого субблока, включенного в каждую заранее определенную единицу, из множества различных режимов предсказания, включенных в один набор предсказания, причем множество различных режимов предсказания соответствует соответствующему направлению предсказания и соответствующим способам предсказания; этап предсказания для формирования предсказанного изображения для каждого субблока посредством использования набора предсказания и режима предсказания, таким образом выбранного для каждого субблока; и этап кодирования для кодирования остаточных данных между входным изображением и предсказанным изображением, таким образом сформированным для каждого субблока, и режима предсказания, таким образом выбранного для каждого субблока, причем этап кодирования включает в себя: первый этап определения для определения, на основании заранее определенного стандарта оценки, закодированного смежного субблока, подлежащего использованию для оценки для режима предсказания, таким образом выбранного для каждого субблока; первый этап оценки для определения значения оценки режима предсказания для целевого субблока, который должен быть закодирован, на основании режима предсказания закодированного смежного субблока, таким образом определенного; этап генерирования для генерирования относительной информации режима предсказания, таким образом выбранной для каждого субблока, в отношении значения оценки, определенного таким образом; и этап кодирования для кодирования относительной информации, сгенерированной таким образом.
При такой компоновке возможно получить те же самые эффекты, что и шестое устройство кодирования изображения согласно настоящему изобретению.
Чтобы решить вышеупомянутую задачу, шестое устройство декодирования изображения согласно настоящему изобретению является устройством декодирования изображения для декодирования закодированных данных изображения и включает в себя: средство декодирования для декодирования, из закодированных данных, режима предсказания и остаточных данных, каждые для каждого субблока, включенного в каждую заранее определенную единицу изображения, согласно одному набору предсказания, включающему в себя множество режимов предсказания, соответствующих различным направлениям предсказания и различным способам предсказания, средство предсказания для формирования предсказанного изображения для каждого субблока посредством использования режима предсказания, таким образом декодированного для каждого субблока; и средство суммирования для суммирования остаточных данных, таким образом декодированных для каждого субблока, и предсказанного изображения, таким образом сформированного для каждого субблока, причем средство декодирования включает в себя: средство декодирования для декодирования относительной информации в отношении режима предсказания; первое средство определения для определения декодированного смежного субблока, который должен использоваться для оценки режима предсказания, на основании заранее определенного стандарта оценки; первое средство оценки для определения значения оценки режима предсказания для целевого субблока, который должен быть декодирован, на основании режима предсказания декодированного смежного субблока, таким образом определенного; и средство декодирования для декодирования режима предсказания целевого субблока на основе значения оценки, таким образом определенного, и декодированной относительной информации в отношении режима предсказания.
Эта компоновка позволяет устройству декодирования изображения оценивать режим предсказания для целевого субблока, подлежащего декодированию, с использованием декодированного смежного субблока, который наиболее коррелирован с целевым субблоком, таким образом улучшая эффективность оценки режима предсказания и эффективно уменьшая закодированный объем режима предсказания, который должен быть декодирован. В результате возможно дополнительно повысить эффективность декодирования по сравнению с обычной методикой.
Чтобы решить вышеупомянутую задачу, шестой способ декодирования изображения согласно настоящему изобретению является способом декодирования изображения для декодирования закодированных данных изображения, и включает в себя: этап декодирования для декодирования, из закодированных данных, режима предсказания и остаточных данных каждый для каждого субблока, включенного в каждую заранее определенную единицу изображения, согласно одному набору предсказания, включающему в себя множество режимов предсказания, соответствующих различным направлениям предсказания и различным способам предсказания; этап предсказания для формирования предсказанного изображения для каждого субблока посредством использования режима предсказания, таким образом декодированного для каждого субблока; и этап суммирования для суммирования остаточных данных, таким образом декодированных для каждого субблока, и предсказанного изображения, таким образом сформированного для каждого субблока, причем этап декодирования включает в себя: этап суммирования для суммирования остаточных данных, таким образом декодированных для каждого субблока, и предсказанного изображения, таким образом сформированного для каждого субблока; первый этап определения для определения декодированного смежного субблока, подлежащего использованию для оценки режима предсказания, на основании заранее определенного стандарта оценки; первый этап оценки для определения значения оценки режима предсказания для целевого субблока, подлежащего декодированию, на основании режима предсказания декодированного смежного субблока, таким образом определенного; и этап декодирования для декодирования режима предсказания целевого субблока на основе значения оценки, таким образом определенного, и декодированной относительной информации в отношении режима предсказания.
При вышеупомянутой компоновке возможно получить те же самые эффекты, что и шестое устройство декодирования изображения согласно настоящему изобретению.
Устройство кодирования изображения и устройство декодирования изображения могут быть реализованы компьютером. В этом случае программа, которая реализует устройство кодирования изображения или устройство декодирования изображения в компьютере посредством вынуждения компьютера функционировать как каждое средство, описанное выше, и считываемый компьютером носитель данных, в котором сохраняется программа, также включается в объем настоящего изобретения.
Дополнительные задачи, признаки и достоинства настоящего изобретения будут прояснены в описании, приведенном ниже. Кроме того, преимущества настоящего изобретения будут очевидны из нижеследующего объяснения со ссылками на чертежи.
Краткое описание чертежей
Фиг. 1
Фиг. 1 - блок-схема, иллюстрирующая основную часть компоновки устройства кодирования изображения согласно Варианту осуществления 1.
Фиг. 2
Фиг. 2 - последовательность операций, схематично показывающая процесс кодирования изображения согласно Варианту осуществления 1.
Фиг. 3
Фиг. 3 - последовательность операций, конкретно иллюстрирующая процесс определения информации края, согласно Варианту осуществления 1.
Фиг. 4
Фиг. 4 иллюстрирует конкретные примеры краев, обнаруженных секцией анализа края. Фиг. 4(a) является первоначальным изображением, в котором горизонтальные полосы сформированы, и Фиг. 4(b) - изображение края, обнаруженное в нем; Фиг. 4(c) - первоначальное изображение, в котором сформированы вертикальные полосы, и Фиг. 4(d) - изображение края, обнаруженное в нем; и Фиг. 4(e) - первоначальное изображение, в котором сформирован искаженный образец (шаблон), и Фиг. 4(f) - изображение края, обнаруженное в нем.
Фиг. 5
Фиг. 5 иллюстрирует распределения ориентации края изображений края, обнаруженных секцией анализа края. Фиг. 5(a) показывает случай, когда края ориентируются главным образом в горизонтальном направлении. Фиг. 5(b) показывает случай, когда края ориентируются главным образом в вертикальном направлении. Фиг. 5(c) показывает случай, когда края ориентируются главным образом в горизонтальном направлении и в вертикальном направлении.
Фиг. 6
Фиг. 6 показывает режимы предсказания за исключением DC предсказания в наборах предсказания в Варианте осуществления 1. Фиг. 6(a)-(d) соответствуют наборам 0-3 предсказания, соответственно.
Фиг. 7
Фиг. 7 - последовательность операций, конкретно иллюстрирующая процесс определения информации набора предсказания.
Фиг. 8
Фиг. 8 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации набора предсказания в устройстве кодирования изображения согласно Варианту осуществления 1.
Фиг. 9
Фиг. 9 иллюстрирует один пример позиций закодированных блоков, которые должны использоваться для предсказания в секции предсказания информации набора предсказания.
Фиг. 10
Фиг. 10 - последовательность операций, иллюстрирующая процесс кодирования информации набора предсказания в секции формирования относительной информации набора предсказания.
Фиг. 11
Фиг. 11 иллюстрирует, как сгенерировать предсказанное изображение из направления θ предсказания.
Фиг. 12
Фиг. 12 иллюстрирует примеры опорной пиксельной области, которая должна использоваться для генерирования предсказанного изображения из направления предсказания θ. Фиг. 12(a) иллюстрирует случай, когда K=2 и L=2L, Фиг. 12(b) иллюстрирует случай, когда K=N и L=2N, Фиг. 12(c) иллюстрирует случай, когда K=2N и L=N, Фиг. 12(d) иллюстрирует случай, когда K=N и L=N, Фиг. 12(e) иллюстрирует случай, когда K=0 и L=2N, и Фиг. 12(f) иллюстрирует случай, когда K=N и L=0.
Фиг. 13
Фиг. 13 схематично иллюстрирует отношения между единицами кодирования согласно настоящему изобретению. Фиг. 13(a) иллюстрирует GOP, Фиг. 13(b) иллюстрирует картинку (кадр), Фиг. 13(c) иллюстрирует срез, Фиг. 13(d) иллюстрирует макроблок, и Фиг. 13(e) иллюстрирует блок.
Фиг. 14
Фиг. 14 - блок-схема, иллюстрирующая основную часть компоновки устройства декодирования изображения согласно Варианту осуществления 2.
Фиг. 15
Фиг. 15 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения согласно Варианту осуществления 2.
Фиг. 16
Фиг. 16 - блок-схема, иллюстрирующая компоновку секции формирования информации набора предсказания в устройстве декодирования изображения согласно Варианту осуществления 2.
Фиг. 17
Фиг. 17 - последовательность операций, иллюстрирующая процесс формирования информации набора предсказания в секции формирования информации набора предсказания.
Фиг. 18
Фиг. 18 - блок-схема, иллюстрирующая основную часть компоновки устройства кодирования изображения согласно Варианту осуществления 3.
Фиг. 19
Фиг. 19 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения согласно Варианту осуществления 3.
Фиг. 20
Фиг. 20 - последовательность операций, конкретно иллюстрирующая процесс определения информации набора предсказания.
Фиг. 21
Фиг. 21 показывает гистограмму ориентации края для случая, когда края ориентируются главным образом в горизонтальном направлении.
Фиг. 22
Фиг. 22 показывает распределение совокупной частоты ориентации края, полученную из гистограммы ориентации края, в которой края ориентируются главным образом в горизонтальном направлении.
Фиг. 23
Фиг. 23 иллюстрирует позиционное соотношение между направлением предсказания θn и направлением предсказания θn+1.
Фиг. 24
Фиг. 24 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации определения набора предсказания в устройстве кодирования изображения согласно Варианту осуществления 3.
Фиг. 25
Фиг. 25 - последовательность операций, иллюстрирующая процесс кодирования информации определения набора предсказания в секции формирования относительной информации определения набора предсказания.
Фиг. 26
Фиг. 26 - блок-схема, иллюстрирующая основную часть компоновки устройства декодирования изображения согласно Варианту осуществления 4.
Фиг. 27
Фиг. 27 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения согласно Варианту осуществления 4.
Фиг. 28
Фиг. 28 - блок-схема, иллюстрирующая компоновку секции формирования информации определения набора предсказания в устройстве декодирования изображения согласно Варианту осуществления 4.
Фиг. 29
Фиг. 29 - последовательность операций, иллюстрирующая процесс формирования информации набора предсказания в секции формирования информации определения набора предсказания.
Фиг. 30
Фиг. 30 - блок-схема, иллюстрирующая основную часть компоновки устройства кодирования изображения согласно Варианту осуществления 5.
Фиг. 31
Фиг. 31 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации режима предсказания.
Фиг. 32
Фиг. 32 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения согласно Варианту осуществления 5.
Фиг. 33
Фиг. 33 иллюстрирует пояснительные представления групп субблоков. Фиг. 33(a) иллюстрирует группы субблоков, когда размеры М и N, соответственно целевого блока и субблока таковы, что N=M/4, и Фиг. 33(b) иллюстрирует группу субблоков, когда размеры М и N, соответственно целевого блока и субблока, таковы, что N=M/2.
Фиг. 34
Фиг. 34 иллюстрирует опорные направления субблоков согласно таблице комбинаций опорных направлений.
Фиг. 35
Фиг. 35 иллюстрирует позиционное соотношение между целевым субблоком, который должен быть закодирован, и опорным субблоком. Фиг. 35(a) иллюстрирует позиционное соотношение между целевым субблоком P, который должен быть закодирован, и опорным субблоком Q в случае опорного направления “0”. Фиг. 35(b) иллюстрирует позиционное соотношение между целевым субблоком P, который должен быть закодирован, и опорным субблоком Q в случае опорного направления “1”.
Фиг. 36
Фиг. 36 - последовательность операций, конкретно иллюстрирующая процесс генерирования относительной информации режима предсказания.
Фиг. 37
Фиг. 37 - последовательность операций, иллюстрирующая процесс определения параметров (s, p, M) кодирования.
Фиг. 38
Фиг. 38 - блок-схема, иллюстрирующая основную часть компоновки устройства декодирования изображения согласно Варианту осуществления 6.
Фиг. 39
Фиг. 39 - блок-схема, иллюстрирующая компоновку секции формирования информации режима предсказания.
Фиг. 40
Фиг. 40 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения согласно Варианту осуществления 6.
Фиг. 41
Фиг. 41 - последовательность операций, конкретно иллюстрирующая процесс генерирования информации режима предсказания.
Фиг. 42
Фиг. 42 - блок-схема, иллюстрирующая основную часть компоновки устройства кодирования изображения согласно Варианту осуществления 7.
Фиг. 43
Фиг. 43 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации режима предсказания.
Фиг. 44
Фиг. 44 иллюстрирует целевой субблок и закодированные субблоки, расположенные вокруг целевого субблока.
Фиг. 45
Фиг. 45 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения согласно Варианту осуществления 7.
Фиг. 46
Фиг. 46 иллюстрирует относительную позицию Q в отношении целевого субблока P, где целевой субблок P расценивается как первоначальная точка (0, 0), горизонтальное направление расценивается как ось X, и вертикальное направление расценивается как ось Y.
Фиг. 47
Фиг. 47 - последовательность операций, конкретно иллюстрирующая процесс генерирования относительной информации режима предсказания.
Фиг. 48
Фиг. 48 - блок-схема, иллюстрирующая основную часть компоновки модифицированного примера устройства кодирования изображения согласно Варианту осуществления 7.
Фиг. 49
Фиг. 49 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации режима предсказания в модифицированном примере.
Фиг. 50
Фиг. 50 - блок-схема, иллюстрирующая основную часть компоновки устройства декодирования изображения согласно Варианту осуществления 8.
Фиг. 51
Фиг. 51 - блок-схема, иллюстрирующая компоновку секции формирования информации режима предсказания.
Фиг. 52
Фиг. 52 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения согласно Варианту осуществления 8.
Фиг. 53
Фиг. 53 - последовательность операций, конкретно иллюстрирующая процесс генерирования информации режима предсказания.
Фиг. 54
Фиг. 54 - блок-схема, иллюстрирующая основную часть компоновки модифицированного примера устройства декодирования изображения согласно Варианту осуществления 8.
Фиг. 55
Фиг. 55 - блок-схема, иллюстрирующая компоновку секции формирования информации режима предсказания в модифицированном примере.
Фиг. 56
Фиг. 56 - блок-схема, иллюстрирующая основную часть компоновки устройства кодирования изображения согласно Варианту осуществления 9.
Фиг. 57
Фиг. 57 - блок-схема, иллюстрирующая компоновку секции формирования относительной информации набора предсказания.
Фиг. 58
Фиг. 58 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения согласно Варианту осуществления 9.
Фиг. 59
Фиг. 59 - последовательность операций, иллюстрирующая процесс обработки во время выбора группы наборов предсказания.
Фиг. 60
Фиг. 60 - последовательность операций, иллюстрирующая процесс работы секции формирования относительной информации набора предсказания.
Фиг. 61
Фиг. 61 - блок-схема, иллюстрирующая основную часть компоновки устройства декодирования изображения согласно Варианту осуществления 10.
Фиг. 62
Фиг. 62 - блок-схема, иллюстрирующая компоновку секции формирования информации набора предсказания.
Фиг. 63
Фиг. 63 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения согласно Варианту осуществления 10.
Фиг. 64
Фиг. 64 - последовательность операций, иллюстрирующая процесс работы секции формирования информации набора предсказания.
Фиг. 65
Фиг. 65 - блок-схема, иллюстрирующая основную часть компоновки обычного устройства кодирования изображения.
Фиг. 66
Фиг. 66 иллюстрирует пример режимов предсказания, которые должны использоваться для интра-предсказания, выполненного в отношении целевого блока, который должен быть закодирован.
Фиг. 67
Фиг. 67 иллюстрирует конкретные примеры интра-предсказания в обычном устройстве кодирования изображения. Фиг. 67(a) иллюстрирует конкретный пример, в котором остаточные данные предсказания получают из изображения, имеющего вертикальные полосы. Фиг. 67(b) иллюстрирует конкретный пример, в котором остаточные данные предсказания получают из изображения, имеющего диагональные полосы.
Фиг. 68
Фиг. 68 иллюстрирует режимы предсказания в интра-предсказании для блока 4х4 пикселей и блока 8х8 пикселей.
Фиг. 69
Фиг. 69 иллюстрирует позиционное соотношение между целевым блоком и его смежными блоками.
Фиг. 70
Фиг. 70 иллюстрирует позиционное соотношение между целевым блоком и закодированными областями.
Фиг. 71
Фиг. 71 - блок-схема, иллюстрирующая основную часть компоновки обычного устройства декодирования изображения.
Фиг. 72
Фиг. 72 иллюстрирует другие конкретные примеры интра-предсказания в обычном устройстве кодирования изображения. Фиг. 72(a) иллюстрирует конкретный пример, в котором остаточные данные предсказания получают из изображения, имеющего вертикальные полосы. Фиг. 72(b) иллюстрирует конкретный пример, в котором остаточные данные предсказания получают из изображения, имеющего диагональные полосы.
Фиг. 73
Фиг. 73 иллюстрирует случай, когда кодирование с предсказанием выполняется в отношении режима предсказания целевого блока D1 на основе режима предсказания смежного левого блока D2 и режима предсказания смежного верхнего блока D3.
Список ссылочных позиций
1 Секция вычисления разности
2 Секция ортогонального преобразования
3 Секция квантования
4 Секция статистического кодирования (средство кодирования)
5 Секция статистического декодирования (средство декодирования)
6 Секция обратного квантования
7 Секция обратного ортогонального преобразования
8 Секция вычисления суммы
9 Память
10 Секция интра-предсказания (средство кодирования, средство декодирования)
11 Секция определения режимов предсказания (второе средство выбора)
12 Секция анализа края (средство вычисления)
13 Секция определения наборов предсказания (первое средство выбора)
14 Секция определения параметров кодирования (средство выбора)
15 Секция выбора группы наборов предсказания (средство выбора)
51 Секция формирования относительной информации набора предсказания (средство кодирования)
52 Секция формирования информации набора предсказания (средство декодирования)
53 Секция формирования относительной информации определения набора предсказания (средство кодирования)
54 Секция формирования информации определения набора предсказания (средство декодирования)
61 Секция формирования относительной информации режима предсказания (средство кодирования)
62 Секция формирования информации режима предсказания (средство декодирования)
100 Устройство кодирования изображения
150 Устройство декодирования изображения
200 Устройство кодирования изображения
204 Секция статистического кодирования (средство кодирования)
205 Секция статистического декодирования (средство декодирования)
210 Секция интра-предсказания (средство кодирования, средство декодирования)
211 Секция определения режимов предсказания (второе средство выбора)
212 Секция анализа края (средство вычисления)
213 Секция определения наборов предсказания (первое средство выбора)
214 Секция определения определений набора предсказания
250 Устройство декодирования изображения
300 Устройство кодирования изображения
304 Секция статистического кодирования (средство кодирования)
305 Секция статистического декодирования
310 Секций интра-предсказания
311 Секция определения режимов предсказания
350 Устройство декодирования изображения
500 Устройство кодирования изображения
504 Секция статистического кодирования
505 Секция статистического декодирования
511 Секция генерирования относительной информации набора предсказания
512 Секция предсказания информации набора предсказания
513 Секция сохранения информации набора предсказания
521 Секция генерирования информации набора предсказания
531 Секция генерирования относительной информации определения набора предсказания
532 Секция предсказания информации определения набора предсказания
533 Секция сохранения информации определения набора предсказания
541 Секция генерирования информации определения набора предсказания
550 Устройство декодирования изображения
600 Устройство кодирования изображения
600b Устройство кодирования изображения
650 Устройство декодирования изображения
650b Устройство декодирования изображения
661 Секция формирования относительной информации режима предсказания
661b Секция формирования относительной информации режима предсказания
662 Секция сохранения
663 Секция определения опорной позиции
663b Секция определения опорной позиции
664 Секция оценки информации режима предсказания
665 Секция генерирования относительной информации режима предсказания
666 Секция формирования информации режима предсказания
666b Секция формирования информации режима предсказания
667 Секция сохранения
668 Секция определения опорной позиции
668b Секция определения опорной позиции
669 Секция оценки информации режима предсказания
670 Секция генерирования информации режима предсказания
700 Устройство кодирования изображения
710 Секция интра-предсказания (средство кодирования, средство декодирования)
714 Секция определения параметра кодирования (средство выбора)
750 Устройство декодирования изображения
751 Секция формирования относительной информации набора предсказания (средство кодирования)
752 Средство сохранения
753 Секция предсказания информации набора предсказания
754 Секция генерирования относительной информации набора предсказания
755 Секция формирования информации набора предсказания (секция декодирования)
756 Секция сохранения
757 Секция предсказания информации набора предсказания
758 Секция генерирования информации набора предсказания
Описание вариантов осуществления
[Вариант осуществления 1]
Устройство кодирования изображения согласно настоящему изобретению описано ниже как Вариант осуществления 1 со ссылками на фиг. 1-13.
(Компоновка устройства кодирования изображения 100)
Сначала компоновка устройства 100 кодирования изображения согласно настоящему варианту осуществления описана ниже со ссылками на фиг. 1. Фиг. 1 - блок-схема, иллюстрирующая компоновку устройства 100 кодирования изображения согласно настоящему варианту осуществления. Устройство 100 кодирования изображения включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 4 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 10 интра-предсказания, секцию 11 определения режима предсказания, секцию 12 анализа края, секцию 13 определения набора предсказания и секцию 51 формирования относительной информации набора предсказания (Фиг. 1). Настоящий вариант осуществления описывает ниже секцию 4 статистического кодирования, секцию 10 интра-предсказания, секцию 11 определения режима предсказания, секцию 12 анализа края, секцию 13 определения набора предсказания и секцию 51 формирования относительной информации набора предсказания, которые являются составляющими компонентами, которые не были описаны при объяснении обычной методики.
(Секция статистического кодирования 4)
Секция 4 статистического кодирования выполняет статистическое кодирование относительно остаточных данных предсказания, информации о режиме предсказания, относительной информации набора предсказания, и т.п., и выдает кодированные данные.
(Секция 10 интра-предсказания)
Секция 10 интра-предсказания выполняет интра-предсказание, указанное информацией набора предсказания и информацией режима предсказания, посредством использования локально декодированного изображения, сохраненного в памяти 9, и генерирует предсказанное изображение. Как сгенерировать пиксели предсказания более конкретно описано ниже.
(Секция 11 определения режима предсказания)
Секция 11 определения режима предсказания принимает первоначальное изображение целевого блока, который должен быть закодирован, и локально декодированное изображение, которое выдается из памяти 9, и определяет один режим предсказания, который должен использоваться для предсказания целевого блока который должен быть закодирован, из множества режимов предсказания, указанных информацией набора предсказания, принятой из секции 13 определения набора предсказания, на основании первоначального изображения целевого блока и локально декодированного изображения. Секция 11 определения режима предсказания затем выдает информацию режима предсказания, указывающую определенный режим предсказания, к секции 10 интра-предсказания и секции 4 статистического кодирования. Способ минимизации остаточной стоимости предсказания или способ оптимизации искажения «цены» может использоваться для определения режима предсказания.
(Секция 12 анализа края)
Секция 12 анализа края вычисляет уровень края и ориентацию края из обнаруженных краев. Более конкретно, секция 12 анализа края обнаруживает края в каждом субблоке (блоке пикселей NxN), на который подразделяется целевой блок (блок пикселей MxM), который должен быть закодирован. Затем, секция 12 анализа края вычисляет уровень края и ориентацию края из краев, таким образом обнаруженных.
(Секция 13 определения набора предсказания)
Секция 13 определения набора предсказания определяет набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован. Более конкретно, секция 13 определения набора предсказания определяет набор предсказания, который должен быть применен к целевому блоку, из заранее определенной группы наборов предсказания на основании ориентации края и уровня края целевого блока, которые вычисляются секцией 12 анализа края. Секция 13 определения набора предсказания затем выдает информацию набора предсказания, указывающую определенный набор предсказания. Набор предсказания (группа) описан ниже более конкретно.
(Секция 51 формирования относительной информации набора предсказания)
Секция 51 формирования относительной информации набора предсказания предсказывает на основании закодированной информации, указывающей набор предсказания, информацию набора предсказания, указывающую набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, причем информация набора предсказания определяется секцией 13 определения набора предсказания, и выдает информацию (относительную информацию набора предсказания), которая указывает набор предсказания с помощью флага, и разность на основании предсказания. Секция 51 формирования относительной информации набора предсказания более конкретно описана ниже.
(Краткий обзор процесса кодирования изображения)
Со ссылками на фиг. 2, процесс кодирования изображения в устройстве 100 кодирования изображения в общем виде описывается ниже. Фиг. 2 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения в устройстве 100 кодирования изображения.
(Прием целевого блока, который должен быть закодирован, и вычисление информации края)
Когда устройство 100 кодирования изображения принимает целевой блок (блок пикселей MxM), который должен быть закодирован (этап S1), секция 12 анализа края подразделяет целевой блок (блок пикселей MxM) на субблоки (блоки пикселей NxN, N≤M) (этап S2). Затем секция 12 анализа края вычисляет, в качестве информации края, уровень края и ориентацию края каждого из субблоков, составляющих блок пикселей MxM (этап S3). Как вычислить информацию края описано ниже более подробно.
(Определение набора предсказания и кодирование информации набора предсказания)
Секция 13 определения набора предсказания определяет набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, на основании информации края, вычисленной на этапе S3, и подает информацию (в дальнейшем также называемую информацией набора предсказания), указывающую таким образом определенный набор предсказания, к секции 11 определения режима предсказания, секции 51 формирования относительной информации набора предсказания и секции 10 интра-предсказания (этап S4). Секция 51 формирования относительной информации набора предсказания принимает информацию набора предсказания от секции 13 определения набора предсказания, предсказывает информацию набора предсказания на основании закодированной информации в отношении набора предсказания, и подает относительную информацию набора предсказания к секции 4 статистического кодирования (этап S5). Секция 4 статистического кодирования выполняет статистическое кодирование в отношении относительной информации набора предсказания и выдает таким образом закодированную относительную информацию набора предсказания (этап S6). Как определить набор предсказания, как кодировать информацию набора предсказания, и структура данных информации набора предсказания будут описаны ниже более подробно.
(Определение режима предсказания и кодирование информации режима предсказания)
Секция 11 определения режима предсказания определяет режим предсказания, который должен использоваться для предсказания целевого субблока, который должен быть закодирован, из множества режимов предсказания, указанных информацией набора предсказания, принятой от секции 13 определения набора предсказания, на основе локально декодированного изображения смежного субблока, который был уже закодирован, причем локально декодированное изображение выдается из памяти 9. Секция 11 определения режима предсказания затем выдает таким образом определенную информацию режима предсказания к секции 10 интра-предсказания и секции 4 статистического кодирования (этап S7). Секция 4 статистического кодирования выполняет статистическое кодирование в отношении принятой информации режима предсказания и выдает закодированные данные информации режима предсказания (этап S8). Здесь, субблок, который должен быть закодирован, указывает субблок, который получается при подразделении целевого блока, который должен быть закодирован, на блоки пикселей NxN.
(Генерирование предсказанного изображения)
Секция 10 интра-предсказания выполняет интра-предсказание, определенное набором предсказания, определенным на этапе S4, и режимом предсказания, определенным на этапе S7, посредством использования локально декодированного изображения смежных субблоков, которые были уже закодированы, при этом локально декодированное изображение выдается из памяти 9, чтобы сгенерировать предсказанное изображение целевого субблока, который должен быть закодирован. Секция 10 интра-предсказания затем выдает предсказанное изображение на секцию 1 вычисления разности и секцию 8 вычисления суммы (этап S9).
(Вычисление остаточных данных предсказания)
Секция 1 вычисления разности вычисляет остаточные данные предсказания (блок пикселей NxN), которые являются разностью между введенным первоначальным изображением целевого субблока, который должен быть закодирован, и предсказанным изображением, сгенерированным на этапе S9, и выдает остаточные данные предсказания (этап S10).
(Ортогональное преобразование и квантование)
Остаточные данные предсказания, таким образом вычисленные на этапе S10, выдаются к секции 2 ортогонального преобразования и затем к секции 3 квантования, чтобы быть подвергнутыми ортогональному преобразованию и квантованию, соответственно, и затем выдаваться на секцию 4 статистического кодирования и секцию 6 обратного квантования (этап S11).
(Обратное ортогональное преобразование и обратное квантование)
Остаточные данные предсказания, которые были подвергнуты ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно, и затем выдаваться на секцию 8 вычисления суммы (этап S12).
(Генерирование локально декодированного изображения)
Секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S12, с предсказанным изображением, сгенерированным на этапе S9, чтобы сгенерировать локально декодированное изображение (блок пикселей NxN) (этап S13). Таким образом сгенерированное локально декодированное изображение сохраняется в памяти 9.
(Кодирование остаточных данных предсказания)
Секция 4 статистического кодирования выполняет статистическое кодирование в отношении таким образом квантованных остаточных данных предсказания целевого субблока и выдает закодированные данные остаточные данные предсказания (этап S14).
Процессы на этапах S7-S14 выполняются в отношении всех субблоков, составляющих целевой блок, который должен быть закодирован. Далее, процессы на этапах S1-S14 выполняются в отношении всех блоков, составляющих целевое изображение, которое должно быть закодировано.
(Дополнительные замечания)
Настоящий вариант осуществления описывает процесс кодирования в устройстве 100 кодирования изображения в порядке от этапа S1 до этапа S14. Однако, порядок процесса кодирования не ограничивается этим, и может быть изменен в пределах диапазона, в котором может быть выполнено настоящее изобретение.
(Подробности того, как работает секция 12 анализа края и структура данных информации края)
Таблица 1 показывает структуру данных информации края, вычисленной в секции 12 анализа края. В Таблице 1 "bk" указывает счетчик, указывающий позицию субблока в целевом блоке, который должен быть закодирован, и “end_bk” указывает номер последнего субблока, расположенного в конце целевого блока, который должен быть закодирован.
[Таблица 1]
Параметр
Подробности
edge_data(){
Информация о крае
for(bk=0; bk<=end_bk; bk++){
edge_orientation[bk]
Указывает ориентацию края в позиции bk в субблоках
edge_strength[bk]
Указывает уровень края в позиции bk в субблоках
}
}
То, как секция 12 анализа края работает, конкретно описывается ниже со ссылками на фиг. 3. Фиг. 3 - последовательность операций, конкретно иллюстрирующая процесс определения информации края.
В ответ на прием целевого блока (блока пикселей MxM, M≥N), подлежащего кодированию, секция 12 анализа края подразделяет принятый целевой блок, который должен быть закодирован, на блоки пикселей NxN (этап S20), и инициализирует счетчик bk, указывающий позицию субблока в целевом блоке, который должен быть закодирован, равным значению 0 (этап S21).
Затем секция 12 анализа края вычисляет, посредством оператора, векторы градиента (горизонтальный компонент, вертикальный компонент) для всех пикселей в субблоке (в дальнейшем также называемом целевым субблоком), указанным счетчиком bk (этап S22). Оператор, который вычисляет вектор градиента, может быть, например, оператором Sobel, оператором Prewitt, или подобным. Далее, вектор градиента может быть вычислен посредством разности между значениями пикселей, расположенных слева и справа от целевого пикселя, и разности между значениями пикселей, расположенных сверху и снизу целевого пикселя, как представлено следующим уравнением (7).
Матем. 4
G(x,y) = =
В этом уравнении I(x, y) указывает значение пикселя в позиции (x, y) пикселя в целевом субблоке, и G(x, y) указывает вектор градиента в позиции (x, y) пикселя.
Секция 12 анализа края вычисляет информацию края из векторов градиента всех пикселей в целевом субблоке, вычисленных на этапе S22 (этап S23). В настоящем описании “информация края” указывает edge_orientation[bk], которая является ориентацией края целевого субблока, и edge_strength[bk], которая является уровнем края целевого субблока. Как вычислить ориентацию края и уровень края будет описано ниже.
Секции 12 анализа края сохраняет в информации края edge_data(), ориентацию края и уровень края целевого субблока, которые вычисляются на этапе S23 (этап S24), и увеличивает счетчик bk на 1 (этап S25).
Затем секция 12 анализа края определяет, больше ли значение счетчика bk, чем значение end_bk (этап S26). Если значение, обозначенное счетчиком bk, не больше end_bk, который принадлежит последнему субблоку в целевом блоке, который должен быть закодирован (Да на этапе S26), секция 12 анализа края вычисляет векторы градиента всех пикселей в последующем субблоке. Таким образом, процесс возвращается к этапу S22. Если значение, обозначенное счетчиком bk, больше чем end_bk, которое принадлежит последнему субблоку в целевом блоке, который должен быть закодирован (Нет на этапе S26), секция 12 анализа края выдает информацию края edge_data (), и завершает операцию анализа края в отношении целевого блока, который должен быть закодирован (этап S27).
(Подробности того, как вычислить ориентацию края и уровень края)
Нижеследующее объясняет на конкретном примере то, как вычислить ориентацию края и уровень края.
Уровень края указывает, что средний уровень векторов градиента каждого для каждого пикселя в целевом субблоке, и может быть вычислен следующим уравнением (8) или (9). Здесь, Gx и Gy соответственно указывают x компоненту и y компоненту в векторе градиента G(x, y).
P=
Матем. 5
Ориентация края может быть вычислена различными способами и не ограничивается каким-либо конкретным способом. Настоящий вариант осуществления описывает, как вычислить ориентацию края, взяв, в качестве примера, способ, раскрытый в непатентной литературе 2. Непатентная литература 2 также раскрывает методику представления ориентации края для обнаружения отпечатков пальцев.
Сначала вектор градиента в позиции пикселя в целевом субблоке вычисляется следующим уравнением (10). В уравнении (10) “sign()” является функцией, представленной следующим уравнением (11), в котором, если x не меньше, чем 0, функция возвращает “1”, и если x отрицательно, функция возвращает “-1”. Затем, квадратный корень векторов градиента Gs(x, y) вычисляется посредством использования вычисленного вектора градиента G(x, y) в позиции (x, y) пикселя в целевом субблоке, в соответствии со следующим уравнением (12). Кроме того, среднее значение векторов в целевом субблоке вычисляется посредством использования квадратных корней векторов градиента всех пикселей в целевом субблоке, в соответствии со следующим уравнением (13).
Матем. 6
Затем Gxx, Gyy, и Gxy определяются как следующее уравнение (14). Направление φ вектора градиента целевого субблока вычисляется посредством использования таким образом определенных Gxx, Gyy, и Gxy, в соответствии со следующим уравнением (15). Здесь, (x, y) определяется следующим уравнением (16). Далее, [rad] ([рад]) в уравнении (16) является угловой единицей в круговом измерении.
Матем. 7
Ориентация края θ целевого субблока перпендикулярна направлению градиента целевого субблока, и поэтому может быть вычислена следующим уравнением (17). Если ориентация края θ целевого субблока выражается круговой мерой, возможно преобразовать ориентацию θ края в соответствии со следующим уравнением (18). Здесь, [deg] ([град]) в уравнении (18) является угловой единицей при измерении в градусах.
Вышеупомянутые способы для вычисления ориентации края и уровня края применяются к секции 212 анализа края устройства 200 кодирования изображения согласно Варианту осуществления 3, который будет описано ниже.
Матем. 8
(Конкретный пример обнаружения края)
Ниже описаны конкретные примеры краев, обнаруженных секцией 12 анализа края, со ссылками на Фиг. 4(a)-(f). Фиг. 4(a)-(f) иллюстрируют конкретные примеры краев, обнаруженных секцией 12 анализа края. Фиг. 4(a) - первоначальное изображение, в котором сформированы горизонтальные полосы, и Фиг. 4(b) - изображение края, обнаруженное из него; Фиг. 4(c) - первоначальное изображение, в котором сформированы вертикальные полосы, и Фиг. 4(d) - изображение края, обнаруженное из него; и Фиг. 4(e) - первоначальное изображение, в котором сформирован искаженный образец (шаблон), и Фиг. 4(f) - изображение края, обнаруженное из него. В этих изображениях края черная часть указывает плоскую часть, и белая часть указывает краевую часть.
В случае горизонтальных полос, проиллюстрированных на Фиг. 4(a), много краев в горизонтальном направлении обнаруживаются, как показано на Фиг. 4(b). В этом случае распределение ориентации края походит на то, как иллюстрируется на Фиг. 5(a). В случае вертикальных полос, проиллюстрированных на Фиг. 4(c), много краев в вертикальном направлении обнаруживаются, как показано на Фиг. 4(d). В этом случае распределение ориентации края похоже на то, как иллюстрируется на Фиг. 5(b). В случае искаженного образца, проиллюстрированного на Фиг. 4(e), много краев в горизонтальном направлении и в вертикальном направлении обнаруживаются, как показано на Фиг. 4(f). В этом случае распределение ориентации края похоже на то, как иллюстрируется на Фиг. 5(c).
Фиг. 5(a)-(c) соответственно показывают распределения ориентации края для изображений края на Фиг. 4(b), (d) и (f). Фиг. 5(a) иллюстрирует распределение ориентации края на Фиг. 4(b), Фиг. 5(b) иллюстрирует распределение ориентации края на Фиг. 4(d), и Фиг. 5(c) иллюстрирует распределение ориентации края на Фиг. 4(f).
(Подробности того, как работает секция 13 определения набора предсказания, и подробности набора предсказания)
Как работает секция 13 определения набора предсказания и подробности набора предсказания описаны ниже более подробно со ссылками на фиг. 6 и Фиг. 7. Как описано выше, секция 13 определения набора предсказания главным образом определяет из группы наборов предсказания набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, на основании информации края целевого блока, который должен быть закодирован, вычисленной секцией 12 анализа края.
(Подробности набора предсказания)
i
В настоящем описании группа наборов предсказания – это группа, которая включает в себя L частей наборов предсказания. Каждый набор предсказания i (0≤i≤L-1) в группе наборов предсказания является группой, включающей в себя K частей режимов предсказания, каждый определяющий различный способ предсказания. Здесь, i указывает номер для идентификации набора предсказания.
i
Далее, способы предсказания в наборе предсказания могут быть способом предсказания, таким как простое предсказание, частотное предсказание, или согласование с шаблонами, помимо пространственного предсказания, определенного направлением θ предсказания (ориентацией края), и DC предсказания. Далее, количество K (0≤i≤L-1) режимов предсказания может быть различным в зависимости от набора предсказания i (0≤i≤L-1).
(Конкретные примеры группы наборов предсказания и набора предсказания)
i
Ниже описаны конкретные примеры группы наборов предсказания и набора предсказания со ссылками на Таблицы 2 и Фиг. 6. Таблица 2 показывает один пример группы наборов предсказания, где количество L наборов предсказания равно 4, и количество K режимов предсказания таково, что K0=K1=K2=K3=9. В настоящем варианте осуществления каждое из “0” [градусов], “-90” [градусов], “±15” [градусов], “±22,5” [градусов], “±30” [градусов], “±45” [градусов], “±67,5” [градусов], и “±75” [градусов] в Таблице 2 указывают пространственные предсказания, каждый определенный направлением θ предсказания и "DC" указывает DC предсказание.
[Таблица 2]
Набор предсказания
0
1
2
3
Режим предсказания
0
-90
-90
-90
-90
1
0
0
0
0
2
DC
DC
DC
DC
3
-45
-30
-60
-45
4
45
30
60
45
5
67,5
60
75
75
6
22,5
15
30
15
7
-67,5
-60
-75
-75
8
-22,5
-15
-30
-15
Фиг. 6(a)-(d) иллюстрируют режимы предсказания, за исключением DC предсказания в наборах предсказания, показанных в Таблице 2. Фиг. 6(a)-(d) соответственно соответствуют наборам предсказания 0-3.
Набор предсказания 0, проиллюстрированный на Фиг. 6(a), является тем же самым, что интра-предсказание в обычном способе, и поэтому не объясняется здесь.
Набор предсказания 1, проиллюстрированный на Фиг. 6(b) - набор предсказания, который сфокусирован на предсказаниях в горизонтальном направлении, и который эффективен для случая, когда края формируются в горизонтальном направлении (приблизительно 0 [градусов]) совокупным образом, как показано на Фиг. 5(a). Изображение, в котором края формируются в горизонтальном направлении совокупным образом, как таковое может быть, например, изображением, имеющим горизонтальные полосы, как иллюстрируется на Фиг. 4(a).
Набор предсказания 2, проиллюстрированный на Фиг. 6(c) - это набор предсказания, который сфокусирован на предсказаниях в вертикальном направлении, и который эффективен для случая, когда края формируются в вертикальном направлении (приблизительно ±90 [градусов]) совокупным образом, как показано на Фиг. 5(b). Изображение, в котором края формируются в вертикальном направлении совокупным образом, как таковое может быть, например, изображением, имеющим вертикальные полосы, как проиллюстрировано на Фиг. 4(c).
Набор предсказания 3, иллюстрируемый на Фиг. 6(d), – это набор предсказания, который сфокусирован на предсказаниях в горизонтальном направлении и в вертикальном направлении, и который эффективен для случая, когда края формируются оба в горизонтальном направлении (приблизительно ±90 [градусов]) и в вертикальном направлении (приблизительно 0 [градусов]) совокупным образом. Изображение, в котором края формируются и в вертикальном направлении и в горизонтальном направлении совокупным образом, как таковое может быть, например, изображением, имеющим искаженный шаблон, как проиллюстрировано на Фиг. 4(e).
Как описано выше, множество наборов предсказания, сфокусированных на предсказаниях в конкретных направлениях, отличных друг от друга, подобно наборам предсказания 0-3, заранее определяются так, чтобы набор предсказания был выбран из заранее определенных наборов предсказания согласно каждому целевому блоку, который должен быть закодирован. Это позволяет выполнить предсказание в направлении, в котором обычное устройство кодирования изображения не может выполнить предсказание.
(Подробности процесса определения информации набора предсказания)
Со ссылками на фиг. 7 ниже описан процесс определения информации набора предсказания более подробно. Фиг. 7 – это последовательность операций, конкретно показывающая, как работает секция 13 определения набора предсказания. Дополнительно, Таблица 3 показывает определения параметров, используемых для объяснения работы секции 13 определения набора предсказания.
[Таблица 3]
Параметр
Значение параметра
bk
Счетчик, указывающий номер субблока в целевом блоке, подлежащем кодированию
end_bk
Номер последнего субблока в целевом блоке, подлежащем кодированию
set_num
Счетчик, указывающий номер набора предсказания
end_set_num
Номер последнего набора предсказания
min_sum_of_delta_angle
Общее значение минимальных значений в суммах абсолютных значений углов дельта во всех субблоках
sum_of_delta_angle[set_num]
Сумма абсолютных значений углов дельта в наборе предсказания номер set_num
min_delta_angle
Минимальное значение в суммах абсолютных значений углов дельта
delta_angle
Абсолютное значение угла дельта
edge_angle[bk]
Ориентация края в субблоке номер bk в целевом блоке, подлежащем кодированию
pred_angle[set_num][mode_num]
Направление предсказания в режиме предсказания номер mode_num в наборе предсказания номер set_num
mode_num
Счетчик, указывающий номер режима предсказания
Секция 13 определения набора предсказания принимает информацию края edge_data () (этап S30) и устанавливает счетчик set_num в 0 и min_sum_of_delta_angle в начальное значение, чтобы инициализировать их (этап S31). Затем секция 13 определения набора предсказания устанавливает счетчик bk и sum_of_delta_angle [set_num] в ноль и min_delta_angle в начальное значение, чтобы инициализировать их (этап S32).
Секция 13 определения набора предсказания определяет, является ли уровень края edge_strength[bk] субблока (в дальнейшем также называемый целевым субблоком) в целевом блоке, который должен быть закодирован, указанный счетчиком bk, равным или большим, чем порог Th (этап S33). Порог Th может быть установлен заранее равным некоторому значению или может быть установлен так, как необходимо.
Если edge_strength [bk] равно или больше, чем порог Th (Да на этапе S33), секция 13 определения набора предсказания находит в наборе предсказания минимальное значение min_delta_angle (далее называемое минимальный абсолютный угол дельта) среди абсолютных значений углов дельта между ориентацией края edge_angle[bk] в целевом субблоке и направлениями предсказания pred_angle[set_num][mode_num], соответствующих режимов предсказания, где каждый обозначен номером mode_num режима предсказания в наборе предсказания, обозначенном номером set_num набора предсказания (этап S34). Вычисление выполняется в соответствии со следующим уравнением (19):
min_delta_angle= (19)
Матем. 9
В уравнении (19) каждое из значений направлений предсказания, указанных режимами предсказания в наборах предсказания, показанных в Таблице 2, заменяют на направление предсказания pred_angle [set_num] [mode_num]. Например, в случае режима 6 предсказания (то есть, mode_num=6) в наборе предсказания 1 (то есть, set_num=1) в Таблице 2, направление предсказания равно 15 [градусов], и поэтому, pred_angle [1] [6] равняется 15 [градусам].
После того, как секция 13 определения набора предсказания находит минимальный абсолютный угол дельта min_delta_angle как таковой, секция 13 определения набора предсказания умножает полученный min_delta_angle на константу α, и суммирует результирующее значение со стоимостью sum_of_delta_angle [set_num] (этап S35). Константа α является заранее определенным коэффициентом взвешивания согласно величине абсолютного угла дельта.
Затем секция 13 определения набора предсказания увеличивает счетчик bk на 1, чтобы установить последующий номер субблока (этап S36). Секция 13 определения набора предсказания определяет, равно ли значение таким образом установленного счетчика bk или меньше, чем end_bk (этап S37). Если значение счетчика bk равно или меньше, чем end_bk, который является номером последнего субблока в целевом блоке, который должен быть закодирован (Да на этапе S37), секция 13 определения набора предсказания повторяет процессы с этапа S33. Если значение счетчика bk больше, чем end_bk (Нет на этапе S37), секция 13 определения набора предсказания увеличивает счетчик set_num на 1, чтобы установить последующий номер набора предсказания (этап S38).
Процессы этапов S32-S38 являются процессами для вычисления степени подобия, которая указывает, насколько направления предсказания, определенные в наборе предсказания, обозначенном элементом набора предсказания set_num, являются приближенными к ориентациям края всех субблоков в целевом блоке, который должен быть закодирован. Таким образом, чем больше направления предсказания, определенные в наборе предсказания, являются приближенными к ориентациям края всех субблоков в целевом блоке, который должен быть закодирован, тем меньше становится значение степени подобия sum_of_delta_angle [set_num].
Затем секция 13 определения набора предсказания определяет, какой больше - набор предсказания, указанный счетчиком set_num, или последний номер набора предсказания end_set_num (этап S39). Если счетчик set_num не больше, чем end_set_num (Да на этапе S39), процессы от этапа S32 повторяются. Если счетчик set_num больше, чем end_set_num (Нет на этапе S39), секция 13 определения набора предсказания определяет набор предсказания, обозначенный номером набора предсказания set_num, чей sum_of_delta_angle [set_num] является минимальным среди наборов предсказания, в качестве набора предсказания pred_set, который должен быть применен к целевому блоку, который должен быть закодирован (этап S40). Секция 13 определения набора предсказания выдает информацию набора предсказания, указывающую определенный набор pred_set предсказания, к секции 10 интра-предсказания, секции 11 определения режима предсказания, и секции 51 формирования относительной информации набора предсказания этап S41). Набор pred_set предсказания определяется таким образом, что номер набора предсказания, который принимает минимальное значение sum_of_delta_angle[set_num] среди наборов предсказания, находится в соответствии со следующим уравнением (20). В уравнении (20) set_group указывает группу наборов предсказания. Структура данных информации набора предсказания показана в Таблице 4.
Матем. 10
[Таблица 4]
Синтаксис
Подробности
prediction_set_data(){
Информация набора предсказания
pred_set
Указывает любой из наборов предсказания
}
(Процесс кодирования информации набора предсказания)
Ниже описан процесс кодирования информации набора предсказания более подробно. Секция 51 формирования относительной информации набора предсказания предсказывает на основании информации набора предсказания, который был уже закодирован, информацию набора предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, причем информация набора предсказания определяется секцией 13 определения набора предсказания, и выдает на секцию 4 статистического кодирования информацию (далее называемую относительной информацией набора предсказания), в которой набор предсказания обозначается флажком и разностью, на основании предсказания. Секция 4 статистического кодирования может выполнить статистическое кодирование непосредственно в отношении этой информации набора предсказания вместо относительной информации набора предсказания.
Таблица 5 показывает структуру данных относительной информации набора предсказания. В Таблице 5 probable_pred_set_flag в relative_prediction_set_data() является флагом, указывающим, идентичен ли набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, предсказанному набору предсказания. Далее, rem_pred_set является информация, указывающей, какой один из наборов предсказания за исключением предсказанного набора предсказания probable_pred_set, используемого для предсказания, соответствует набору предсказания, который должен быть применен к целевому блоку, который должен быть закодирован. Относительная информация набора предсказания может быть значением pred_set набора предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, или разностью между значением набора предсказания pred_set, который должен быть применен к целевому блоку, который должен быть закодирован, и значением probable_pred_set, которое является значением предсказания.
[Таблица 5]
Синтаксис
Подробности
relative_prediction_set_data()
Относительная информация набора предсказания
probable_pred_set_flag
Флаг, указывающий, идентичен определенный набор предсказания значению предсказания набора предсказания
if(probable_pred_set_flag ! = 1) {
Если определенный набор предсказания отличен от значения предсказания набора предсказания, добавить следующую информацию
rem_pred_set
Указывает, какой один из наборов предсказания, за исключением значения предсказания набора предсказания, соответствует определенному набору предсказания
}
}
(Компоновка секции 51 формирования относительной информации набора предсказания)
Ниже описана компоновка секции 51 формирования относительной информации набора предсказания со ссылками на фиг. 8 с последующим описанием того, как работает секция 51 формирования относительной информации набора предсказания. Фиг. 8 - блок-схема, иллюстрирующая компоновку секции 51 формирования относительной информации набора предсказания. Секция 51 формирования относительной информации набора предсказания включает в себя секцию 511 генерирования относительной информации набора предсказания, секцию 512 предсказания информации набора предсказания, и секцию 513 сохранения информации набора предсказания. Каждый из составляющих компонентов описывается ниже.
(Секция 511 генерирования относительной информации набора предсказания)
Секция 511 генерирования относительной информации набора предсказания предсказывает информацию набора предсказания на основании значения предсказания, определенного в секции 512 предсказания информации набора предсказания, и выдает относительную информацию набора предсказания.
(Секция 512 предсказания информации набора предсказания)
Секция 512 предсказания информации набора предсказания определяет значение предсказания набора предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, на основании закодированной информации набора предсказания, хранящейся в секции 513 сохранения информации набора предсказания, и выдает значение предсказания.
Значение предсказания набора предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, определяется любым из следующих способов (1)-(5). Фиг. 9 иллюстрирует позиции блоков, используемых для предсказания информации набора предсказания, для легкого понимания того, как блоки располагаются в области изображения.
(1) Набор предсказания, который имеет самую высокую частоту появления среди наборов предсказания, примененных к блокам (60a – 60k), расположенных вблизи целевого блока 61, который должен быть закодирован, показанного на фиг. 9, принимается в качестве значения предсказания.
(2) Среднее значение наборов предсказания, примененных к блокам (60a-60c, или 60a, 60c, и 60d), расположенных около целевого блока 61 на фиг. 9, принимается в качестве значения предсказания.
(3) Набор предсказания, примененный к закодированному блоку (60a), расположенному слева целевого блока 61 на фиг. 9, принимается в качестве значения предсказания.
(4) Набор предсказания, примененный к закодированному блоку (60c), расположенному сверху от целевого блока 61 на фиг. 9, принимается в качестве значения предсказания.
(5) Набор предсказания, который имеет самую высокую частоту появления среди наборов предсказания, примененных к блокам, которые были уже закодированы в целевом кадре, который должен быть закодирован, прежде, чем целевой блок 61 будет закодирован, на фиг. 9, (то есть, на фиг. 9 все блоки, составляющие закодированную область изображения 60, то есть, область, окруженную кодированными 60s, 60t, 60u, 60v, 60a, 60b, 60c и 60d блоками), принимается в качестве значения предсказания.
Если нет информации набора предсказания, которая была уже закодирована, заранее определенный набор предсказания устанавливается как probable_pred_set.
(Секция 513 сохранения информации набора предсказания)
Секция 513 сохранения информации набора предсказания принимает информацию набора предсказания и сохраняет ее.
(Подробности процесса предсказания информации набора предсказания)
Со ссылками на фиг. 10 нижеследующее поясняет процесс предсказания информации набора предсказания более подробно. Фиг. 10 - последовательность операций, иллюстрирующая процесс предсказания информации набора предсказания в секции 51 формирования относительной информации набора предсказания.
Секция 512 предсказания информации набора предсказания определяет значение предсказания набора предсказания на основании закодированной информации набора предсказания, которая была уже закодирована и сохранена в секции 513 сохранения информации набора предсказания, и выдает значение предсказания (этап S50). Затем информация набора предсказания, принятая секцией 51 формирования относительной информации набора предсказания, выдается к секции 513 сохранения информации набора предсказания и секции 511 генерирования относительной информации набора предсказания (этап S51). Секция 513 сохранения информации набора предсказания сохраняет информацию набора предсказания (этап S52). Секция 511 формирования относительной информации набора предсказания сравнивает pred_set набора предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, и значение предсказания probable_pred_set набора предсказания (этап S53). Значение предсказания определяется любым из вышеупомянутых способов (1)-(5).
Если pred_set набора предсказания идентично значению предсказания probable_pred_set набора предсказания (Да на этапе S53), секция 511 генерирования относительной информации набора предсказания устанавливает информацию, указывающую "идентично" в качестве probable_pred_set_flag (probable_pred_set_flag=1) (этап S54), и выдает эту информацию как относительную информацию набора предсказания к секции 4 статистического кодирования (этап S58).
Если pred_set набора предсказания отличается от probable_pred_set набора предсказания (Нет на этапе S53), секция 511 генерирования относительной информации набора предсказания устанавливает информацию, указывающую “не идентично” в качестве probable_pred_set_flag (probable_pred_set_flag=0), и находит информацию (rem_pred_set), указывающую, какой из остающихся наборов предсказания соответствует набору предсказания целевого блока.
Более подробно, секция 511 генерирования относительной информации набора предсказания сравнивает значение pred_set и значение предсказания probable_pred_set (этап S55). Если pred_set меньше, чем probable_pred_set (Да на этапе S55), секция 511 генерирования относительной информации набора предсказания устанавливает “probable_pred_set_flag=0” и “rem_pred_set=pred_set” в качестве относительной информации набора предсказания (этап S56) и выдает относительную информацию набора предсказания (этап S58). Если pred_set не меньше, чем probable_pred_set (Нет на этапе S55), секция 511 генерирования относительной информации набора предсказания устанавливает “probable_pred_set_flag=0” и “rem_pred_set=pred_set-1” в качестве относительной информации набора предсказания (этап S57), и выдает относительную информацию набора предсказания (этап S58).
(Подробности того, как сгенерировать предсказанное изображение из направления θ предсказания)
Ниже описано, как сгенерировать предсказанное изображение из направления θ предсказания, со ссылками на фиг. 11. Фиг. 11 иллюстрирует, как генерируется предсказанное изображение блока пикселей NxN, если значение пикселя I(xp, yp), расположенного в точке P (xp, yp) на плоскости X-Y, предсказывается из направления прямой линии l, которая проходит через точку P. На фиг. 11 пересечения сеток указывают позиции целочисленных пикселей, и область на осях X и Y указывают опорную область пикселей.
Кроме того, на плоскости X-Y, область, которая удовлетворяет 0 <x≤N и 0 <y≤N, расценивается как целевая область пикселей, которая должна быть предсказана, и область, которая удовлетворяет (i) 0≤x≤L и y≤0, (ii) x≤0 и y≤0, или (iii) x≤0 и 0≤y≤K, расценивается как закодированная область пикселей, и другая область рассматривается как незакодированная область пикселей. Опорная область пикселей - область, которая удовлетворяет (iv) 0≤x≤L и y=0, (v) x=0 и y=0, или (vi) x=0 и 0≤y≤K, в закодированной пиксельной области.
Далее, имеются 2 случая предсказания из направления предсказания: (a) случай, когда значение пикселя точки P предсказывается из опорной пиксельной области на области (0≤x≤L и y=0); и (b) случай, когда значение пикселя точки P предсказывается из опорной пиксельной области на области (x=0 и 0≤y≤K).
Вышеупомянутые “N”, “L”, и “K” описаны ниже со ссылками на Фиг. 12(a)-(f). Как показано на Фиг. 12(a)-(f), “N” указывает высоту и ширину целевой пиксельной области, которая должна быть предсказана, и “L” и “K” указывают размерности опорной пиксельной области. Более подробно, “K” указывает высоту опорной пиксельной области, расположенной слева от целевой пиксельной области, которая должна быть предсказана, и “L” указывает ширину опорной пиксельной области, расположенной сверху целевой пиксельной области, которая должна быть предсказана.
Как показано на Фиг. 12(a)-(f), каждое из “L” и “K” принимает любое значение из 0, “N” и “2N”. Фиг. 12(a)-(f) иллюстрируют примеры опорных областей пикселей, в которых “L” и “K” принимает любое значение из 0, “N”, и “2N”, соответственно. Однако эти примеры являются только иллюстративными, и “L” и “K” могут принимать комбинацию значений, отличных от значений, иллюстрируемых выше.
Где вектор R направления для направления θ предсказания равен (rx, ry), пересечение точки А оси X и прямой l, и пересечение В оси Y и прямой l представляется следующими уравнениями (21) и (22), соответственно.
Матем. 11
Когда точка пересечения A и точка пересечения В удовлетворяет любому из следующих условий (1)-(4), пересечение A или В расценивается как пиксель предсказания для точки P: (1) когда направление θ предсказания таково, что -π/2≤θ≤π, точка пересечения A расценивается как пиксель предсказания; (2) когда направление θ предсказания таково, что ϕ <θ≤ 0, точка пересечения В расценивается как пиксель предсказания; (3) когда направление θ предсказания таково, что 0<θ <π/2, и xa≥0 и yb≤0, точка пересечения A расценивается как пиксель предсказания; и (4) когда направление θ предсказания 0<θ <π/2, и xa<0 и yb≥0, точка пересечения В расценивается как пиксель предсказания. Здесь, ϕ  удовлетворяет -π/2<ϕ  <0.
Значение IA пикселя предсказания в точке пересечения A и значение IB пикселя предсказания в точке пересечения B может быть получено процессом интерполяции, таким как линейная интерполяция, используя смежные пиксели или трехмерную интерполяцию. Если точки пересечения A и B располагаются в целочисленных пикселях, процесс фильтрования с использованием n-каскадного фильтра, такого как фильтр с 3 каскадами, может быть выполнен.
rec
В случае, когда используются линейная интерполяция и фильтр с 3 каскадами, значения IA и IB пикселя предсказания, соответственно в точках пересечения A и B, могут быть представлены следующими уравнениями (23) и (24), соответственно. В уравнениях (23) и (24), I(x, y) указывает значение пикселя локально декодированного изображения. Floor{x} является вычислением для того, чтобы найти максимальное целое число, которое не больше чем x, и Ceil{x} - вычислением для того, чтобы найти минимальное целое число, которое не меньше, чем x. Z указывает набор целых чисел.
Матем. 12
В уравнениях (23) и (24), если пиксели, расположенные в (Ceil{xa}, 0), (xa+1, 0), (0, Ceil{yb}), и (0, yb+1) расположены в незакодированной области пикселей, пиксельное значение, расположенное в (L, 0), используется вместо (Ceil{xa}, 0) и (xa+1, 0), и пиксельное значение, расположенное в (0, K) используется вместо (0, Ceil{yb}) и (0, yb+1).
Посредством применения способа генерирования пикселя предсказания точки P, которая находится в целевой пиксельной области, которая должна быть предсказана, ко всем точкам, расположенным в целочисленных пикселях в целевой пиксельной области, которая должна быть предсказана, возможно сгенерировать пиксели предсказания по целевой области пикселей, которая должна быть предсказана.
В настоящем варианте осуществления единицей кодирования набора предсказания является блок пикселей MxM. Однако модуль кодирования не ограничивается этим. Например, макроблок, срез, картинка (кадр), или GOP (Группа картинок) также могут использоваться как единица кодирования набора предсказания. В случае, когда набор предсказания изменяется для каждой единицы среза, например, необходимо кодировать информацию относительно выбранного набора предсказания в передней части среза. Единица кодирования набора предсказания может быть определена заранее между устройством кодирования изображения и устройством декодирования изображения, или может быть обозначена в передней части закодированных данных, картинки, или заголовка GOP. Альтернативно, также возможно уведомить о единице кодирования посредством использования внешнего средства, а не устройством кодирования изображения и не устройством декодирования изображения.
Такие макроблок, срез, картинка (кадр), и GOP, упомянутые в описании, иллюстрируются на Фиг. 13(a)-(e). Фиг. 13(a)-(e) схематично иллюстрируют соотношения между единицами кодирования согласно настоящему изобретению. Фиг. 13(a) иллюстрирует GOP, Фиг. 13(b) иллюстрирует картинку (кадр), Фиг. 13(c) иллюстрирует срез, Фиг. 13(d) иллюстрирует макроблок, и Фиг. 13(e) иллюстрирует субблок. На фиг. 13 субблок устанавливается таким образом, что M=2N, но не ограничивается этим. Например, субблок может быть установлен таким образом, что M=N, 2N, 4N, 8N, 16N, или подобное.
(Эффекты)
Как описано выше, устройство 100 кодирования изображения вычисляет информацию края изображения из каждого блока, составляющего изображение. Устройство 100 кодирования изображения вычисляет, например, ориентацию края и уровень края изображения, или информацию распределения его, в качестве информации края. Устройство кодирования изображения выбирает набор предсказания, подходящий для вычисленной информации края, из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих различным направлениям предсказания. Устройство кодирования изображения затем кодирует изображение посредством использования набора предсказания, выбранного таким образом. Например, в случае, когда информация края указывает, что края формируются в горизонтальном направлении совокупным образом, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, который сосредоточен на предсказаниях в горизонтальном направлении. С другой стороны, в случае, когда информация края указывает, что края формируются в вертикальном направлении совокупным образом, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, который сосредотачивается на предсказаниях в вертикальном направлении.
Также, устройство 100 кодирования изображения кодирует изображение посредством использования набора предсказания, оптимального для информации края изображения. Это позволяет устройству кодирования изображения выполнять предсказания из большего количества различных направлений, чем обычная методика, таким образом позволяя уменьшить объем кодирования изображения и улучшить качество изображения.
Далее, устройство 100 кодирования изображения может более гибко выбрать способ предсказания, так как способы предсказания выражаются иерархически посредством информации набора предсказания и информации режима предсказания. В результате возможно предотвратить увеличение необходимого объема кодирования для способа предсказания и повысить эффективность предсказания.
(Дополнительные замечания)
Настоящий вариант осуществления имеет дело со случаем, когда количество L наборов предсказания равно 4, и количество Ki режимов предсказания равно 9 (i=0, 1, 2, 3) в качестве примера группы наборов предсказания. Однако группа наборов предсказания не ограничивается этим. Например, группа наборов предсказания может быть такой, что количество L наборов предсказания может быть 5 или 9, или другое натуральное число. Таблицы 6 и 7 показывают примеры группы наборов предсказания и наборов предсказания, в которых примеры количества L наборов предсказания равны 5 и 9, соответственно. Таблица 6 показывает пример группы наборов предсказания и наборов предсказания, в которых количество L наборов предсказания равно 5 и количество Ki режимов предсказания равно 9 (0≤i<5, iцелое). Таблица 7 показывает пример группы наборов предсказания и набора предсказания, в котором количество L наборов предсказания 9 и количество Ki режимов предсказания 9 равно (0≤i<9, iцелое).
[Таблица 6]
Набор предсказания
0
1
2
3
4
Режим предсказания
0
-90
-90
-90
-90
-90
1
0
0
0
0
0
2
DC
DC
DC
DC
DC
3
-45
-30
-60
-15
-75
4
45
30
60
15
75
5
67,5
60
75
30
60
6
22,5
15
30
7,5
82,5
7
-67,5
-60
-75
-30
-60
8
-22,5
-15
-30
-7,5
-82,5
[Таблица 7]
Набор предсказания
0
1
2
3
4
5
6
7
8
Режим предсказания
0
-90
-90
-90
-90
-90
-90
-90
-90
-90
1
0
0
0
0
0
0
0
0
0
2
DC
DC
DC
DC
DC
DC
DC
DC
DC
3
-45
-25
-65
-30
-60
-20
-70
-15
-75
4
45
25
65
30
60
20
70
15
75
5
67,5
50
40
60
30
40
50
30
60
6
22,5
12,5
77,5
15
75
10
80
7,5
82,5
7
-67,5
-50
-40
-60
-30
-40
-50
-30
-60
8
-22,5
-12,5
-77,5
-15
-75
-10
-80
-7,5
-82,5
[Вариант осуществления 2]
Устройство декодирования изображения согласно настоящему изобретению описывается ниже как Вариант осуществления 2 со ссылками на фиг. 14-17. Те же самые составляющие компоненты, как в Варианте осуществления 1, имеют те же самые ссылочные позиции, как в Варианте осуществления 1, и дополнительно не поясняются.
(Компоновка 150 устройства декодирования изображения)
Компоновка 150 устройства декодирования изображения согласно Варианту осуществления 2 объясняется ниже со ссылками на фиг. 14. Фиг. 14 - блок-схема, иллюстрирующая компоновку 150 устройства декодирования изображения.
Как показано на фиг. 14, устройство 150 декодирования изображения главным образом включает в себя секцию 5 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 10 интра-предсказания, и секцию 52 формирования информации набора предсказания. В настоящем варианте осуществления только секция 5 статистического декодирования и секция 52 формирования информации набора предсказания, которые еще не были описаны, будут пояснены.
(Секция 5 статистического декодирования)
Секция 5 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных, таких как остаточные данные предсказания, информация режима предсказания, и относительная информация набора предсказания, и выдает декодированные данные.
(Секция 52 формирования информации набора предсказания)
Секция 52 формирования информации набора предсказания формирует информацию набора предсказания целевого блока на основе статистически декодированной относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована. Эта компоновка и работа секции 52 формирования информации набора предсказания описаны ниже.
(Краткий обзор процесса декодирования изображения)
Нижеследующее в целом объясняет процесс декодирования изображения в устройстве 150 декодирования изображения со ссылками на фиг. 15. Фиг. 15 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения в устройстве 150 декодирования изображения.
(Прием закодированных данных и формирование информации набора предсказания)
Когда устройство 150 декодирования изображения принимает закодированные данные (блоки пикселей MXM) (этап S60), секция 5 статистического декодирования, выполняет статистическое декодирование в отношении относительной информации набора предсказания, в принятых закодированных данных, в отношении набора предсказания, который должен быть применен к целевому изображению, которое должно быть декодировано (блок пикселей MxM, в дальнейшем называемый как «целевой блок, который должен быть декодирован») (этап S61). Затем секция 52 формирования информации набора предсказания формирует информацию набора предсказания целевого блока, который должен быть декодирован, на основе статистически декодированной относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована (этап S62). Подробный процесс формирования информации набора предсказания в секции 52 формирования информации набора предсказания описан ниже.
(Декодирование остаточных данных предсказания и информации режима предсказания)
Секция 5 статистического декодирования дополнительно выполняет статистическое декодирование в отношении информации режима предсказания и значения квантования остаточных данных предсказания каждого целевого субблока, который должен быть декодирован (этап S63). Целевой субблок, который должен быть декодирован, имеет заранее определенный размер блока (блок пикселей NxN), на который подразделяется целевой блок.
(Генерирование предсказанного изображения)
Интра-предсказание 10 выполняет интра-предсказание посредством использования локально декодированного изображения декодированных смежных субблоков, которое сохраняется в памяти 9, и генерирует предсказанное изображение (блок пикселей NxN) согласно информации набора предсказания, таким образом сформированной (декодированной), и режим предсказания, который должен быть применен к целевому субблоку, который должен быть декодирован, причем режим предсказания указывается информацией режима предсказания, таким образом декодированной (этап S64). Как сгенерировать предсказанное изображение в соответствии с интра-предсказанием было описано в Варианте осуществления 1, и поэтому не поясняется здесь.
(Обратное квантование и обратное ортогональное преобразование)
Обратное квантование 6 выполняет обратное квантование в отношении остаточных данных предсказания, таким образом декодированных на этапе S63, и выдает остаточные данные предсказания к секции 7 обратного ортогонального преобразования (этап S65). Секция 7 обратного ортогонального преобразования выполняет обратное ортогональное преобразование в отношении остаточных данных предсказания, таким образом обратно квантованных, и выдает остаточные данные предсказания к секции 8 вычисления суммы (этап S66).
(Генерирование декодированного изображения целевого субблока)
Секция 8 вычисления суммы суммирует предсказанное изображение, сгенерированное на этапе S64, с остаточными данными предсказания, принятыми на этапе S66, чтобы сгенерировать декодированное изображение (блок пикселей NxN) целевого субблока, и выдает декодированное изображение (этап S67).
Память 9 принимает и затем сохраняет сформированное декодированное изображение целевого субблока в ней (этап S68).
(Дополнительные замечания)
Устройство 150 декодирования изображения повторяет этапы S63-S68 относительно всех субблоков, составляющих целевой блок, который должен быть декодирован, и также повторяет этапы S60-S68 относительно всех блоков, составляющих целевое изображение, которое должно быть декодировано.
(Подробности секции 52 формирования информации набора предсказания)
Нижеследующее относится к секции 52 формирования информации набора предсказания более подробно.
Секция 52 формирования информации набора предсказания выполняет обратный процесс к процессу, выполняемому секцией 51 формирования относительной информации набора предсказания. Более подробно, секция 52 формирования информации набора предсказания формирует информацию набора предсказания из относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована.
(Компоновка секции 52 формирования информации набора предсказания)
Компоновка секции 52 формирования информации набора предсказания описывается ниже со ссылками на фиг. 16. Фиг. 16 - блок-схема, иллюстрирующая компоновку секции 52 формирования информации набора предсказания. Секция 52 формирования информации набора предсказания включает в себя секцию 521 генерирования информации набора предсказания, секцию 512 предсказания информации набора предсказания, и секцию 513 сохранения информации набора предсказания. Ниже описана секция 521 генерирования информации набора предсказания, которая еще не была описана.
(Секция 521 генерирования информации набора предсказания)
Секция 521 генерирования информации набора предсказания генерирует информацию набора предсказания на основании относительной информации набора предсказания, статистически декодированной секцией 5 статистического декодирования, и значения предсказания, определенного секцией 512 предсказания информации набора предсказания, и затем выдает информацию набора предсказания.
(Подробности процесса формирования информации набора предсказания)
Процесс формирования информации набора предсказания более подробно описывается ниже со ссылками на фиг. 17. Фиг. 17 - последовательность операций, иллюстрирующая процесс формирования информации набора предсказания в секции 52 формирования информации набора предсказания.
Секция 512 предсказания информации набора предсказания определяет значение предсказания probable_pred_set набора предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, на основе информации набора предсказания, которая была уже декодирована и сохранена в секции 513 сохранения информации набора предсказания, и выдает определенное значение предсказания (этап S70). Значение предсказания набора предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, определяется тем же самым способом, как при определении значения предсказания набора предсказания в устройстве 100 кодирования изображения из Варианта осуществления 1, и поэтому не описывается здесь.
Затем, относительная информация набора предсказания выдается к секции 521 генерирования информации набора предсказания (этап S71). Секция 521 генерирования информации набора предсказания определяет, является ли значение probable_pred_set_flag в относительной информации набора предсказания, таким образом принятой, равным “1” или нет (этап S72). Если значение probable_pred_set_flag есть “1” (Да на этапе S72), секция 521 генерирования информации набора предсказания устанавливает значение предсказания probable_pred_set в качестве значения pred_set в информации набора предсказания prediction_set_data(), указывающего набор предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, и выдает значение pred_set (этап S73). Таким образом, в этом случае, pred_set равно probable_pred_set.
Если значение probable_pred_set_flag равно “0” (Нет на этапе S72), секция 521 генерирования информации набора предсказания устанавливает значение pred_set на основании rem_pred_set и probable_pred_set, и выдает значение pred_set. Более подробно, секция 521 генерирования информации набора предсказания сравнивает значение rem_pred_set со значением предсказания probable_pred_set (этап S74). Если rem_pred_set меньше, чем probable_pred_set (Да на этапе S74), pred_set устанавливается таким образом что pred_set=rem_pred_set (этап S75). Если rem_pred_set не меньше, чем probable_pred_set (Нет на этапе S74), pred_set устанавливается таким образом, что pred_set=rem_pred_set+1 (этап S76).
Затем секция 513 сохранения информации набора предсказания сохраняет информацию набора предсказания prediction_set_data(), таким образом декодированную, и выдает информацию набора предсказания, таким образом декодированную (этап S77).
В настоящем варианте осуществления единицей декодирования набора предсказания является блок пикселей MxM. Однако, единица декодирования не ограничивается этим. Например, макроблок, срез, картинка (кадр), или GOP (Группа изображений) могут также использоваться в качестве единицы декодирования набора предсказания. Если набор предсказания изменяется для каждой единицы среза, например, необходимо декодировать информацию относительно выбранного набора предсказания в передней части среза. Единица декодирования набора предсказания может быть определена заранее между устройством кодирования изображения и устройством декодирования изображения, или может быть обозначена в передней части закодированных данных, картинки, или заголовка GOP. Альтернативно, также возможно уведомить о единице декодирования посредством использования внешнего средства, а не устройством кодирования изображения и устройством декодирования изображения.
Далее, в настоящем варианте осуществления закодированные данные относительной информации набора предсказания статистически декодируются, и информация набора предсказания формируется из относительной информации набора предсказания, таким образом декодированной. Однако, также возможно, что вместо относительной информации набора предсказания закодированные данные информации набора предсказания могут быть статистически декодированы, и набор предсказания может быть изменен в соответствии с информацией набора предсказания, таким образом декодированной.
(Эффекты)
Как описано выше, устройство 150 декодирования изображения включает в себя группу наборов предсказания, включающую в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих различным направлениям предсказания. Устройство 150 декодирования изображения декодирует информацию набора предсказания, которая должна быть применена к целевому блоку, который должен быть декодирован, в блоках, составляющих изображение, посредством использования относительной информации набора предсказания и информации набора предсказания, которая была уже декодирована. Затем, устройство 150 декодирования изображения выполняет интра-предсказание относительно целевого субблока посредством использования локально декодированного изображения смежного субблока. Интра-предсказание выполняется в отношении соответствующих субблоков, на которые подразделяется целевой блок, который должен быть декодирован. Наконец, устройство 150 декодирования изображения объединяет сгенерированное предсказанное изображение с декодированными остаточными данными предсказания целевого субблока, чтобы восстановить изображение целевого субблока.
В этой компоновке в случае, когда информация набора предсказания, таким образом декодированная, указывает набор предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с горизонтальным направлением в качестве среднего направления. Далее, в случае, когда информация набора предсказания, таким образом декодированная, указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с вертикальным направлением в качестве среднего направления. Таким образом, эта компоновка позволяет устройству 150 декодирования изображения выполнять процесс декодирования, используя предсказания из большего количества различных углов, чем обычная методика, таким образом позволяя воспроизвести краевую часть более эффективно. Это позволяет восстанавливать изображения, улучшая качество изображения.
Кроме того, устройство 150 декодирования изображения выполняет предсказание на двух этапах набора предсказания и режима предсказания, таким образом позволяя предотвратить увеличение объема кодирования и реализовать высокую точность в предсказании.
[Вариант осуществления 3]
Другой вариант осуществления устройства кодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 3, со ссылками на фиг. 18-25. Те же самые составляющие компоненты, как в Вариантах осуществления 1 и 2, имеют те же самые ссылочные позиции как в Вариантах осуществления 1 и 2, и не поясняются здесь. Вариант осуществления 1 описывает устройство кодирования изображения, в котором набор предсказания изменяется для каждой заранее определенной единицы блока пикселей согласно ориентации края целевого блока, который должен быть закодирован, так чтобы устройство кодирования изображения могло выполнить больше различных предсказаний, чем обычная методика. Вариант осуществления 3 работает с устройством кодирования изображения (i), которое формирует наборы предсказания, в каждом из которых комбинация режимов предсказания автоматически определяется в соответствии с изображением, и (ii) которое выбирает набор предсказания из наборов предсказания, таким образом сформированных, согласно ориентации края целевого блока, который должен быть закодирован, так чтобы устройство кодирования изображения могло дополнительно повысить эффективность предсказания.
(Компоновка устройства 200 кодирования изображения)
Компоновка устройства 200 кодирования изображения согласно настоящему варианту осуществления описана со ссылками на фиг. 18. Фиг. 18 - блок-схема, иллюстрирующая компоновку устройства 200 кодирования изображения согласно настоящему варианту осуществления. Как показано на фиг. 18, устройство 200 кодирования изображения главным образом включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 210 интра-предсказания, секцию 211 определения режима предсказания, секцию 204 статистического кодирования, секцию 212 анализа края, секцию 213 определения набора предсказания, секцию 51 формирования относительной информации набора предсказания, секцию 214 определения для определения набора предсказания, и секцию 53 формирования относительной информации определения набора предсказания. Настоящий вариант осуществления описывает только секцию 204 статистического кодирования, секцию 211 определения режима предсказания, секцию 212 анализа края, секцию 213 определения набора предсказания, секцию 214 определения для определения набора предсказания и секцию 53 формирования относительной информации определения набора предсказания, которые не были описаны в Вариантах осуществления 1 и 2.
(Секция 212 анализа края)
Секция 212 анализа края вычисляет уровень края и ориентацию края (в дальнейшем все вместе называемые «информация края»). Более подробно, секция 212 анализа края вычисляет информацию края для каждого субблока (введенный целевой кадр, который должен быть закодирован, подразделяется на субблоки, каждый из блока пикселей NxN), и выдает части информации края всех субблоков, составляющих введенный целевой кадр, который должен быть закодирован.
(Секция 214 определения для определения набора предсказания)
Секция 214 определения для определения набора предсказания обнаруживает (находит) определения (режимы предсказания, включенные в каждый набор предсказания) множества наборов предсказания, которые должны быть применены к целевому кадру, который должен быть закодирован, на основании информации края целевого кадра, вычисленного в секции 212 анализа края. Секция 214 определения для определения набора предсказания затем обновляет таблицу (Таблица 2) режимов предсказания и наборов предсказания, на эту таблицу ссылаются секция 210 интра-предсказания, секция 211 определения режима предсказания и секция 213 определения набора предсказания. Затем секция 214 определения для определения набора предсказания выдает информацию определения набора предсказания prediction_method_data(), указывающую таблицу режимов предсказания и наборов предсказания.
(Секция 53 формирования относительной информации определения набора предсказания)
Секция 53 формирования относительной информации определения набора предсказания предсказывает из информации определения набора предсказания, которая была уже закодирована, информацию определения набора предсказания, который должен быть применен к целевому кадру, который должен быть закодирован, который определяется посредством секции 214 определения, для определения набора предсказания, и выдает относительную информацию определения набора предсказания.
(Секция 204 статистического кодирования)
Секция 204 статистического кодирования выполняет статистическое кодирование в отношении остаточных данных предсказания, информации о режиме предсказания, относительной информации набора предсказания, и относительной информации определения набора предсказания, и выдает таким образом закодированные данные.
(Секция 213 определения набора предсказания)
Секция 213 определения набора предсказания определяет на основании информации края, принятой от секции 212 анализа края, набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, из множества наборов предсказания в информации определения набора предсказания, принятой от секции 214 определения для определения набора предсказания. Секция 213 определения набора предсказания затем выдает информацию набора предсказания, указывающую набор предсказания, таким образом определенный. Определение набора предсказания является таким же, как в Варианте осуществления 1, и поэтому не поясняется в настоящем варианте осуществления.
(Секция 211 определения режима предсказания)
Секция 211 определения режима предсказания определяет один режим предсказания, который должен использоваться для предсказания целевого блока, который должен быть закодирован, из множества режимов предсказания, определенных информацией определения набора предсказания и информацией набора предсказания, таким образом принятой, на основании первоначального изображения целевого блока, который должен быть закодирован, и локально декодированного изображения, выданного из памяти 9. Секция 211 определения режима предсказания затем выдает информацию режима предсказания, указывающую режим предсказания, таким образом определенный, к секции 210 интра-предсказания и секции 204 статистического кодирования. Определение режима предсказания является таким же, как в Варианте осуществления 1, и поэтому не описывается в настоящем варианте осуществления.
(Секция 210 интра-предсказания)
Секция 210 интра-предсказания выполняет интра-предсказание, указанное информацией набора предсказания, информацией определения набора предсказания и информацией режима предсказания, с использованием локально декодированного изображения, сохраненного в памяти 9, чтобы сгенерировать предсказанное изображение.
(Краткий обзор процесса кодирования изображения)
Ниже в целом описан процесс кодирования изображения в устройстве 200 кодирования изображения со ссылками на фиг. 19. Фиг. 19 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения в устройстве 200 кодирования изображения.
(Прием целевого кадра, который должен быть закодирован, и вычисление информации края)
Когда устройство 200 кодирования изображения принимает кадр (далее называемый «целевой кадр, который должен быть закодирован»), составленный множеством блоков пикселей MXM (этап S80), секция 212 анализа края подразделяет целевой кадр, который должен быть закодирован, на субблоки (блоки пикселей NxN, N≤M) (этап S81), и вычисляет информацию края для каждого из субблоков, составляющих целевой кадр, который должен быть закодирован (этап S82).
(Определение информации определения набора предсказания и кодирование информации определения набора предсказания)
Затем секция 214 определения для определения набора предсказания определяет, на основании информации края, вычисленной на этапе S82, соответствующие способы предсказания, которые должны быть назначены множеству режимов предсказания, включенных в набор предсказания, которые должны быть применены к целевому кадру, который должен быть закодирован, и обновляет таблицу режимов предсказания и наборов предсказания. Затем секция 214 определения для определения набора предсказания выдает информацию (далее называемую «информация определения набора предсказания»), указывающую комбинации режимов предсказания таким образом определенных наборов предсказания, к секции 210 интра-предсказания, секции 211 определения режима предсказания, секции 213 определения набора предсказания, и секции 53 формирования относительной информации определения набора предсказания (этап S83). Как определить определение набора предсказания, описано ниже более подробно. Способы предсказания охватывают DC предсказание, сравнение с шаблонами, и способ предсказания на основании направления предсказания.
Секция 53 формирования относительной информации определения набора предсказания предсказывает информацию определения набора предсказания на основе информации определения набора предсказания, которая была уже закодирована, и выдает относительную информацию определения набора предсказания (этап S84). Компоновка секции 53 формирования относительной информации определения набора предсказания и процесса предсказания информации определения набора предсказания, описана ниже более подробно.
Секция 204 статистического кодирования выполняет статистическое кодирование в отношении относительной информации определения набора предсказания, принятой от секции 53 формирования относительной информации определения набора предсказания, и выдает закодированные данные относительной информации определения набора предсказания (этап S85).
(Определение набора предсказания и кодирование информации набора предсказания)
Секция 213 определения набора предсказания определяет набор предсказания, который должен быть применен к каждому из блоков пикселей MxM (далее называемый «целевой блок, который должен быть закодирован»), составляющих целевой кадр, который должен быть закодирован, на основании информации края, вычисленной на этапе S82, и выдает информацию (в дальнейшем также называемую «информация набора предсказания»), указывающую набор предсказания, таким образом определенный, к секции 211 определения режима предсказания, секции 51 формирования относительной информации набора предсказания и секции 210 интра-предсказания (этап S86).
Секция 51 формирования относительной информации набора предсказания принимает информацию набора предсказания от секции 213 определения набора предсказания, предсказывает информацию набора предсказания на основании информации набора предсказания, которая была уже закодирована, и выдает относительную информацию набора предсказания к секции 204 статистического кодирования (этап S87). Секция 204 статистического кодирования выполняет статистическое кодирование в отношении относительной информации набора предсказания и выдает таким образом закодированные данные относительной информации набора предсказания (Этапы S88). Как определить набор предсказания, как закодировать информацию набора предсказания и структура данных информации набора предсказания аналогичны таковым в Варианте осуществления 1.
(Определение режима предсказания и кодирование информации режима предсказания)
Секция 211 определения режима предсказания подразделяет целевой блок, который должен быть закодирован, на блоки пикселей NxN, чтобы получить субблоки (далее называемые «целевой субблок, который должен быть закодирован»). Секция 211 определения режима предсказания принимает из памяти 9 локально декодированное изображение смежных субблоков, которые были уже закодированы, и определяет на основании локально декодированного изображения, таким образом принятого, оптимальный режим предсказания, который должен быть применен к целевому субблоку, который должен быть закодирован, из режимов предсказания в наборе предсказания, обозначенном информацией набора предсказания, принятой от секции 213 определения набора предсказания. Секция 211 определения режима предсказания определяет оптимальный режим предсказания со ссылкой на информацию определения набора предсказания, обновленную посредством секции 214 определения для определения набора предсказания. Затем секция 211 определения режима предсказания выдает информацию режима предсказания к секции 210 интра-предсказания и секции 204 статистического кодирования (этап S89).
Секция 204 статистического кодирования выполняет статистическое кодирование относительно информации режима предсказания, таким образом принятой, и выдает закодированные данные информации режима предсказания (этап S90).
(Генерирование предсказанного изображения)
Секция 210 интра-предсказания принимает из памяти 9 локально декодированное изображение смежных субблоков, которые были уже закодированы. Секция 210 интра-предсказания затем выполняет интра-предсказание, определенное информацией набора предсказания, определенной на этапе S86, и информацией режима предсказания, определенной на этапе S89, с использованием локально декодированного изображения, таким образом принятого и со ссылкой на информацию определения набора предсказания, определенную на этапе S83, чтобы сгенерировать предсказанное изображение целевого субблока, который должен быть закодирован. Секция 210 интра-предсказания выдает предсказанное изображение на секцию 1 вычисления разности и секцию 8 вычисления суммы (этап S91).
(Вычисление остаточных данных предсказания)
Секция 1 вычисления разности вычисляет остаточные данные предсказания (блок пикселей NxN), который является разностью между принятым целевым субблоком, который должен быть закодирован, и предсказанным изображением, таким образом сгенерированным на этапе S91, и выдает остаточные данные предсказания (этап S92).
(Ортогональное преобразование и квантование)
Остаточные данные предсказания, таким образом вычисленные на этапе S92, выдаются к секции 2 ортогонального преобразования и затем секции 3 квантования, чтобы быть подвергнутыми ортогональному преобразованию и квантованию, соответственно. Остаточные данные предсказания затем выдаются на секцию 204 статистического кодирования и секцию 6 обратного квантования (этап S93).
(Обратное ортогональное преобразование и обратное квантование)
Остаточные данные предсказания, таким образом подвергнутые ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секции 8 вычисления суммы (этап S94).
(Генерирование локально декодированного изображения)
Секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S94, с предсказанным изображением, сгенерированным на этапе S91, чтобы сгенерировать локально декодированное изображение блока пикселей NxN (этап S95). Локально декодированное изображение, таким образом сгенерированное, затем сохраняется в памяти 9.
(Кодирование остаточных данных предсказания)
Секция 204 статистического кодирования выполняет статистическое кодирование в отношении квантованных остаточных данных предсказания целевого субблока, и выдает закодированные данные остаточные данные предсказания (этап S96).
Процессы от этапа S89 до этапа S96 выполняются в отношении всех субблоков, составляющих блок пикселей MxM. Далее, процессы от этапа S86 до этапа S96 выполняются относительно всех блоков, составляющих целевой кадр, который должен быть закодирован. Кроме того, процессы от этапа S80 до этапа S96 выполняются в отношении всех кадров, составляющих целевое изображение, которое должно быть закодировано.
(Дополнительные замечания)
В настоящем варианте осуществления процесс кодирования устройства 200 кодирования изображения поясняется в порядке от этапа S80 до этапа S96. Однако, порядок этапов не ограничивается этим и может быть изменен, пока настоящее изобретение может быть выполнено.
(Подробности того, как определить определение набора предсказания)
Ниже описано, как работает секция 214 определения для определения набора предсказания более подробно. Секция 214 определения для определения набора предсказания определяет соответствующие способы предсказания, которые должны быть назначены на режимы предсказания в каждом из множества наборов предсказания, которые должны быть применены к целевому кадру, который должен быть закодирован, на основании информации края, вычисленной секцией 212 анализа края. Секция 214 определения для определения набора предсказания затем выдает информацию определения набора предсказания, указывающую способы предсказания, таким образом назначенные.
Как определить информацию определения набора предсказания, более подробно описывается ниже со ссылками на фиг. 20. Фиг. 20 - последовательность операций, конкретно иллюстрирующая процесс определения информации определения набора предсказания.
(Прием информации края)
Секция 212 анализа края выдает информацию края целевого кадра, который должен быть закодирован, к секции 214 определения для определения набора предсказания (этап S100).
(Вычисление гистограммы ориентации края)
Секция 214 определения для определения набора предсказания вычисляет на основании принятой информации края гистограмму f(θ) ориентации краев блоков (блоков пикселей NxN), каждый имеющий уровень края, которая является не меньше, чем заранее определенный порог Th, и затем находит информацию гистограммы histogram_data()ориентации края, (этап S101). Порог Th может быть установлен равным некоторому значению заранее или может быть установлен по мере необходимости. Далее, гистограмма ориентации края показывает частоту появления ориентаций края в углах от -90 [градусов] до 89 [градусов], где ориентация края выражается угловой единицей 1 [градус], например. Фиг. 21 показывает полученную гистограмму ориентации края, когда края формируются в горизонтальном направлении совокупным образом, например. Далее, Таблица 8 показывает структуру данных информации гистограммы ориентации края более подробно. В Таблице 8 angle_idx указывает индекс, указывающий угол ориентации края, и total_angel_idx указывает индекс, указывающий количество делений углов.
[Таблица 8]
Синтаксис
Подробности
histogram_data(){
Информация гистограммы ориентации края
total_block_number
Общее количество пиксельных блоков N×N, составляющих целевой срез, подлежащий кодированию
nonplane_block_number
Общее количество пиксельных блоков N×N, имеющих уровень края, который не меньше, чем заранее определенный порог
for(angle_idx=0; angle_idx<total_angle_idx; angle_idx++){
histogram_of_edge_orientation[angle_idx]
Частота появления ориентации края для angle_idx
}
}
(Вычисление распределения совокупной частоты ориентации края)
Секция 214 определения для определения набора предсказания вычисляет распределение совокупной частоты ориентации края на основании информации гистограммы ориентации краев, таким образом найденной на этапе S101 (этап S102). Например, когда ориентация края выражается угловой единицей 1 [градус], распределение совокупной частоты ориентации края в диапазоне от -90 [градусов] до ориентации θ [градусов] края вычисляется следующим уравнением (25). Посредством вычисления совокупной частоты ориентации края относительно всех ориентаций края от -90 [градусов] до 89 [градусов], распределение совокупной частоты ориентации края F(θ) может быть получено. Как таковое, распределение совокупной частоты ориентации края, показанное на фиг. 22, может быть получено из гистограммы ориентации краев, показанной на фиг. 21. Фиг. 22 - график, который нормализован по количеству блоков, имеющих уровень края, который не является меньше, чем заранее определенный порог.
Матем. 13
(Вычисление распределения ориентации края относительно совокупной частоты)
Секция 214 определения для определения набора предсказания затем вычисляет распределение (обратную функцию распределения частоты ориентации края) G(x) ориентаций края относительно совокупных частот, с использованием распределения частоты ориентации края, таким образом вычисленной на этапе S102 (этап S103).
(Определение центрального направления в направлениях предсказания, которые должны быть назначены)
Секция 214 определения для определения набора предсказания затем определяет, какое направление должно быть установлено в качестве центрального направления в назначении направлений предсказания, с использованием распределения частоты ориентации края, вычисленной на этапе S102 (этап S104). Более подробно, секция 214 определения для определения набора предсказания определяет, какое направление должно быть установлено в качестве центрального направления, горизонтальное направление (0 [градусов]) или вертикальное направление (-90 [градусов]), так чтобы определить направления предсказания на основе степени S(θc, Δθ) концентрации краев, выраженной следующим уравнением (26). Степень S(θc, Δθ) концентрации краев указывает частоту появления ориентации края, появляющейся в диапазоне ± Δθ [градусов] с ориентацией края θc [градусов] в качестве центра диапазона. Далее, F(θ) указывает совокупную частоту ориентации края в ориентации θ края.
Матем. 14
В случаях, когда степень S(0, Δθ) концентрации краев горизонтального направления не меньше, чем степень S(-90, Δθ) концентрации краев вертикального направления, назначаются направления предсказания с горизонтальным направлением (0 [градусов]) в качестве центрального направления. В других случаях назначаются направления предсказания с вертикальным направлением (-90 [градусов]) в качестве центрального направления.
(Определение способов предсказания, которые должны быть назначены на соответствующие режимы предсказания)
Секция 214 определения для определения набора предсказания определяет соответствующие способы предсказания, которые должны быть назначены на соответствующие режимы предсказания, на основании (i) ориентаций края в отношении совокупных частот, вычисленных на этапе S103, (ii) центра θc [градусов] направлений предсказания, определенных на этапе S104, и (iii) таблицы заранее определенных способов предсказания (Таблица 10) (этап S105).
0
0
Более подробно, направление предсказания θn [градусов], имеющее угол, больший чем центр θc [градусов] в направлениях предсказания, определяется следующим уравнением рекуррентного соотношения (27), и направление предсказания θn [градусов], имеющее угол, меньший чем центр θc [градусов] в направлениях предсказания, определяется следующим уравнением рекуррентного соотношения (28) таким образом, что разность (порог) между совокупными частотами ориентацией края смежных направлений предсказания (θn и θn+1) становится равным d. Когда n=0, θ устанавливается таким образом, что θ=θ c, и d – является значением, полученным посредством деления максимального значения в совокупных частотах на общее количество направлений предсказания. Позиционное соотношение между θn и θn+1 показано на фиг. 23. θn удовлетворяет следующему выражению (29). Далее, совокупная вероятность F’(θ) ориентации края получена посредством нормализации совокупной частоты F(θ) ориентации края.
Матем. 15
Ниже описано, как определить направление предсказания θn в распределении частоты ориентации края на фиг. 22. В этом примере количество L наборов предсказания равно 3; количество K режимов предсказания равно 9; 0 [градусов], -90 [градусов] и DC предсказание назначаются заранее, соответственно равными номерам режимов 0, 1 и 2 в каждом из наборов предсказания; и направления предсказания (18 направлений), которые должны быть назначены на остающиеся номера режимов 3-8 в наборах предсказания, должны быть определены.
На фиг. 22, так как много краев формируются в горизонтальном направлении (0 [градусов]), направления предсказания определяются так, чтобы разность (порог) между совокупными вероятностями ориентаций края направлений предсказания стало равным с горизонтальным направлением (0 [градусов]) в качестве главного. В этом случае, учитывая, что количество направлений предсказания, которое должно быть определено, равно 18 и имеется 2 заранее определенных направления предсказания 0 [градусов] и -90 [градусов], разность (порог) d между совокупными вероятностями ориентаций края направлений предсказания устанавливается равной 5,0 [%] (=100/(18+2)). Затем углы, которые заставляют разность между совокупными вероятностями направлений предсказания быть 5,0 [%], когда начальное значение устанавливается равным углу 0 [градусов], вычисляются в соответствии с распределением ориентации края относительно совокупной частоты и вышеупомянутыми уравнениями (27) и (28). Таким образом, направление предсказания θn получается так, как показано в Таблице 9.
[Таблица 9]
(a)
N
1
2
3
4
5
6
7
8
9
θn[град]
0,5
1
2
4
8
12
15
40
72
(b)
n
-1
-2
-3
-4
-5
-6
-7
-8
-9
θn[град]
-1
-2
-4
-7
-11
-15
-20
-38
-60
На основании Таблицы 10, показывающей, как назначить направления предсказания θn, положительные направления предсказания θn (Таблица 9(a)) таким образом полученные, назначаются на номера режимов 3, 5 и 7 в каждом из наборов предсказания в возрастающем порядке. Далее, отрицательные направления предсказания θn (Таблица 9(b)), таким образом полученные, назначаются на номера режимов 4, 6 и 8 в каждом из наборов предсказания в порядке по убыванию. Пример определений наборов предсказания, полученных как таковых, показан в Таблице 11. Дополнительно, определенные определения наборов предсказания сохраняются в структуре данных информации определения набора предсказания prediction_method_data(), показанной в Таблице 12. В Таблице 12 total_set указывает общее количество наборов предсказания, и total_mode указывает общее количество режимов предсказания, включенных в набор предсказания. К наборам предсказания и режимам предсказания в Таблице 11 обращаются секция 210 интра-предсказания, секция 211 определения режима предсказания и секция 214 определения набора предсказания. Номер способа предсказания в таблице, показанной в Таблице 13, который определяет способ предсказания, заранее может быть установлен равным способу предсказания pred_method[set_idx][mode_idx], который должен быть назначен режиму mode_idx предсказания в наборе set_idx предсказания, в информации определения набора предсказания. В Таблице 13 могут быть определены способы предсказания, такие как простое предсказание, предсказание в частотной области или сравнение с шаблонами. Информация определения набора предсказания может быть информацией относительно наборов предсказания и режимов предсказания, в которых частично изменяются способы предсказания. Пример информации определения набора предсказания может быть информацией относительно направлений предсказания θn номеров режимов 3-8 в номерах 0-L-1 набора предсказания в Таблице 10. Дополнительно, информация определения набора предсказания может быть такой, что общее количество наборов предсказания, используемых для каждой заранее определенной единицы, является переменным. В этом случае информация определения набора предсказания также включает в себя информацию относительно количества наборов предсказания.
[Таблица 10]
Набор предсказания
0
1
2
…
4
Режим предсказания
0
0
0
0
…
0
1
-90
-90
-90
-90
2
DC
DC
DC
DC
3
θ<sub>1</sub>
θ<sub>2</sub>
θ<sub>3</sub>
θ<sub>L</sub>
4
θ<sub>-1</sub>
θ<sub>-2</sub>
θ<sub>-3</sub>
θ<sub>-L</sub>
5
θ<sub>L+1</sub>
θ<sub>L+2</sub>
θ<sub>L+3</sub>
θ<sub>2L</sub>
6
θ<sub>-L-1</sub>
θ<sub>-L-2</sub>
θ<sub>-L-3</sub>
θ<sub>-2L</sub>
7
θ<sub>2L+1</sub>
θ<sub>2L+2</sub>
θ<sub>2L+3</sub>
θ<sub>3L</sub>
8
θ<sub>-2L-1</sub>
θ<sub>-2L-2</sub>
θ<sub>-2L-3</sub>
θ<sub>-3L</sub>
[Таблица 11]
Набор предсказания
0
1
2
Режим предсказания
0
0
0
0
1
-90
-90
-90
2
DC
DC
DC
3
0,5
1
2
4
-1
-2
-4
5
4
8
12
6
-7
-11
-15
7
15
40
72
8
-20
-38
-60
[Таблица 12]
Синтаксис
Подробности
prediction_method_data(){
Информация определения набора предсказания
for(set_idx =0; set_idx<total_set; set++){
Добавить следующую информацию о всех наборах предсказания
for(mode_idx=0; mode_idx<total_mode; mode++){
Добавить следующую информацию о всех режимах предсказания
pred_method[set_idx]
Указывает способ предсказания, примененный к режиму mode_idx в наборе предсказания
}
}
}
[Таблица 13]
Номер способа предсказания
Направление предсказания [град]
Вектор направления
Компонент X
Компонент Y
0
DC предсказание
-
-
1
-90
0
2
-87,5
cos(-87,5)
sin(-87,5)
3
-85
cos(-85)
sin(-85)
..
..
..
..
K
180(K-1)/(L-1)-90
cos(180(K-1)/(L-1)-90)
..
..
..
..
71
85
cos(85)
sin(85)
72
87,5
cos(87,5)
sin(87,5)
(Вывод информации определения набора предсказания)
Секция 214 определения для определения набора предсказания выдает информацию определения набора предсказания, таким образом определенную на этапе S105 (этап S106).
Также возможно определить более специфические направления предсказания относительно направления, в котором края формируются совокупным образом.
(Процесс кодирования информации определения набора предсказания)
Ниже описан процесс кодирования информации определения набора предсказания более подробно. Секция 53 формирования относительной информации определения набора предсказания предсказывает на основании информации определения набора предсказания, которая была уже закодирована, информацию (информацию определения набора предсказания), указывающую определения наборов предсказания, которые должны быть применены к целевому кадру, который должен быть закодирован, причем эти определения определяются посредством секции 214 определения для определения набора предсказания. Секция 53 формирования относительной информации определения набора предсказания формирует относительную информацию определения набора предсказания, соответственно. Секция 204 статистического кодирования может выполнить статистическое кодирование непосредственно в отношении информации определения набора предсказания вместо относительной информации определения набора предсказания.
(Компоновка секции 53 формирования относительной информации определения набора предсказания)
Сначала описывается компоновка секции 53 формирования относительной информации определения набора предсказания со ссылками на фиг. 24. Фиг. 24 - блок-схема, иллюстрирующая компоновку секции 53 формирования относительной информации определения набора предсказания. Секция 53 формирования относительной информации определения набора предсказания включает в себя секцию 531 генерирования относительной информации определения набора предсказания, секцию 532 предсказания информации определения набора предсказания и секцию 533 сохранения информации определения набора предсказания (Фиг. 24).
(Секция 531 генерирования относительной информации определения набора предсказания)
Секция 531 генерирования относительной информации определения набора предсказания предсказывает принятую информацию определения набора предсказания на основании значений предсказания (определенных посредством секции 532 предсказания информации определения набора предсказания), которые определяются на основании информации определения набора предсказания, которая была уже закодирована, и выдает относительную информацию определения набора предсказания. Структура данных относительной информации определения набора предсказания показана в Таблице 14.
[Таблица 14]
Синтаксис
Подробности
relative_prediction_method_data()
Относительная информация определения набора предсказания
for(set_idx=0; set_idx<total_set; set_idx++){
Добавить следующую информацию о всех наборах предсказания
for(mode_idx=0; mode_idx<total_mode; mode_idx ++){
Добавить следующую информацию о всех режимах предсказания
probable_pred_method_flag[set_idx][mode_idx]
Флаг, указывающий, идентичен ли определенный способ предсказания значению предсказания способа предсказания
if(probable_pred_method_flag[set_idx][mode_idx]!=1)
Если определенный способ предсказания отличается от значения предсказания способа предсказания, добавить следующую информацию
rem_red_method[set_idx][mode_idx]
Указывает, какой один из способов предсказания, за исключением значения предсказания способа предсказания соответствует определенному способу предсказания
}
}
}
}
Отличной от вышеупомянутой структуры данных, относительной информацией определения набора предсказания могут быть: значения способов pred_method [set_idx][mode_idx] предсказания, указанные режимами предсказания mode_idx в каждом из наборов предсказания set_idx, которые должны быть применены к целевому кадру, который должен быть закодирован; или значения разности, каждое между значением предсказания probable_pred_method[set_idx][mode_idx] и значением способа предсказания pred_method[set_idx][mode_idx], указанным режимом mode_idx предсказания в каждом наборе предсказания set_idx, которые должны быть применены к целевому кадру, который должен быть закодирован.
(Секция 532 предсказания информации определения набора предсказания)
Секция 532 предсказания информации определения набора предсказания определяет значения предсказания информации определения набора предсказания, которые должны быть применены к целевому кадру, который должен быть закодирован, на основании информации определения набора предсказания, которая была уже закодирована и сохранена в секции 533 сохранения информации определения набора предсказания, и выдает значения предсказания, таким образом определенные.
Предсказание информации определения набора предсказания, которая должна быть применена к целевому кадру, который должен быть закодирован, использует любой из следующих способов (1)-(3).
(1) Способы предсказания, имеющие самую высокую частоту появления в режимах предсказания, использованных для кодирования кадров, которые были уже закодированы перед целевым кадром, принимаются в качестве значений предсказания.
(2) Способы предсказания из режимов предсказания в каждом наборе предсказания, примененном к кадру, который был закодирован непосредственно перед целевым кадром, принимаются в качестве значений предсказания.
(3) Способы предсказания, назначенные на соответствующие режимы предсказания во множестве заранее определенных наборов предсказания, принимаются в качестве значений предсказания.
Если нет информации определения набора предсказания, которая была уже закодирована, начальные значения значений предсказания probable_pred_method[set_idx][mode_idx] номеров mode_idx режимов предсказания устанавливаются равными значениям предсказания способов предсказания, показанных в Таблице 15. В этом случае probable_pred_method[set_idx][mode_idx] равно init_pred_method [mode_idx].
[Таблица 15]
init_pred_method (K=9)
Способ предсказания
Режим предсказания
0
0 [град]
1
-90 [град]
2
DC предсказание
3
45 [град]
4
-45 [град]
5
67,5 [град]
6
-67,5 [град]
7
22,5 [град]
8
-22,5 [град]
(Секция 533 сохранения информации определения набора предсказания)
Секция 533 сохранения информации определения набора предсказания принимает информацию определения набора предсказания и сохраняет ее.
(Подробности процесса предсказания информации определения набора предсказания)
Ниже описан процесс предсказания информации определения набора предсказания более подробно со ссылками на фиг. 25. Фиг. 25 - последовательность операций, конкретно показывающая, как предсказать информацию определения набора предсказания.
Секция 532 предсказания информации определения набора предсказания определяет значение предсказания набора предсказания на основании информации определения набора предсказания, которая была уже закодирована и сохранена в секции 533 сохранения информации определения набора предсказания, и выдает значение предсказания (этап S110).
Секция 533 сохранения информации определения набора предсказания и секция 531 генерирования относительной информации определения набора предсказания принимают информацию определения набора предсказания (этап S111). Секция 533 сохранения информации определения набора предсказания сохраняет информацию определения набора предсказания (этап S112). Секция 531 генерирования относительной информации определения набора предсказания инициализирует счетчик set_idx, указывающий номер набора предсказания (set_idx=0) (этап S113), и инициализирует счетчик mode_idx, указывающий номер режима предсказания (mode_idx=0) (этап S114). Секция 531 генерирования относительной информации определения набора предсказания затем сравнивает способ предсказания pred_method [set_idx][mode_idx], указанный режимом mode_idx предсказания в наборе предсказания set_idx, который должен быть применен к целевому кадру, со значением предсказания probable_pred_method [set_idx][mode_idx] способа предсказания, соответствующего режиму mode_idx предсказания в наборе предсказания pred_set (этап S115). Значение предсказания определяется любым из вышеупомянутых способов (1)-(3) (этап S115).
Если способ предсказания в режиме mode_idx предсказания идентичен с значением предсказания (Да на этапе S115), секция 531 генерирования относительной информации определения набора предсказания устанавливает “1”, указывающую "идентично" в качестве probable_pred_method_flag [set_idx][mode_idx] (этап S116). Если способ предсказания в режиме mode_idx предсказания отличается от значения предсказания (Нет на этапе S115), секция 531 генерирования относительной информации определения набора предсказания устанавливает “0”, указывающий “не идентично” в качестве probable_pred_method_flag [set_idx][mode_idx], и также устанавливает информацию, указывающую, какой из оставшихся способов предсказания соответствует способу предсказания, в качестве rem_pred_method [set_idx][mode_idx] (этап S117). Значение rem_pred_method [set_idx][mode_idx] устанавливается на основании следующих условий (1) и (2). (1) Если pred_method [set_idx][mode_idx] меньше, чем probable_pred_method [set_idx][mode_idx], rem_pred_method [set_idx][mode_idx] устанавливается таким образом, что rem_pred_method [set_idx][mode_idx]=pred_method [set_idx][mode_idx]. (2) Если pred_method [set_idx][mode_idx] не меньше, чем probable_pred_method [set_idx][mode_idx], rem_pred_method [set_idx][mode_idx] устанавливается таким образом, что rem_pred_method [set_idx][mode_idx]=pred_method [set_idx][mode_idx]-1.
Затем секция 531 генерирования относительной информации определения набора предсказания увеличивает счетчик mode_idx на 1 (этап S118), и сравнивает значение счетчика mode_idx с числом total_mode режимов предсказания (этап S119).
Если счетчик mode_idx меньше, чем число total_mode режимов предсказания (Да на этапе S119), секция 531 генерирования относительной информации определения набора предсказания повторяет процессы от этапа S115. Если счетчик mode_idx не меньше, чем число total_mode режимов предсказания (Нет на этапе S119), секция 531 генерирования относительной информации определения набора предсказания увеличивает счетчик set_idx на 1 (этап S120), и сравнивает значение счетчика set_idx с числом total_set набора предсказания (этап S121). Если значение счетчика set_idx меньше, чем число total_set наборов предсказания (Да на этапе S121), секция 531 генерирования относительной информации определения набора предсказания повторяет процессы от этапа S114. Если значение счетчика set_idx не меньше, чем число total_set наборов предсказания (Нет на этапе S121), секция 531 генерирования относительной информации определения набора предсказания выводит закодированные данные относительной информации определения набора предсказания relative_prediction_method_data() (этап S122).
В настоящем варианте осуществления единицей кодирования информации определения набора предсказания является единица кадра, но не ограничивается этим. Например, единица кодирования информации определения набора предсказания может быть макроблоком, срезом, картинкой (кадром) или GOP (группой изображений). Если информация определения набора предсказания формируется для каждого среза, например, необходимо закодировать недавно обновленную информацию определения набора предсказания в передней части среза и обновить таблицу (Таблица 11) наборов предсказания и режимов предсказания. Дополнительно, когда единица кодирования устанавливается меньшей, возможно сформировать набор предсказания, подходящий для характеристики локального изображения, таким образом улучшая эффективность предсказания. Единица кодирования набора предсказания может быть определена заранее между устройством кодирования изображения и устройством декодирования изображения, или может быть указана в передней части закодированных данных, или передней части изображения или GOP. Альтернативно, также возможно уведомить о единице кодирования посредством использования внешнего средства.
В Варианте осуществления 3 набор предсказания выбирается для каждого блока-единицы. Однако набор предсказания может быть выбран для каждого макроблока, для заранее определенного количества блоков, или подобное, и не ограничиваться конкретно блоком-единицей. Посредством установки переменной единицы для выбора набора предсказания, возможно выбрать набор предсказания, более подходящий для характеристики изображения.
Как описано выше, когда единица кодирования информации определения набора предсказания, и единица для выбора набора предсказания устанавливаются меньшими, возможно выполнить предсказание, более подходящее для локальной характеристики изображения. Однако установление единицы кодирования и единицы для выбора меньшими вызывает увеличение объема кодирования для кодирования этих единиц. Поэтому, не обязательно оптимально устанавливать эти меньшие единицы, с точки зрения эффективности в кодировании.
В этой связи, посредством выражения способов предсказания иерархическим способом с информацией определения набора предсказания, информацией набора предсказания, и информацией режима предсказания, возможно выбрать способ предсказания более гибко, чем обычная методика, и повысить эффективность предсказания, в то же время предотвращая увеличение объема кодирования.
(Эффекты)
Как описано выше, устройство 200 кодирования изображения вычисляет информацию края каждой составляющей кадра изображения. Например, в качестве информации края вычисляются ориентация края и уровень края изображения, или информация распределения. Устройство 200 кодирования изображения определяет множество направлений предсказания, которые по существу являются приближенными к ориентациям края, на основе информации распределения относительно ориентаций края, и определяет комбинацию режимов предсказания, составляющих каждый набор предсказания.
Например, в случае, когда информация распределения в отношении ориентаций края указывает, что края формируются в горизонтальном направлении совокупным образом, автоматически определяются множество наборов предсказания, каждый имеющий оптимальную комбинацию режимов предсказания, в которых более точно установлены предсказания в горизонтальном направлении, а предсказания в вертикальном направлении устанавливаются грубо. Соответственно, изображение кодируется посредством выбора набора предсказания, подходящего для ориентации края в целевом блоке, который должен быть закодирован, из множества наборов предсказания, которые оптимальны для предсказаний в горизонтальном направлении. С другой стороны, в случае, когда информация распределения относительно ориентаций края указывает, что края формируются в вертикальном направлении совокупным образом, автоматически определяются множество наборов предсказания, каждый имеющий оптимальную комбинацию режимов предсказания, в которых более точно устанавливаются предсказания в вертикальном направлении, а предсказания в горизонтальном направлении устанавливаются грубо. Соответственно, изображение кодируется посредством выбора набора предсказания, подходящего для ориентации края в целевом блоке, который должен быть закодирован, из множества наборов предсказания, которые оптимальны для предсказаний в вертикальном направлении.
Как таковое, устройство 200 кодирования изображения формирует множество наборов предсказания, оптимальных для изображения, посредством автоматического объединения режимов предсказания в каждом из множества наборов предсказания, и выбирает набор предсказания, подходящий для ориентации края целевого блока, который должен быть закодирован, из множества наборов предсказания. Эта компоновка позволяет улучшить эффективность предсказания больше, чем в случае, когда используются заранее определенные наборы предсказания.
[Вариант осуществления 4]
Другой вариант осуществления устройства декодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 4 со ссылками на фиг. 26-29. Те же самые составляющие компоненты как в Вариантах осуществления 1-3 имеют те же самые ссылочные позиции как в Вариантах осуществления 1-3, и не поясняются здесь.
Вариант осуществления 2 относился к устройству декодирования изображения, которое выбирает набор предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, который является заранее определенной единицей блока пикселей, из множества заранее определенных наборов предсказания, таким образом позволяя выполнить предсказания из большего количества различных углов, чем обычная методика. Настоящий вариант осуществления относится к устройству декодирования изображения, в котором множество наборов предсказания, в каждом из которых автоматически объединяются режимы предсказания, формируются в соответствии с закодированными данными, и набор предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, выбирается из множества наборов предсказания так, чтобы предсказания могли быть выполнены из дополнительного большего количества различных углов.
(Компоновка устройства 250 декодирования изображения)
Компоновка устройства 250 декодирования изображения согласно Варианту осуществления 4 поясняется ниже со ссылками на фиг. 26. Фиг. 26 - блок-схема, иллюстрирующая компоновку устройства 250 декодирования изображения.
Как показано на фиг. 26, устройство 250 декодирования изображения главным образом включает в себя секцию 205 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 210 интра-предсказания, секцию 52 формирования информации набора предсказания и секцию 54 формирования информации определения набора предсказания. Настоящий вариант осуществления только описывает секцию 205 статистического декодирования и секцию 54 формирования информации определения набора предсказания, которые не были описаны выше.
(Секция 205 статистического декодирования)
Секция 205 статистического декодирования имеет ту же самую функцию, что и секция 5 статистического декодирования в Варианте осуществления 2, и дополнительно имеет функцию выполнения статистического декодирования в отношении закодированных данных относительной информации определения набора предсказания и вывода относительной информации определения набора предсказания.
(Секция 54 формирования информации определения набора предсказания)
Секция 54 формирования информации определения набора предсказания формирует информацию определения набора предсказания из относительной информации определения набора предсказания, таким образом статистически декодированной, и информации определения набора предсказания, которая была уже декодирована. Эта компоновка и работа секции 54 формирования информации определения набора предсказания описаны ниже.
(Краткий обзор процесса декодирования изображения)
Ниже в общем описан процесс декодирования изображения в устройстве 250 декодирования изображения со ссылками на фиг. 27. Фиг. 27 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения в устройстве 250 декодирования изображения.
(Прием закодированных данных и формирование определения набора предсказания информация)
Когда устройство 250 декодирования изображения принимает закодированные данные целевого кадра, который должен быть декодирован, (этап S130), секция 205 статистического декодирования получает из принятых закодированных данных относительную информацию (относительную информацию определения набора предсказания) информации определения набора предсказания, указанной таблицей (Таблица 11) наборов предсказания и режимов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, и выполняет статистическое декодирование в отношении относительной информации определения набора предсказания, таким образом полученной (этап S131). Секция 54 формирования информации определения набора предсказания формирует информацию определения набора предсказания на основе статистически декодированной относительной информации определения набора предсказания и информации определения набора предсказания, которая была уже декодирована, и обновляет таблицу (Таблица 11) наборов предсказания и режимов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован. Затем секция 54 формирования информации определения набора предсказания выдает информацию определения набора предсказания, сформированную таким образом, к секции 210 интра-предсказания (этап S132).
Как секция 54 формирования информации определения набора предсказания выполняет процесс формирования информации определения набора предсказания, описано ниже более подробно.
(Формирование информации набора предсказания)
Секция 205 статистического декодирования выполняет статистическое декодирование в отношении относительной информации набора предсказания относительно набора предсказания, который должен быть применен к целевому изображению, которое должно быть декодировано (блок пикселей MxM, далее называемый «целевой блок, который должен быть декодирован») в принятом целевом кадре, который должен быть декодирован, (этап S133). Секция 52 формирования информации набора предсказания формирует информацию набора предсказания целевого блока, который должен быть декодирован, из относительной информации набора предсказания, таким образом статистически декодированной, и информации набора предсказания, которая была уже декодирована (этап S134). Формирование информации набора предсказания в секции 52 формирования информации набора предсказания является таким же, как в Варианте осуществления 1.
(Декодирование остаточных данных предсказания и информация режима предсказания)
Секция 205 статистического декодирования выполняет статистическое декодирование в отношении значения квантования остаточных данных предсказания и информации о режиме предсказания целевого субблока, который должен быть декодирован, (этап S135). Целевой субблок получается посредством разделения целевого блока на блоки заранее определенного размера (блок пикселей NxN).
(Генерирование предсказанного изображения)
Секция 210 интра-предсказания выполняет интра-предсказание посредством использования информации определения набора предсказания и локально декодированного изображения, сохраненного в памяти 9, смежных субблоков, которые были уже декодированы, чтобы сгенерировать предсказанное изображение (блок пикселей NxN) в соответствии с режимом предсказания, который должен быть применен к целевому субблоку (этап S136). Режим предсказания указан информацией набора предсказания и информацией режима предсказания.
(Обратное квантование и обратное ортогональное преобразование)
Секция 6 обратного квантования выполняет обратное квантование в отношении остаточных данных предсказания, декодированных на этапе S135, и выдает остаточные данные предсказания к секции 7 обратного ортогонального преобразования (этап S137). Секция 7 обратного ортогонального преобразования выполняет обратное ортогональное преобразование в отношении остаточных данных предсказания, таким образом обратно квантованных, и выдает остаточные данные предсказания к секции 8 вычисления суммы (этап S138).
(Генерирование декодированного изображения целевого субблока)
Секция 8 вычисления суммы суммирует предсказанное изображение, таким образом сгенерированное на этапе S136, с остаточными данными предсказания, таким образом выданные на этапе S138, и выдает декодированное изображение (блок пикселей NxN) целевого субблока (этап S139).
Память 9 принимает и сохраняет декодированное изображение целевого субблока (этап S140).
(Дополнительные замечания)
Устройство 250 декодирования изображения повторяет процессы от этапа S135 до этапа S140 относительно всех субблоков (блоки пикселей NxN), составляющих целевой блок (блок пикселей MxM), который должен быть декодирован. Дополнительно, устройство 250 декодирования изображения повторяет процессы от этапа S133 до этапа S140 относительно всех целевых блоков, которые должны быть декодированы, составляющих целевой кадр, который должен быть декодирован, и также повторяет процессы от этапа S130 до этапа S140 относительно всех кадров, составляющих целевое изображение, которое должно быть декодировано. Процессы от S135 до S140 выполняются для каждой единицы субблока блока пикселей NxN, но могут быть выполнены для каждой единицы блока пикселей MXM.
(Процесс формирования информации определения набора предсказания)
Ниже более подробно описано, как сформировать информацию определения набора предсказания. Секция 54 формирования информации определения набора предсказания формирует информацию определения набора предсказания из статистически декодированной относительной информации определения набора предсказания и информации определения набора предсказания, которая была уже декодирована.
(Компоновка секции 54 формирования информации определения набора предсказания)
Сначала поясняется компоновка секции 54 формирования информации определения набора предсказания со ссылками на фиг. 28. Фиг. 28 - блок-схема, иллюстрирующая компоновку секции 54 формирования информации определения набора предсказания. Секция 54 формирования информации определения набора предсказания включает в себя секцию 541 генерирования информации определения набора предсказания, секцию 532 предсказания информации определения набора предсказания и секцию 533 сохранения информации определения набора предсказания. Ниже описана секция 541 генерирования информации определения набора предсказания, которая еще не была описана.
(Секция 541 генерирования информации определения набора предсказания)
Секция 541 генерирования информации определения набора предсказания генерирует информацию определения набора предсказания на основе (a) относительной информации определения набора предсказания, статистически декодированной секцией 205 статистического декодирования, и (b) значений предсказания, определенных секцией 532 предсказания информации определения набора предсказания на основании информации определения набора предсказания, которая была уже декодирована. Секция 541 генерирования информации определения набора предсказания затем выдает информацию определения набора предсказания.
(Процесс генерирования информации определения набора предсказания)
Ниже описан процесс генерирования информации определения набора предсказания более подробно со ссылками на фиг. 29. Фиг. 29 - последовательность операций, конкретно иллюстрирующая процесс генерирования информации определения набора предсказания.
Секция 532 предсказания информации определения набора предсказания определяет значения предсказания в отношении способов предсказания, которые должны быть назначены на режимы предсказания во множестве наборов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, на основе информации определения набора предсказания, которая была декодирована и сохранена в секции 533 сохранения информации определения набора предсказания, и затем выдает значения предсказания, таким образом определенные (этап S150). Значения предсказания в отношении способов предсказания, которые должны быть назначены на режимы предсказания во множестве наборов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, определяются тем же самым способом как способ определения значений предсказания определений набора предсказания в устройстве 200 кодирования изображения в Варианте осуществления 3. Поэтому, то, как определить значения предсказания, здесь не поясняется. Секция 54 формирования информации определения набора предсказания принимает относительную информацию определения набора предсказания. Относительная информация определения набора предсказания, таким образом принятая, выдается к секции 541 генерирования информации определения набора предсказания (этап S151).
Секция 541 генерирования информации определения набора предсказания инициализирует счетчик set_idx, указывающий номер набора предсказания (set_idx=0) (этап S152), и также инициализирует счетчик mode_idx, указывающий номер режима предсказания (mode_idx=0) (этап S153). Затем, секция 541 генерирования информации определения набора предсказания проверяет значение probable_pred_method_flag [set_idx][mode_idx] указывающее, идентичен ли режим mode_idx предсказания в наборе set_idx предсказания с этим значением предсказания (этап S154).
Если значение probable_pred_method_flag [set_idx][mode_idx] равно “1” (Да на этапе S154), секция 541 генерирования информации определения набора предсказания устанавливает значение предсказания probable_pred_method [set_idx][mode_idx] как pred_method [set_idx][mode_idx] (этап S155). В этом случае, способ предсказания устанавливается таким образом, что pred_method [set_idx][mode_idx]=probable_pred_method [set_idx][mode_idx].
Если значение probable_pred_method_flag [set_idx][mode_idx] равно “0” (Нет на этапе S154), секция 541 генерирования информации определения набора предсказания устанавливает pred_method [set_idx][mode_idx] на основании rem_pred_method [set_idx][mode_idx] и значения предсказания probable_pred_method [set_idx][mode_idx] (этап S156). Более подробно, значение pred_method [set_idx][mode_idx] устанавливается в соответствии со следующими условиями (1) и (2): (1) если rem_pred_method [set_idx][mode_idx] меньше, чем probable_pred_method [set_idx][mode_idx], pred_method [set_idx][mode_idx] устанавливается таким образом, что pred_method [set_idx][mode_idx]=rem_pred_method [set_idx][mode_idx]; и (2) если rem_pred_method [set_idx][mode_idx] не меньше, чем probable_pred_method [set_idx][mode_idx], pred_method [set_idx][mode_idx] устанавливается таким образом, что pred_method [set_idx][mode_idx]=rem_pred_method [set_idx][mode_idx]+1.
Затем секция 541 генерирования информации определения набора предсказания выполняет приращение счетчика mode_idx на 1 (этап S157), и сравнивает значение счетчика mode_idx с числом total_mode режимов предсказания (этап S158).
Если счетчик mode_idx меньше, чем число total_mode режимов предсказания (Да на этапе S158), секция 541 генерирования информации определения набора предсказания повторяет процессы от этапа S154. Если счетчик mode_idx не меньше, чем число total_mode режимов предсказания (Нет на этапе S158), секция 541 генерирования информации определения набора предсказания увеличивает счетчик set_idx на 1 (этап S159), и сравнивает счетчик set_idx с числом total_set наборов предсказания (этап S160).
Если счетчик set_idx меньше, чем число total_set наборов предсказания (Да на этапе S160), секция 541 генерирования информации определения набора предсказания повторяет процессы от этапа S153. Если счетчик set_idx не меньше, чем число total_set наборов предсказания (Нет на этапе S160), информация определения набора предсказания prediction_method_data() сохраняется в секции 533 сохранения информации определения набора предсказания и затем выводится (этап S161).
В настоящем варианте осуществления единицей декодирования информации определения набора предсказания является единица-кадр. Однако единица декодирования не ограничивается этим. Например, макроблок, срез, картинка (кадр) или GOP (Группа изображений) могут также использоваться в качестве единицы декодирования информации определения набора предсказания. Если информация определения набора предсказания формируется для каждой единицы-среза, например, необходимо декодировать закодированные данные, относящиеся к информации определения набора предсказания в передней части среза. Единица декодирования может быть определена заранее между устройством кодирования изображения и устройством декодирования изображения, или может быть указана в передней части закодированных данных, изображения или заголовка GOP. Альтернативно, также возможно уведомить о единице декодирования посредством использования внешнего средства.
В Варианте осуществления 4 набор предсказания выбирается для каждой единицы-блока. Однако набор предсказания может быть выбран для каждой единицы- макроблока, для каждой заранее определенной единицы-блока, или подобного, и не ограничен конкретно единицей-блоком. Посредством установки единицы для выбора набора предсказания переменной возможно выбрать набор предсказания, более подходящий для характеристики изображения.
Дополнительно, в настоящем варианте осуществления закодированные данные относительной информации определения набора предсказания статистически декодируются. Однако вместо относительной информации определения набора предсказания закодированные данные информации определения набора предсказания могут быть статистически декодированы так, чтобы способы предсказания, которые должны быть назначены на соответствующие режимы предсказания во множестве наборов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, могли быть определены на основе информации определения набора предсказания, таким образом декодированной.
Кроме того, в устройстве 250 декодирования изображения способы предсказания выражаются иерархическим способом с информацией определения набора предсказания, информацией набора предсказания и информацией режима предсказания. В результате возможно выбрать способ предсказания более гибко, чем обычная методика. Это улучшает эффективность предсказания.
(Эффекты)
Как описано выше, устройство 250 декодирования изображения формирует информацию определения набора предсказания, указывающую способы предсказания, которые должны быть назначены на соответствующие режимы предсказания во множестве наборов предсказания, которые должны быть применены к целевому кадру, который должен быть декодирован, составляющему закодированные данные изображения, на основе относительной информации определения набора предсказания целевого кадра и информации определения набора предсказания, которая была уже декодирована. Дополнительно, устройство 250 декодирования изображения декодирует набор предсказания, который должен быть применен к каждому блоку (блоку пикселей MxM), составляющему целевой кадр, который должен быть декодирован. Кроме того, устройство 250 декодирования изображения выполняет интра-предсказание относительно каждого субблока (блок пикселей NxN), составляющего блок, чтобы сгенерировать предсказанное изображение субблока. Таким образом сгенерированное предсказанное изображение объединяется с декодированными остаточными данными предсказания субблока, таким образом восстанавливая изображение субблока.
В этой компоновке в случае, когда информация определения набора предсказания указывает определение набора предсказания, которое сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с горизонтальным направлением в качестве главного. Дополнительно, в случае, когда информация определения набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с вертикальным направлением в качестве главного. Эта компоновка позволяет устройству 250 декодирования изображения определять режимы предсказания в каждом из множества наборов предсказания в соответствии с изображением, и выполнять предсказание, оптимальное для ориентации края целевого блока, который должен быть декодирован, посредством использования соответствующего из режимов предсказания, таким образом определенных. В результате возможно дополнительно повысить эффективность предсказания по сравнению со случаем, когда используются заранее определенные наборы предсказания.
Кроме того, способы предсказания выражаются иерархическим способом посредством использования наборов предсказания и режимов предсказания, таким образом позволяя дополнительно повысить эффективность предсказания, не увеличивая объем кодирования.
[Вариант осуществления 5]
Другой вариант осуществления устройства кодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 5 со ссылками на фиг. 30-37. Те же самые составляющие компоненты как в Вариантах осуществления 1-4 имеют те же самые ссылочные позиции как в Вариантах осуществления 1-4 и не поясняются здесь. Вариант осуществления 1 относился к устройству кодирования изображения, в котором набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, выбирается для каждой единицы - блока пикселей - из множества заранее определенных наборов предсказания так, чтобы устройство кодирования изображения могло выполнить больше различных предсказаний, чем обычная методика. С другой стороны, Вариант осуществления 5 относится к устройству кодирования изображения, который имеет ту же самую функцию, что устройство кодирования изображения согласно Варианту осуществления 1, и который дополнительно оценивает режим предсказания, который должен быть применен к каждому субблоку (целевому субблоку) в целевом блоке, который должен быть закодирован, на основе (i) выбранного набора предсказания, (ii) флага, указывающего направление смежного субблока, который был уже закодирован и который используется для оценки режима предсказания целевого субблока, и (iii) позиции целевого субблока. Эта компоновка позволяет устройству кодирования изображения согласно Варианту осуществления 5 эффективно сокращать объем кодирования, необходимый для режима предсказания и дополнительно улучшать эффективность в кодировании.
(Компоновка устройства 500 кодирования изображения)
Компоновка устройства 500 кодирования изображения согласно настоящему варианту осуществления поясняется ниже со ссылками на фиг. 30. Фиг. 30 - блок-схема, иллюстрирующая компоновку устройства 500 кодирования изображения согласно настоящему варианту осуществления. Устройство 500 кодирования изображения включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 504 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 10 интра-предсказания, секцию 14 определения параметра кодирования, секцию 51 формирования относительной информации набора предсказания и секцию 61 формирования относительной информации режима предсказания. Ниже описаны секция 504 статистического кодирования, секция 61 формирования относительной информации режима предсказания и секция 14 определения параметра кодирования.
(Секция 14 определения параметра кодирования)
Секция 14 определения параметра кодирования определяет параметры кодирования (например: (a) набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован; (b) информация (опорный индекс комбинации направлений) о комбинации опорных субблоков, которые должны использоваться для оценки режима предсказания каждого субблока в целевом блоке, который должен быть закодирован; и (c) режим предсказания, который должен быть применен к каждому субблоку), на основании введенного первоначального изображения целевого блока, который должен быть закодирован, и локально декодированное изображение сохраняется в памяти 9. Секция 14 определения параметра кодирования выдает определенный набор интра-предсказания к секции 10 предсказания, секции 51 формирования относительной информации набора предсказания и секции 61 формирования относительной информации режима предсказания.
Дополнительно, секция 14 определения параметра кодирования выдает определенный опорный индекс комбинации направлений к секции 61 формирования относительной информации режима предсказания и секции 504 статистического кодирования. Кроме того, секция 14 определения параметра кодирования выдает определенный режим предсказания каждого субблока к секции 10 интра-предсказания и секции 61 формирования относительной информации режима предсказания.
(Секция 504 статистического кодирования)
Секция 504 статистического кодирования выполняет статистическое кодирование в отношении остаточных данных предсказания, относительной информации о режиме предсказания, относительной информации набора предсказания, и индекса комбинации опорных направлений, и выдает их кодированные данные.
В секции 504 статистического кодирования индекс комбинации опорных направлений статистически кодируется в код переменной длины посредством использования таблицы кода индекса комбинации опорных направлений, описанной ниже, с учетом смещения частоты появления комбинаций опорных направлений.
Более подробно, если возможные значения, которые может принимать индекс комбинации опорных направлений, находятся в диапазоне значений от 0 до 4 в таблице 1 комбинаций опорных направлений, показанной в Таблице 20, используется таблица кода индекса комбинации опорных направлений, показанных в Таблице 16. Дополнительно, если возможные значения, которые может принимать индекс комбинации опорных направлений, находятся в диапазоне значений от 0 до 1 в таблице 2 комбинаций опорных направлений, показанных в Таблице 21, используется таблица кода индекса комбинации опорных направлений, показанная в Таблице 17. Однако коды для индекса комбинации опорных направлений не ограничиваются таковыми в Таблице 16 и Таблице 17. Например, коды для индекса комбинации опорных направлений могут быть кодами Голомба (Golomb) или кодами с фиксированной длиной. Дополнительно, если арифметические коды могут использоваться в качестве кодов, таблица кодов индекса комбинации опорных направлений может использоваться как таблица преобразования для преобразования индекса в двоичное значение.
[Таблица 16]
Индекс комбинации опорных направлений
Код
0
1
1
000
2
001
3
010
4
011
[Таблица 17]
Индекс комбинации опорных направлений
Код
0
1
1
0
(Секция 61 формирования относительной информации режима предсказания)
Секция 61 формирования относительной информации режима предсказания формирует относительную информацию режима предсказания целевого блока на основании (i) информации набора предсказания, информации о режиме предсказания, и индекса комбинации опорных направлений, каждая принята от секции 14 определения параметра кодирования, и (ii) информации набора предсказания и информации режима предсказания, сохраненных в секции 61 формирования относительной информации режима предсказания, субблока, который является смежным с целевым субблоком и который был уже закодирован. Секция 61 формирования относительной информации режима предсказания затем выдает относительную информацию режима предсказания целевого блока.
Эта компоновка секции 61 формирования относительной информации режима предсказания поясняется ниже со ссылками на фиг. 31. Фиг. 31 - блок-схема, иллюстрирующая компоновку секции 61 формирования относительной информации режима предсказания.
Как показано на фиг. 31, секция 61 формирования относительной информации режима предсказания включает в себя секцию 611a сохранения, секцию 611b сохранения, секцию 612 определения опорного направления, секцию 613 оценки информации режима предсказания, и секцию 614 генерирования относительной информации режима предсказания. Каждый из составляющих элементов описан ниже.
(Секции 611a, 611b сохранения)
Секции 611a и 611b сохранения временно сохраняют входную информацию. Секция 611a сохранения принимает и затем хранит информацию режима предсказания целевого блока. Секция 611b сохранения хранит информацию набора предсказания целевого субблока. Информация режима предсказания и информация набора предсказания, таким образом сохраненные, используются для оценки информации режима предсказания последующего субблока, который должен быть закодирован после того, как закодирован целевой субблок.
(Секция 612 определения опорного направления)
Секция 612 определения опорного направления определяет согласно таблице комбинаций опорных направлений, показанных в Таблице 20, направление (опорное направление) закодированного смежного субблока (опорного субблока), на который ссылаются во время оценки информации режима предсказания целевого блока. Опорное направление определяется на основании информации набора предсказания, таким образом принятой, индекса комбинации опорных направлений, и позиции (внутренне подсчитанной) целевого субблока. Секция 612 определения опорного направления выдает опорное направление, определенное таким образом, к секции 613 оценки информации режима предсказания.
(Секция 613 оценки информации режима предсказания)
Секция 613 оценки информации режима предсказания определяет значение оценки информации режима предсказания, которая должна использоваться для целевого субблока, заранее определенным способом на основе (i) информации набора предсказания, таким образом принятой, (ii) опорного направления, определенного секцией 612 определения опорного направления, (iii) информации о режиме предсказания закодированного смежного субблока, сохраненной в секции 611a сохранения, и (iv) информации набора предсказания закодированного смежного субблока, сохраненного в секции 611b сохранения. Секция 613 оценки информации режима предсказания затем выдает значение оценки, определенное таким образом, к секции 614 генерирования относительной информации режима предсказания.
(Секция 614 генерирования относительной информации режима предсказания)
Секция 614 генерирования относительной информации режима предсказания генерирует относительную информацию (относительную информацию о режиме предсказания) режима предсказания целевого субблока в отношении значения оценки, на основании информации режима предсказания, таким образом принятой, и значения оценки probable_mode информации режима предсказания, причем значение оценки определяется секцией 613 оценки информации режима предсказания. Секция 614 генерирования относительной информации режима предсказания затем выдает относительную информацию режима предсказания, таким образом сгенерированную, к секции 504 статистического кодирования.
Структура данных относительной информации режима предсказания relative_mode_data() показана в Таблице 18. В Таблице 18 probable_mode_flag в relative_mode_data() – это флаг, указывающий, идентичен ли режим предсказания, который должен быть применен к целевому субблоку, со значением оценки, определенным секцией 613 оценки информации режима предсказания. Если значение probable_mode_flag равно “1”, режим предсказания, который должен быть применен к целевому субблоку, идентичен значению оценки. Если значение probable_mode_flag равно “0”, режим предсказания, который должен быть применен к целевому субблоку, отличается от значения оценки. В случае, когда значение probable_mode_flag равно “0”, относительная информация режима предсказания дополнительно включает в себя информацию rem_mode, указывающую, какой из режимов предсказания в наборе предсказания целевого субблока, за исключением режима предсказания, указанного значением оценки, соответствует режиму предсказания, который должен быть применен к целевому субблоку. Относительная информация режима предсказания может быть разностью между значением оценки и значением режима предсказания, который должен быть применен к целевому субблоку.
[Таблица 18]
Параметр
Подробности
relative_mode_data (){
Относительная информация режима предсказания
probable_mode_flag
Флаг, указывающий идентичен ли определенный режим предсказания значению оценки режима предсказания
if(probable_mode_flag!=1){
Если определенный режим предсказания отличен от значения оценки режима предсказания, добавить следующую информацию
rem_mode
Указывает, какой из режимов предсказания, за исключением значения оценки режима предсказания, соответствует определенному режиму предсказания
}
(Краткий обзор процесса кодирования изображения)
Ниже в общем описан процесс кодирования изображения в устройстве 500 кодирования изображения со ссылками на фиг. 32. Фиг. 32 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения в устройстве 500 кодирования изображения.
Сначала устройство 500 кодирования изображения принимает целевой блок, который должен быть закодирован (блок пикселей MxM) (этап S170).
Секция 14 определения параметра кодирования определяет параметры кодирования (набор предсказания, индекс комбинации опорных направлений, и режимы предсказания всех субблоков) посредством использования способа оптимизации искажения «цены» на основе первоначального изображения целевого блока, который должен быть закодирован, и локально декодированное изображение сохраняется в памяти 9 (этап S171). Определенный набор предсказания выдается к секции 10 интра-предсказания, секции 51 формирования относительной информации набора предсказания, и секции 61 формирования относительной информации режима предсказания. Определенный индекс комбинации опорных направлений выдается к секции 61 формирования относительной информации режима предсказания и секции 504 статистического кодирования. Определенные части информации режима предсказания всех субблоков подаются к секции 10 интра-предсказания и секции 61 формирования относительной информации режима предсказания.
Затем секция 51 формирования относительной информации набора предсказания формирует относительную информацию набора предсказания на основании набора предсказания, который был уже закодирован, и информации набора предсказания, определенной на этапе S171, и выдает относительную информацию набора предсказания к секции 504 статистического кодирования (этап S172).
Секция 504 статистического кодирования выполняет статистическое кодирование в отношении относительной информации набора предсказания, сформированной на этапе S172, и индекса комбинации опорных направлений, определенного на этапе S171, и выдает закодированные данные (этап S173).
Секция 61 формирования относительной информации набора предсказания формирует относительную информацию режима предсказания для целевого субблока, который должен быть закодирован, на основании (i) информации набора предсказания, индекса комбинации опорных направлений и информации режима предсказания для целевого субблока, который должен быть закодирован, где каждая принята от секции 14 определения параметра кодирования, и (ii) информации набора предсказания и информации режима предсказания опорного субблока. Секция 61 формирования относительной информации режима предсказания затем выдает относительную информацию режима предсказания (этап S174).
Секция 504 статистического кодирования выполняет статистическое кодирование в отношении относительной информации режима предсказания, таким образом сформированной, и выдает закодированные данные (этап S175).
Секция 10 интра-предсказания выполняет интра-предсказание, определенное набором предсказания и режимом предсказания, причем каждое определено на этапе S171, посредством использования локально декодированного изображения, принятого из памяти 9, смежных субблоков, которые были уже закодированы, и генерирует предсказанное изображение целевого субблока, который должен быть закодирован (этап S176). Сгенерированное предсказанное изображение целевого субблока, который должен быть закодирован, выдается на секцию 1 вычисления разности и секцию 8 вычисления суммы.
Секция 1 вычисления разности вычисляет остаточные данные предсказания целевого субблока, который должен быть закодирован, который является разностью между первоначальным изображением целевого субблока, который должен быть закодирован, и предсказанным изображением, сгенерированным на этапе S176, и выдает остаточные данные предсказания (этап S177).
Остаточные данные предсказания, таким образом вычисленные на этапе S177, выдаются к секции 2 ортогонального преобразования и затем - секции 3 квантования, чтобы быть подвергнутым ортогональному преобразованию и квантованию, соответственно. Остаточные данные предсказания затем выдаются на секцию 504 статистического кодирования и секцию 6 обратного квантования (этап S178).
Остаточные данные предсказания, таким образом подвергнутые ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем к секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секции 8 вычисления суммы (этап S179).
Секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S179, с предсказанным изображением, сгенерированным на этапе S176, чтобы сгенерировать локально декодированное изображение целевого субблока, который должен быть закодирован (этап S180). Локально декодированное изображение, таким образом сгенерированное, затем сохраняется в памяти 9.
Секция 504 статистического кодирования выполняет статистическое кодирование в отношении квантованных остаточных данных предсказания целевого субблока и выдает закодированные данные остаточных данных предсказания (этап S181).
Процессы от этапа S174 до этапа S181 выполняются относительно всех субблоков, составляющих целевой блок, который должен быть закодирован. Дополнительно, процессы от этапа S170 до этапа S181 выполняются относительно всех блоков, составляющих целевое изображение, которое должно быть закодировано.
В настоящем варианте осуществления процесс кодирования в устройстве 500 кодирования изображения поясняется последовательно в порядке от этапа S170 до этапа S181. Однако, порядок процесса кодирования не ограничивается этим, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Как определить опорное направление)
Ниже поясняется, как определить опорное направление. Сначала нижеследующее представляет пояснение о группе субблоков, опорном направлении, индексе комбинации опорных направлений, и таблице комбинаций опорных направлений.
Группа субблоков поясняется ниже со ссылками на Фиг. 33(a) и (b). Фиг. 33(a) и (b) - представления, иллюстрирующие группу(ы) субблоков. Фиг. 33(a) иллюстрирует группы субблоков, если размер М целевого блока и размер N субблока таков что N=M/4. Фиг. 33(b) иллюстрирует группу субблоков, если размер М целевого блока и размер N субблока таков что N=M/2.
Группа B1 субблоков на Фиг. 33(a) – является группой, включающей в себя 4 субблока a, b, c и d. Точно так же группа B2 субблоков - является группой, включающей в себя 4 субблока e, f, г и h, группа B3 субблоков - является группой, включающей в себя 4 субблока i, j, k и l, и группа B4 субблоков - является группой, включающей в себя 4 субблока m, n, o и p. Группа B1 субблоков на Фиг. 33(b) является группой, включающей в себя субблоки a-d. Комбинация субблоков, включенных в группу субблоков, не ограничивается ими.
“Опорное направление” является общей относительной позицией (позицией опорного субблока) закодированного субблока, на который ссылаются во время оценки режима предсказания субблока, включенного в группу субблоков. Например, опорное направление “0” указывает, что опорный субблок является закодированным субблоком, который расположен слева от целевого субблока. Дополнительно, опорное направление “1” указывает, что опорный субблок является закодированным субблоком, который расположен сверху от целевого субблока. Значение, указанное опорным направлением, не ограничивается двоичным значением. Как показано в Таблице 19, например, опорное направление “2” может указать закодированный смежный субблок, который расположен сверху слева от целевого субблока, и опорное направление “3” может указать закодированный смежный субблок, который расположен сверху справа от целевого субблока. Корреляции между значениями опорных направлений и позициями опорных субблоков не ограничиваются показанными в Таблице 19.
[Таблица 19]
Опорное направление
Позиция опорного субблока
0
Слева
1
Сверху
2
Слева сверху
3
Справа сверху
“Индекс комбинации опорных направлений” является индексом, назначенным комбинации опорных направлений групп субблоков B1-B4.
“Таблица комбинаций опорных направлений” является таблицей, в которой заранее определяется отношение соответствия между индексом комбинации опорных направлений и опорными направлениями соответствующих групп опорных субблоков. Таблица комбинаций опорных направлений, используемая для определения опорного направления, изменяется в зависимости от размера целевого субблока. Ниже это описано более подробно.
(1) В то время, когда размер субблока равен N=M/4
Таблица 20 показывает пример используемой таблицы комбинации опорных направлений в то время, когда размер субблока равен N=M/4. Флаг набора предсказания в Таблице 20 таков что: для флага набора предсказания, равного “0”, информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении; и для флага набора предсказания, равного “1”, информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении. Дополнительно, Фиг. 34 иллюстрирует направления опорных субблоков в случае, когда флаг набора предсказания установлен в “0” и индекс комбинации опорных направлений равен “2” в Таблице 20. На фиг. 34 опорные направления в группах B1, B2, и B4 субблоков равны “0”, и поэтому каждый субблок в каждой из групп субблоков ссылается на кодированный субблок слева от него в качестве опорного субблока (стрелка вправо на фиг. 34). С другой стороны, опорное направление в группе B3 субблоков равно “1”, и поэтому каждый субблок в группе B3 субблоков ссылается на кодированный субблок сверху от него в качестве опорного субблока (стрелка "вниз" на фиг. 34). Отношение соответствия между индексом комбинации опорных направлений и опорными направлениями в соответствующих группах субблоков изменяется в зависимости от того, какому направлению флаг набора предсказания дает большой вес, горизонтальное направление или вертикальное направление.
[Таблица 20]
<img file="00000028.TIF" he="69" wi="133" img-content="undefined" img-format="TIF" />
(2) В то время, когда размер субблока равен N=M/2
В случае, когда размер субблока равен N=M/2, таблица комбинаций опорных направлений, показанная в Таблице 21, используется независимо от информации набора предсказания.
[Таблица 21]
<img file="00000029.TIF" he="25" wi="68" img-content="undefined" img-format="TIF" />
Как описано выше, в случае, когда размер целевого субблока равен N=M/4, секция 612 определения опорного направления получает опорное направление группы субблоков Bi из Таблицы 20 на основании принятой информации набора предсказания, принятого индекса комбинации опорных направлений и позиции целевого субблока (указывающего, какой группе Bi субблоков принадлежит целевой субблок), и затем выдает опорное направление, таким образом полученное.
Дополнительно, в случае, когда размер целевого субблока равен N=M/2, секция 612 определения опорного направления получает опорное направление группы B1 субблоков на основании принятого индекса комбинации опорных направлений и выдает опорное направление, таким образом полученное.
(Как определить значение оценки для информации режима предсказания)
Ниже поясняется, как секция 613 оценки информации режима предсказания определяет значение оценки информации режима предсказания. В настоящем варианте осуществления позиционное соотношение, указанное опорным направлением, между целевым субблоком P, который должен быть закодирован, и опорным субблоком Q, является одним из случаев, показанных на Фиг. 35(a) или (b), например. Фиг. 35(a) иллюстрирует позиционное соотношение между целевым субблоком, который должен быть закодирован (P на чертеже) и опорным субблоком (Q на чертеже), где опорное направление равно “0”. Фиг. 35(b) иллюстрирует позиционное соотношение между целевым субблоком P, который должен быть закодирован, и опорным субблоком Q, где опорное направление равно “1”.
Секция 613 оценки информации режима предсказания получает, на основании опорного направления, информацию режима предсказания и информацию набора предсказания опорного субблока Q, соответственно от секции 611a сохранения и секции 611b сохранения.
Затем секция 613 оценки информации режима предсказания оценивает режим предсказания в соответствии с набором предсказания целевого субблока P, подлежащего кодированию, и набором предсказания опорного субблока Q, в соответствии с любым из следующих 2 способов.
(1) Если набор предсказания целевого субблока P идентичен с набором предсказания опорного субблока Q, значение режима предсказания опорного субблока Q устанавливается в качестве значения оценки режима предсказания для целевого субблока P. Однако, если информация режима предсказания опорного субблока Q не может быть получена, значение заранее определенного режима набора предсказания устанавливается в качестве значения оценки режима предсказания.
(2) Если набор предсказания целевого субблока P отличается от набора предсказания опорного субблока Q, определяют, какой режим предсказания в наборе предсказания целевого субблока P соответствует режиму предсказания опорного субблока Q, посредством обращения к таблице соответствия режимов предсказания, которая описана ниже. Режим предсказания, таким образом найденный, устанавливается в качестве значения оценки режима предсказания для целевого субблока P. Однако, если информация режима предсказания или информация набора предсказания опорного субблока Q не может быть получена из секции 611a или 611b сохранения, заранее определенный режим набора предсказания устанавливается в качестве значения оценки. Такой случай, когда информация режима предсказания или информация набора предсказания опорного субблока Q не могут быть получены, указывает, например, случай, когда целевой субблок P расположен в конце целевого изображения, которое должно быть закодировано, и опорного субблока Q нет.
Таблица 22 является примером таблицы соответствия режимов предсказания, где набор предсказания опорного субблока Q является набором предсказания 1 в Таблице 2, и набор предсказания целевого субблока P является набором предсказания 0 в Таблице 2.
[Таблица 22]
набор предсказания опорного субблокаQ=1
набор предсказания опорного субблока P =2
Режим предсказания
0
0
1
1
2
2
3
8
4
6
5
4
6
1
7
3
8
1
В таблице соответствия режимов предсказания предпочтительно установить заранее (a) значения x режимов предсказания в наборе предсказания X, примененного к опорному субблоку Q, и (b), значения y режимов предсказания в наборе предсказания Y, которые должны быть применены к целевому субблоку P таким образом, что режим предсказания y, который идентичен с режимом предсказания x (то есть, является тем же самым способом предсказания) или наиболее приближенным к режиму предсказания x (то есть, абсолютная величина разности между их направлениями предсказания является наименьшей) устанавливается в качестве соответствующего значения в режим предсказания x. Для режима 0 предсказания в наборе предсказания 1 и режима 0 предсказания в наборе предсказания 2 в Таблице 2, например, их направления предсказания равны -90 [градусов]. Поэтому, режим 0 предсказания в наборе предсказания 2 устанавливается в строке режима 0 предсказания в наборе предсказания 1 в Таблице 22. Дополнительно, для режима 2 предсказания в наборе предсказания 1 и режима 2 предсказания в наборе предсказания 2 в Таблице 2, их направления предсказания являются DC предсказанием. Поэтому, режим 2 предсказания в наборе предсказания 2 устанавливается в строке режима 2 предсказания в наборе предсказания 1 в Таблице 22. Кроме того, в случае режима 3 предсказания (направление предсказания: -30 [градусов]) в наборе предсказания 1, находят, какой режим предсказания в наборе предсказания 2 является идентичным или приближенным к режиму 3 предсказания в наборе предсказания 1. В этом случае режим 8 предсказания (направление предсказания: -30 [градусов]) в наборе предсказания 2 является наиболее приближенным к режиму 3 предсказания в наборе предсказания 1 (абсолютная величина разности между их направлениями предсказания равна 0 [градусов], которая является наименьшей). Соответственно, режим 8 предсказания в наборе предсказания 2 устанавливается в строке режима 3 предсказания в наборе предсказания 1 в Таблице 22.
Если есть по меньшей мере 2 режима предсказания y, идентичные или приближенные к целевому режиму предсказания x в наборе предсказания X, среди режимов предсказания y в наборе предсказания Y, устанавливается режим предсказания y, имеющий меньшее значение. Например, предположим случай обнаружения режима предсказания в наборе предсказания 2, идентичного или приближенного к режиму 6 предсказания (направление предсказания: 15 [градусов]) в наборе предсказания 1. В этом случае имеются 2 приближенных режима предсказания в наборе предсказания 2, режим 1 предсказания (направление предсказания: 0 [градусов]) и режим 6 предсказания (направление предсказания 30 [градусов]). В этом случае предпочтительно, чтобы режим предсказания, имеющий меньшее значение между 2 режимами предсказания, то есть, режим 1 набора предсказания, устанавливался в строке режима 6 предсказания в наборе предсказания 1 в Таблице 22.
Ниже описано, как определить значение оценки режима предсказания для целевого субблока с использованием Таблицы 22, более подробно. В нижеследующем пояснении набор предсказания опорного субблока Q равен 1, и набор предсказания целевого субблока P равен 2. Если режим предсказания опорного субблока Q равен “0”, значение оценки режима предсказания для целевого субблока P устанавливается в “0”, согласно Таблице 22. Дополнительно, если режим предсказания опорного субблока Q равен “6”, значение оценки режима предсказания для целевого субблока P устанавливается в “1”, согласно Таблице 22.
Даже если набор предсказания целевого субблока P отличается от набора предсказания опорного субблока Q, когда используется вышеупомянутая таблица соответствия режима предсказания, режим предсказания опорного субблока преобразуется в самый приближенный режим предсказания в наборе предсказания целевого субблока P, таким образом позволяя улучшить точность значения оценки режима предсказания для целевого субблока P.
(Подробности процесса формирования относительной информации режима предсказания)
Ниже описан процесс формирования относительной информации режима предсказания со ссылками на фиг. 36. Фиг. 36 - последовательность операций, конкретно иллюстрирующая процесс формирования относительной информации режима предсказания.
Сначала секции 611a и 611b сохранения соответственно сохраняют информацию набора предсказания и информацию режима предсказания (этап S190). Секция 612 определения опорного направления определяет опорное направление опорного субблока, это опорное направление используется во время оценки информации режима предсказания целевого блока, согласно таблице комбинаций опорных направлений, на основании информации набора предсказания, таким образом принятой, индекса комбинации опорных направлений и позиции целевого субблока. Секция 612 определения опорного направления выдает определенное опорное направление к секции 613 оценки информации режима предсказания (этап S191).
Секция 613 оценки информации режима предсказания получает: (i) от секции 611a сохранения информацию режима предсказания закодированного смежного субблока (опорный субблок), который указан определенным опорным направлением, таким образом принятым; и (ii) от секции 611b сохранения информацию набора предсказания закодированного смежного субблока (этап S192). Секция 613 оценки информации режима предсказания затем определяет значение оценки информации режима предсказания для целевого субблока согласно таблице соответствия режимов предсказания на основании полученной информации режима предсказания и информации набора предсказания опорного субблока, и информации набора предсказания целевого субблока. Затем секция 613 оценки информации режима предсказания выдает определенное значение оценки к секции 614 генерирования относительной информации режима предсказания (этап S193).
Секция 614 генерирования относительной информации режима предсказания генерирует относительную информацию режима предсказания целевого блока на основании информации режима предсказания целевого блока и значения оценки информации режима предсказания, и выдает относительную информацию режима предсказания (этап S194).
(Подробности процесса определения параметров кодирования)
Ниже описано, как секция 14 определения параметра кодирования определяет параметры кодирования (s, p, M). Перед пояснением того, как определить параметры кодирования, ниже описаны термины для использования в определении параметров кодирования.
s: Набор предсказания
p: Индекс комбинации опорных направлений
bk: Субблок
m (bk): Режим предсказания в субблоке bk
M: Режимы предсказания всех субблоков, включенных в целевой блок, который должен быть закодирован
M=(m(0), m(1), …, m(bk), …)
W: Целевой блок, который должен быть закодирован
J(s, p, M): Стоимость кодирования, на основании способа оптимизации искажения «цены»
Jmin: Минимальное значение стоимости кодирования
sbest: Набор предсказания, используемый для кодирования
pbest: Индекс комбинации опорных направлений, используемый для кодирования
mbest (bk): Режим предсказания, используемый для кодирования субблока bk
Mbest: Режимы предсказания, используемые для всех субблоков, включенных в целевой блок, который должен быть закодирован
Mbest = (mbest (0), mbest (1), …, mbest (bk), …)
Rs(s): Объем кодирования, необходимый для кодирования набора s предсказания
Rp(p): Объем кодирования, необходимый для кодирования индекса p комбинации опорных направлений
Rm(s, p, m(bk)): Объем кодирования, необходимый для кодирования режима предсказания m (bk), который должен быть применен к субблоку bk, где применяются набор предсказания s и индекс p комбинации опорных направлений
Rd(s, p, m(bk)): Объем кодирования остаточных данных предсказания, необходимых для кодирования субблока bk посредством использования набора предсказания s, индекса p комбинации опорных направлений, и режима предсказания m(bk)
Dd (s, p, m(bk)): Искажение сигнала, вызванное, когда субблок bk закодирован посредством использования набора предсказания s, индекса p комбинации опорных направлений и режима предсказания m(bk)
λs: Множитель Лагранжа, связанный с набором предсказания s
λp: Множитель Лагранжа, связанный с индексом комбинации опорных направлений p
λm: Множитель Лагранжа, связанный с режимом предсказания m(bk)
λd: Множитель Лагранжа, связанный с искажением сигнала
Когда каждый из параметров определен, стоимость кодирования J(s, p, M), представленная следующим уравнением (30), вычисляется относительно всех комбинаций наборов предсказания s, индексов p комбинаций опорных направлений, и режимов предсказания M=(m(0), m(1), …, m(bk), …) всех субблоков, включенных в целевой блок, который должен быть закодирован. Параметры (sbest, pbest, Mbest), которые минимизируют стоимость кодирования J(s, p, M), определяются как параметры, используемые для кодирования целевого блока.
Для вычисления стоимости кодирования J(s, p, M) необходимо вычислить объем кодирования каждого параметра, и объем кодирования и искажение сигнала субблока bk. В этой связи секция 14 определения параметра кодирования включает в себя функциональные блоки, которые соответственно соответствуют секции 1 вычисления разности, секции 2 ортогонального преобразования, секции 3 квантования, секции 504 статистического кодирования, секции 6 обратного квантования, секции 7 обратного ортогонального преобразования, секции 8 вычисления суммы, памяти 9, секции 10 интра-предсказания, секции 51 формирования относительной информации набора предсказания и секции 61 формирования относительной информации режима предсказания, хотя эти функциональные блоки не показаны.
Матем. 16
Процесс определения параметров кодирования (s, p, M) описывается ниже со ссылками на фиг. 37. Фиг. 37 - последовательность операций, показывающая, как секция 41 определения параметра кодирования определяет параметры кодирования (s, p, M).
Сначала секция 14 определения параметра кодирования инициализирует минимальное значение Jmin стоимости кодирования достаточно большим значением. Дополнительно, секция 14 определения параметра кодирования устанавливает заранее определенные начальные значения, чтобы закодировать параметры (s, p, M) (этап S200). Секция 14 определения параметра кодирования вычисляет стоимость кодирования J(s, p, M) для случая кодирования всех субблоков, включенных в целевой блок W, с комбинацией режимов M предсказания посредством использования набора s предсказания и индекса p комбинации направлений предсказания (этап S201).
Затем минимальное значение Jmin стоимости кодирования и параметры кодирования (sbest, pbest, Mbest) при минимальном значении Jmin обновляются, и затем обновляются параметры кодирования (s, p, M).
Более подробно, в случае J(s, p, M) <Jmin, минимальное значение Jmin стоимости кодирования устанавливается в J(s, p, M). Дополнительно, значения (s, p, M) в этот момент устанавливаются как значения параметров кодирования (sbest, pbest, Mbest). В случае J(s, p, M)≥Jmin, Jmin и параметры кодирования (sbest, pbset, Mbest) не обновляются. Дополнительно, комбинация параметров кодирования для вычисления последующей стоимости кодирования устанавливается в (s, p, M) (этап S202).
Затем определяется, были ли процессы от этапа S201 до этапа S202 выполнены в отношении всех параметров кодирования (s, p, M). Если стоимость кодирования была вычислена в отношении всех комбинаций параметров кодирования (s, p, M) (Да на этапе S203), выполняется этап S204. Если есть комбинация параметров кодирования (s, p, M), для которой еще не была вычислена стоимость кодирования, процессы от этапа S201 выполняются относительно этой комбинации. Таким образом, процессы этапов S201 и S202 неоднократно выполняются в отношении всех комбинаций s наборов предсказания, p индексов комбинаций опорных направлений, и M режимов предсказания всех субблоков, включенных в целевой блок, который должен быть закодирован.
Параметры кодирования (sbest, pbest, Mbest), которые дают минимальное значение Jmin среди стоимостей кодирования, полученных посредством процессов от этапа S201 до этапа S203, определяются как параметры для использования в кодировании (этапа S204). Набор предсказания sbest, таким образом определенный, выдается к секции 10 интра-предсказания, секции 51 формирования относительной информации набора предсказания и секции 61 формирования относительной информации режима предсказания. Дополнительно, индекс pbest комбинаций опорных направлений, таким образом определенный, выдается к секции 61 формирования относительной информации режима предсказания и секции 504 статистического кодирования. Дополнительно, определенные режимы Mbest предсказания всех субблоков, включенных в целевой блок, который должен быть закодирован, подаются к секции 10 интра-предсказания и секции 61 формирования относительной информации режима предсказания.
(Дополнительные замечания)
Настоящий вариант осуществления описан со ссылками на Таблицу 20 в качестве примера таблицы комбинаций опорных направлений, где размер субблока равен N=M/4 в секции 613 определения опорного направления. Однако, таблица комбинаций опорных направлений не ограничивается этим. Например, Таблица 23 может использоваться вместо Таблицы 20. Для Таблицы 23 предпочтительно, чтобы секция 504 статистического кодирования использовала таблицу кода индекса комбинации опорных направлений, показанную в Таблице 24. Дополнительно, настоящий вариант осуществления использует таблицу комбинаций опорных направлений, в которой отношение соответствия между индексом комбинаций опорных направлений и соответствующими опорными направлениями групп субблоков отличается, в зависимости от того, какому направлению информация набора предсказания дает большой вес - горизонтальному направлению или вертикальному направлению. Однако, таблицы комбинаций опорных направлений, показанные в Таблицах 25 и 26, могут также использоваться независимо от информации набора предсказания. Для Таблицы 25 предпочтительно, чтобы секция 504 статистического кодирования использовала таблицу кода индекса комбинации опорных направлений, показанную в Таблице 27. Дополнительно, для Таблицы 26, предпочтительно, чтобы секция 504 статистического кодирования использовала таблицу кода индекса комбинации опорных направлений, показанную в Таблице 28.
[Таблица 23]
Флаг набора предсказания
Индекс комбинации опорных направлений
Опорное направление
В1
В2
В3
В4
0(В основном горизонтальное направление)
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
1
0
0
4
1
0
0
0
5
0
0
1
1
6
0
1
1
0
7
1
1
0
0
8
1
0
0
1
1(В основном вертикальное направление)
0
1
1
1
1
1
1
1
1
0
2
1
1
0
1
3
1
0
1
1
4
0
1
1
1
5
0
0
1
1
6
0
1
1
0
7
1
1
0
0
8
1
0
0
1
[Таблица 24]
Индекс комбинации опорных направлений
Код
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
[Таблица 25]
Индекс комбинации опорных направлений
Опорное направление
В1
В2
В3
В4
0
0
0
0
0
1
1
1
1
1
2
0
0
1
1
3
0
1
1
0
4
1
1
0
0
5
1
0
0
1
[Таблица 26]
Индекс комбинации опорных направлений
Опорное направление
В1
В2
В3
В4
0
0
0
0
0
1
1
1
1
1
2
0
0
1
1
3
0
1
1
0
4
1
1
0
0
5
1
0
0
1
6
0
0
0
1
7
1
1
1
0
8
0
0
1
0
9
1
1
0
1
10
0
1
0
0
11
1
0
1
1
12
1
0
0
0
13
0
1
1
1
[Таблица 27]
Индекс комбинации опорных направлений
Код
0
10
1
11
2
000
3
001
4
010
5
011
[Таблица 28]
Индекс комбинации опорных направлений
Код
0
110
1
111
2
0100
3
0101
4
0110
5
0111
6
00000
7
00001
8
00010
9
00011
10
00100
11
00101
12
00110
13
00111
В настоящем варианте осуществления единицей кодирования набора предсказания и индекса комбинации опорных направлений является блок пикселей MxM. Однако, единица кодирования не ограничивается этим. Например, единица кодирования набора предсказания может быть макроблоком, срезом, картинкой (кадром или GOP (группой изображений). В случае, когда набор предсказания и комбинация опорных направлений изменяются для каждого среза-единицы, необходимо закодировать информацию относительно выбранного набора предсказания в передней части среза. Единицы кодирования набора предсказания и индекса комбинации опорных направлений могут быть заранее определены между устройством кодирования изображения и устройством декодирования изображения, или могут быть указаны в передней части закодированных данных, изображения или заголовка GOP. Альтернативно, также возможно уведомить о единице кодирования посредством использования внешнего средства, а не посредством устройства кодирования изображения и устройства декодирования изображения.
(Эффекты)
Как описано выше, устройство 500 кодирования изображения определяет на основании стоимости кодирования и для каждого блока, составляющего изображение, (i) набор предсказания, который должен быть применен к целевому блоку, (ii) опорное направление, в котором расположен закодированный смежный субблок и который обычно используется для оценки режима предсказания в группе субблоков, включающей в себя заранее определенное количество субблоков, в целевом блоке, и (iii) все режимы предсказания субблоков в целевом блоке. Дополнительно, устройство 500 кодирования изображения оценивает режим предсказания для каждого целевого субблока, составляющего целевой блок, на основании (a) определенного набора предсказания, (b) определенного опорного направления, (c) режима предсказания и набора предсказания закодированного субблока, смежного с целевым субблоком, и (d) позиции целевого субблока, и затем кодирует режим предсказания на основе этой оценки. Эта компоновка позволяет устройству 500 кодирования изображения выбирать опорный субблок, который должен использоваться для оценки режима предсказания целевого субблока, таким образом приводя к тому, что точность в оценке режима предсказания повышается, объем кодирования, необходимого для режима предсказания, эффективно уменьшается, и, дополнительно, эффективность кодирования улучшается. Кроме того, в случае, когда набор предсказания, который должен быть применен к целевому субблоку, отличается от набора предсказания, примененного к опорному субблоку, который должен использоваться для оценки режима предсказания, устройство 500 кодирования изображения использует вышеупомянутую таблицу соответствия режимов предсказания, так чтобы режим предсказания, примененный к опорному субблоку, преобразовывался в наиболее приближенный режим предсказания в наборе предсказания, который должен быть применен к целевому субблоку. В результате точность оценки режима предсказания для целевого субблока может быть улучшена, объем кодирования, необходимого для режима предсказания, может быть эффективно уменьшен, и дополнительно, эффективность кодирования может быть улучшена. Дополнительно, устройство 500 кодирования изображения использует кодирование с переменной длиной в отношении информации (индекс комбинации опорных направлений), указывающей комбинации опорных направлений, используемых для оценки режима предсказания, согласно смещению частоты появления. Это позволяет ограничить увеличение объема кодирования, необходимого для индекса комбинации опорных направлений.
[Вариант осуществления 6]
Другой вариант осуществления устройства декодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 6 со ссылками на фиг. 38-41. Те же самые составляющие компоненты как в Вариантах осуществления 1-5 имеют те же самые ссылочные позиции как в Вариантах осуществления 1-5, и поэтому не поясняются здесь.
(Компоновка устройства 550 декодирования изображения)
Компоновка устройства 550 декодирования изображения согласно Варианту осуществления 6 поясняется ниже со ссылками на фиг. 38. Фиг. 38 - блок-схема, иллюстрирующая компоновку устройства 550 декодирования изображения.
Как показано на фиг. 38, устройство декодирования изображения главным образом включает в себя секцию 505 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 10 интра-предсказания, секцию 52 формирования информации набора предсказания, и секцию 62 формирования информации режима предсказания. Настоящий вариант осуществления относится только к секции 505 статистического декодирования и секции 62 формирования информации режима предсказания, которые еще не были описаны.
(Секция 505 статистического декодирования)
Секция 505 статистического декодирования выполняет процесс, обратный процессу, выполняемому секцией 504 статистического кодирования. Более подробно, секция 505 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных остаточных данных предсказания, относительной информации режима предсказания, индекса комбинации опорных направлений, относительной информации набора предсказания и т.п. информации, и затем выдает декодированные данные их.
Секция 505 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных (кода) индекса комбинации опорных направлений в индекс комбинации опорных направлений, соответствующий этому коду, посредством обращения к таблице кода индекса комбинации опорных направлений. Индекс комбинации опорных направлений, таким образом декодированный, выдается к секции 62 формирования информации режима предсказания. В это время предпочтительно использовать ту же самую таблицу кода индекса комбинации опорных направлений, которая была использована в устройстве 500 кодирования изображения. Дополнительно, совместно используемая таблица кода индекса комбинации опорных направлений может быть заранее определена между устройством 500 кодирования изображения в Варианте осуществления 5 и устройством 550 декодирования изображения в настоящем варианте осуществления, или может быть указана посредством использования внешнего средства уведомления.
(Секция 62 формирования информации режима предсказания)
Секция 62 формирования информации режима предсказания выполняет процесс, обратный процессу, выполняемому секцией 61 формирования относительной информации режима предсказания. Более подробно, секция 62 формирования информации режима предсказания формирует информацию режима предсказания целевого субблока на основе информации набора предсказания, восстановленной секцией 62 формирования информации набора предсказания, статистически декодированной относительной информации режима предсказания и статистически декодированной комбинации опорных направлений, и декодированной информации набора предсказания и декодированной информации режима предсказания смежного субблока. Секция 62 формирования информации режима предсказания затем выдает информацию режима предсказания, сформированную таким образом.
Нижеследующее поясняет компоновку секции 62 формирования информации режима предсказания. Фиг. 39 - блок-схема, иллюстрирующая компоновку секции 62 формирования информации режима предсказания. Как показано на фиг. 39, секция 62 формирования информации режима предсказания включает в себя секцию 621a сохранения, секцию 621b сохранения, секцию 622 определения опорного направления, секцию 623 оценки информации режима предсказания, и секцию 624 генерирования информации режима предсказания. Каждый из компонентов пояснен ниже.
(Секции 621a, 621b сохранения)
Подобно секциям 611a и 611b сохранения в секции 61 формирования относительной информации режима предсказания, секции 621a и 621b сохранения временно сохраняют входную информацию. Секция 621a сохранения хранит информацию режима предсказания целевого блока, который сгенерирован в секции 624 генерирования информации режима предсказания. Дополнительно, секция 621b сохранения принимает информацию набора предсказания и сохраняет ее. Хранящаяся информация режима предсказания и информация набора предсказания используются для оценки информации режима предсказания последующего субблока, который должен быть декодирован, после целевого субблока.
(Секция 622 определения опорного направления)
Подобно секции 612 определения опорного направления в секции 61 формирования относительной информации режима предсказания, секция 622 определения опорного направления принимает информацию набора предсказания и индекс комбинации опорных направлений, и подает на секцию 623 оценки информации режима предсказания опорное направление, в котором расположен закодированный смежный субблок (опорный субблок), используемый для оценки информации режима предсказания целевого блока. Опорное направление определяется согласно таблице комбинаций опорных направлений на основании принятой информации набора предсказания, принятого индекса комбинации опорных направлений, и позиции (внутренне подсчитанной) целевого субблока. В этот момент времени предпочтительно использовать ту же самую таблицу комбинаций опорных направлений, как в устройстве 500 кодирования изображения. Дополнительно, совместно используемая таблица комбинаций опорных направлений может быть заранее определена между устройством 500 кодирования изображения в Варианте осуществления 5 и устройством 550 декодирования изображения в настоящем варианте осуществления, или может быть указана посредством использования внешнего средства уведомления. Определение опорного направления является таким же как в Варианте осуществления 5, и поэтому не поясняется здесь.
(Секция 623 оценки информации режима предсказания)
Секция 623 оценки информации режима предсказания определяет значение оценки информации режима предсказания, которая должна использоваться для целевого субблока, заранее определенным способом, на основании принятой информации набора предсказания, опорного направления, определенного секцией 622 определения опорного направления, и информации режима предсказания и информации набора предсказания декодированного смежного субблока, соответственно сохраненных в секциях 621a и 621b сохранения. Секция 623 оценки информации режима предсказания затем выдает определенное значение оценки к секции 624 генерирования информации режима предсказания. Определение значения оценки информации режима предсказания является таким же, как в секции 613 оценки информации режима предсказания в Варианте осуществления 5, и поэтому не поясняется здесь.
(Секция 624 генерирования информации режима предсказания)
Секция 624 генерирования информации режима предсказания выполняет процесс, обратный процессу, выполняемому секцией 614 генерирования относительной информации режима предсказания. Более подробно, секция 624 генерирования информации режима предсказания генерирует информацию режима предсказания, которая должна быть применена к целевому субблоку, на основании принятой относительной информации режима предсказания и значения probable_mode оценки информации режима предсказания для целевого субблока, каковое значение оценки определяется секцией 623 оценки информации режима предсказания. Дополнительно, информация режима предсказания, сгенерированная таким образом, выдается к секции 621a сохранения и секции 10 интра-предсказания. Структура данных информации mode_data () режима предсказания показана в Таблице 29.
[Таблица 29]
Синтаксис
Подробности
mode_data (){
Информация режима предсказания
mode
Указывает режим предсказания, используемый для интра-предсказания для целевого субблока
}
Процесс декодирования изображения в устройстве 500 декодирования изображения в целом описывается ниже со ссылками на фиг. 40. Фиг. 40 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения в устройстве 550 декодирования изображения.
Устройство 550 декодирования изображения принимает закодированные данные целевого блока (блок пикселей MxM), подлежащего декодированию (этап S210).
Секция 505 статистического декодирования выполняет статистическое декодирование в отношении относительной информации набора предсказания и индекса комбинации опорных направлений каждого целевого блока, который должен быть декодирован, в принятых закодированных данных, и выводит их декодированные данные (этап S211).
Секция 52 формирования информации набора предсказания формирует информацию набора предсказания целевого блока, который должен быть декодирован, на основании относительной информации набора предсказания, статистически декодированной на этапе S211, и информации набора предсказания, которая уже была декодирована и сохранена (этап S212).
Секция 505 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных относительной информации режима предсказания, и выдает относительную информацию режима предсказания, таким образом декодированную, к секции 62 формирования информации режима предсказания (этап S213).
Секция 62 формирования информации режима предсказания формирует информацию режима предсказания целевого субблока на основании (i) информации набора предсказания, сформированной таким образом, (ii) индекса комбинации опорных направлений, (iii) относительной информации режима предсказания целевого субблока, и (iv) информации набора предсказания и информации режима предсказания декодированного субблока, который является смежным с целевым субблоком (этап S214).
Секция 505 статистического декодирования дополнительно выполняет статистическое декодирование в отношении значения квантования остаточных данных предсказания целевого субблока (этап S215). Здесь, целевой субблок имеет заранее определенный размер блока (блок пикселей NxN), на которые подразделяется целевой блок.
Секция 10 интра-предсказания выполняет интра-предсказание и генерирует предсказанное изображение (блок пикселей NxN) согласно режиму предсказания, который должен быть применен к целевому субблоку, посредством использования локально декодированного изображения декодированных смежных субблоков, сохраненных в памяти 9 (этап S216). Как сгенерировать предсказанное изображение в соответствии с интра-предсказанием было уже пояснено в Варианте осуществления 1, и поэтому не поясняется здесь.
Остаточные данные предсказания, декодированные на этапе S215, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секции 8 вычисления суммы (этап S217).
Секция 8 вычисления суммы суммирует предсказанное изображение, таким образом сгенерированное на этапе S216, с остаточными данными предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S217, чтобы сформировать декодированное изображение (блок пикселей NxN) целевого субблока. Секция 8 вычисления суммы затем выдает декодированное изображение (этап S218).
Память 9 сохраняет декодированное изображение целевого субблока, сгенерированное на этапе S218 (этап S219).
Устройство 550 декодирования изображения повторяет процессы от этапа S213 до этапа S219 относительно всех субблоков, составляющих целевой блок, который должен быть декодирован. Дополнительно, устройство 550 декодирования изображения повторяет процессы от этапа S210 до этапа S219 относительно всех блоков, составляющих целевое изображение, которое должно быть декодировано.
Настоящий вариант осуществления пояснял процесс декодирования в устройстве 550 декодирования изображения в порядке от этапа S210 до этапа S219. Однако, порядок процесса декодирования не ограничивается этим, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Подробности процесса формирования информации режима предсказания)
Процесс формирования информации режима предсказания поясняется ниже со ссылками на фиг. 41. Фиг. 41 - последовательность операций, конкретно иллюстрирующая процесс формирования информации режима предсказания.
Сначала секция 622 определения опорного направления принимает информацию набора предсказания и индекс комбинации опорных направлений и определяет опорное направление опорного субблока, который должен использоваться для оценки информации режима предсказания, согласно таблице комбинаций опорных направлений, на основании информации набора предсказания, индекса комбинации опорных направлений и позиции целевого субблока (этап S220). Секция 622 определения опорного направления затем выдает опорное направление, таким образом определенное, к секции 623 оценки информации режима предсказания.
Секция 623 оценки информации режима предсказания получает информацию режима предсказания и информацию набора предсказания опорного субблока, указанного принятым опорным направлением, соответственно от секции 621a сохранения и секции 621b сохранения (этап S221). Затем секция 623 оценки информации режима предсказания определяет значение оценки режима предсказания для целевого субблока согласно таблице соответствия режимов предсказания на основании полученной информации режима предсказания и информации набора предсказания опорного субблока, и информации набора предсказания целевого субблока (этап S222). Определенное значение оценки выдается к секции 624 генерирования информации режима предсказания.
Секция 624 генерирования информации режима предсказания принимает относительную информацию режима предсказания и значение оценки информации режима предсказания для целевого субблока, и затем генерирует информацию режима предсказания целевого блока на основании относительной информации режима предсказания и значения оценки. Секция 624 генерирования информации режима предсказания затем выдает информацию режима предсказания (этап S223).
Наконец, секции 621a и 621b сохранения соответственно сохраняют информацию режима предсказания и информацию набора предсказания каждого целевого субблока (этап S224).
В настоящем варианте осуществления единицей декодирования набора предсказания и индекса комбинации опорных направлений является блок пикселей MxM. Однако, единицы декодирования не ограничиваются этим. Например, единицы декодирования могут быть макроблоком, срезом, картинкой (кадром), или GOP (группой изображений). Например, в случае, когда набор предсказания и комбинация опорных направлений изменяются для каждой единицы-среза, необходимо декодировать информацию относительно выбранного набора предсказания и выбранной комбинации опорных направлений в передней части среза. Единицы декодирования набора предсказания и индекса комбинации опорных направлений могут быть заранее определены между устройством кодирования изображения и устройством декодирования изображения, или могут быть указаны в передней части закодированных данных, изображения, или заголовка GOP. Альтернативно, также возможно уведомить о единице декодирования посредством использования внешнего средства, а не посредством устройства кодирования изображения и устройства декодирования изображения.
(Эффекты)
Как описано выше, устройство 550 декодирования изображения включает в себя группу наборов предсказания, составленную из множества наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга. Устройство 550 декодирования изображения декодирует информацию набора предсказания, которая должна быть применена к целевому блоку, который должен быть декодирован, который составляет изображение, с использованием относительной информации набора предсказания целевого блока и информации набора предсказания, которая была уже декодирована. Затем, устройство 550 декодирования изображения декодирует индекс комбинации опорных направлений, указывающий комбинации опорных направлений, которые должны использоваться для оценки режимов предсказания всех субблоков в целевом блоке. Затем устройство 550 декодирования изображения определяет значение оценки режима предсказания для целевого субблока на основании информации набора предсказания, таким образом декодированной, индекса комбинации опорных направлений, таким образом декодированного, и информации набора предсказания и информации режима предсказания декодированного субблока, смежного с целевым субблоком. Устройство 550 декодирования изображения затем декодирует информацию режима предсказания на основании значения оценки, таким образом определенного, и относительной информации режима предсказания целевого субблока. Определение значения оценки и декодирование информации режима предсказания выполняются в единицах субблоков, на которые подразделяется целевой блок. Эта компоновка позволяет устройству 550 декодирования изображения выбирать опорный субблок, который должен использоваться для оценки режима предсказания для целевого субблока, таким образом улучшая точность оценки режима предсказания и уменьшая кодированный объем режима предсказания, который должен быть декодирован. Дополнительно, в случае, когда набор предсказания целевого субблока отличается от набора предсказания опорного субблока, который должен использоваться для оценки режима предсказания, устройство 550 декодирования изображения использует вышеупомянутую таблицу соответствия режимов предсказания, так чтобы режим предсказания, примененный к опорному субблоку, преобразовывался в наиболее приближенный режим предсказания в наборе предсказания целевого субблока. В результате точность оценки режима предсказания целевого блока может быть улучшена, и закодированный объем режима предсказания, который должен быть декодирован, может быть эффективно уменьшен. Дополнительно, устройство 550 декодирования изображения декодирует индекс комбинации опорных направлений с использованием кода переменной длины согласно смещению частоты появления. Это позволяет ограничить увеличение закодированного объема индекса комбинации опорных направлений, который должен быть декодирован.
[Вариант осуществления 7]
Другой вариант осуществления устройства кодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 7 со ссылками на фиг. 42-49. Те же самые составляющие компоненты как в Вариантах осуществления 1-6 имеют те же самые ссылочные позиции как в Вариантах осуществления 1-6, и поэтому не поясняются здесь.
Вариант осуществления 5 относился к случаю, когда информация набора предсказания используется для определения опорного субблока, который должен использоваться для оценки режима предсказания целевого субблока. Настоящий вариант осуществления поясняет устройство кодирования изображения, которое использует не информацию набора предсказания, а режимы предсказания закодированных субблоков, расположенных вокруг целевого субблока, чтобы определить опорный субблок, который должен использоваться для оценки режима предсказания целевого субблока.
(Компоновка устройства 600 кодирования изображения)
Компоновка устройства 600 кодирования изображения согласно настоящему варианту осуществления поясняется ниже со ссылками на фиг. 42. Фиг. 42 - блок-схема, иллюстрирующая компоновку устройства 600 кодирования изображения согласно настоящему варианту осуществления. Устройство 600 кодирования изображения включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 304 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 310 интра-предсказания, секцию 311 определения режима предсказания и секцию 661 формирования относительной информации режима предсказания. Настоящий вариант осуществления поясняет секцию 661 формирования относительной информации режима предсказания, которая еще не была описана.
(Секция 661 формирования относительной информации режима предсказания)
Секция 661 формирования относительной информации режима предсказания формирует относительную информацию режима предсказания целевого блока на основании (a) информации режима предсказания, принятой от секции 311 определения режима предсказания, и (b) информации режима предсказания закодированного субблока, который был уже закодирован, сохраненной в секции 661 формирования относительной информации режима предсказания.
Эта компоновка секции 661 формирования относительной информации режима предсказания описывается ниже со ссылками на фиг. 43. Фиг. 43 - блок-схема, иллюстрирующая компоновку секции 661 формирования относительной информации режима предсказания.
Секция 661 формирования относительной информации режима предсказания включает в себя секцию 662 сохранения, секцию 663 определения опорной позиции, секцию 664 оценки информации режима предсказания, и секцию 665 генерирования относительной информации режима предсказания, как показано на фиг. 43.
(Секция 662 сохранения)
Секция 662 сохранения хранит принятую информацию режима предсказания целевого блока. Информация режима предсказания, таким образом сохраненная, используется для оценки информации режима предсказания последующего субблока, который должен быть закодирован после того, как целевой субблок закодирован.
(Секцию 663 определения опорной позиции)
Секция 663 определения опорной позиции определяет субблок (опорный субблок), который наиболее коррелирован с целевым субблоком, определенным из 4 субблоков (смежных субблоков A, B, C и D на фиг. 44), смежных с целевым субблоком, с использованием частей информации режима предсказания закодированных субблоков, расположенных вокруг целевого субблока. Секция 663 определения опорной позиции выдает информацию позиции (информацию опорной позиции) определенного опорного субблока к секции 664 оценки информации режима предсказания. В настоящем варианте осуществления целевой субблок называется как целевой субблок O.
(Секция 664 оценки информации режима предсказания)
Секция 664 оценки информации режима предсказания определяет значение оценки информации режима предсказания, которая должна использоваться для целевого субблока, заранее определенным способом на основе (a) опорной информации позиции, определенной секцией 663 определения опорной позиции, и (b) информации режима предсказания декодированного смежного субблока, сохраненной в секции 662 сохранения. Секция 664 оценки информации режима предсказания затем выдает определенное значение оценки информации к секции 665 генерирования режима предсказания.
(Секция 665 генерирования относительной информации режима предсказания)
Секция 665 генерирования относительной информации режима предсказания имеет ту же функцию, что и секция 614 генерирования относительной информации режима предсказания. Более подробно, секция 665 генерирования относительной информации режима предсказания принимает информацию режима предсказания и значение probable_mode оценки информации режима предсказания, определенное секцией 664 оценки информации режима предсказания, и генерирует относительную информацию (относительную информацию режима предсказания) режима предсказания целевого блока относительно этого значения оценки на основании информации режима предсказания и значения оценки probable_mode. Дополнительно, относительная информация режима предсказания, сгенерированная таким образом, выдается к секции 304 статистического кодирования. Структура данных относительной информации режима предсказания relative_mode_data () является той же, как в Таблице 18.
(Краткий обзор процесса кодирования изображения)
Процесс кодирования изображения в устройстве 600 кодирования изображения в целом описывается ниже со ссылками на фиг. 45. Фиг. 45 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения в устройстве 600 кодирования изображения.
Устройство 600 кодирования изображения принимает целевой субблок (блок пикселей NxN), который должен быть закодирован (этап S230).
Секция 311 определения режима предсказания определяет режим предсказания целевого субблока, который должен быть закодирован, на основании первоначального изображения целевого субблока, который должен быть закодирован, и локально декодированного изображения (блока пикселей NxN), сохраненного в памяти 9 (этап S231). Информация режима предсказания относительно определенного режима предсказания выдается к секции 310 интра-предсказания и секции 661 формирования относительной информации режима предсказания.
Секция 661 формирования относительной информации режима предсказания формирует относительную информацию режима предсказания целевого субблока, который должен быть закодирован, на основании информации режима предсказания целевого блока, принятой от секции 311 определения режима предсказания, и информации режима предсказания опорного субблока. Секция 661 формирования относительной информации режима предсказания выдает относительную информацию режима предсказания, сформированную таким образом (этап S232).
Секция 304 статистического кодирования выполняет статистическое кодирование в отношении относительной информации режима предсказания и выдает закодированные данные относительной информации режима предсказания (этап S233).
Секция 310 интра-предсказания выполняет интра-предсказание, определенное режимом предсказания, определенным на этапе S231, с использованием локально декодированного изображения закодированных смежных субблоков, полученных из памяти 9, и генерирует предсказанное изображение целевого субблока, который должен быть закодирован (этап S234). Сгенерированное предсказанное изображение целевого субблока выдается на секцию 1 вычисления разности и секцию 8 вычисления суммы. Генерирование предсказанного изображения является таким же, как в обычной методике, и поэтому не поясняется здесь.
Секция 1 вычисления разности вычисляет остаточные данные предсказания целевого субблока, который должен быть закодирован, которые являются разностью между введенным первоначальным изображением целевого субблока, который должен быть закодирован, и предсказанным изображением, сгенерированным на этапе S234, и затем выдает остаточные данные предсказания (этап S235).
Остаточные данные предсказания, таким образом вычисленные на этапе S235, выдаются к секции 2 ортогонального преобразования и затем секции 3 квантования, чтобы быть подвергнутым ортогональному преобразованию и квантованию, соответственно. Остаточные данные предсказания затем выдаются на секцию 304 статистического кодирования и секцию 6 обратного квантования (этап S236).
Остаточные данные предсказания, таким образом подвергнутые ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секция 8 вычисления суммы (этап S237).
Секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S237, с предсказанным изображением, сгенерированным на этапе S234, чтобы сгенерировать локально декодированное изображение целевого субблока (этап S238). Локально декодированное изображение, таким образом сгенерированное, затем сохраняется в памяти 9.
Секция 304 статистического кодирования выполняет статистическое кодирование относительно квантованных остаточных данных предсказания целевого субблока, и выдает закодированные данные остаточных данных предсказания (этап S239).
Устройство 600 кодирования изображения выполняет процессы от этапа S230 до этапа S239 относительно всех субблоков, составляющих целевое изображение, которое должно быть закодировано.
Настоящий вариант осуществления относился к процессу кодирования в устройстве 600 кодирования изображения в порядке от этапа S230 до этапа S239. Однако порядок процесса кодирования не ограничивается этим, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Подробности того, как определить опорный субблок)
Ниже описано, как определить опорный субблок. Первоначально поясняется относительная позиция субблока Q относительно целевого субблока P. Как показано на фиг. 46, когда горизонтальное направление принимается в качестве X оси (положительные числа находятся справа от нуля) и вертикальное направление принимается в качестве оси Y (положительные числа находятся снизу от нуля), где целевой субблок P принимается в качестве базовой точки (0, 0), относительная позиция Q относительно P выражается как (x, y). Например, относительные позиции субблоков A, B, C и D, где каждый является смежным с целевым субблоком, выражается как (-1, 0), (0,-1), (-1,-1), и (1,-1), соответственно.
Степень соединения субблока Q, расположенного в относительной позиции (x, y) относительно целевого субблока P, определяется как Sp(x, y). Степень соединения Sp (x, y) является функцией стоимости, указывающей степень корреляции между целевым субблоком P и субблоком Q в относительной позиции (x, y), и представляется следующим уравнением (31). Когда значение степени соединения Sp(x, y) становится большим, корреляция между целевым субблоком P и субблоком Q является более сильной.
Матем. 17
p
q
В уравнении (31) w - коэффициент взвешивания, указывающий степень, с которой режим предсказания, приближенный к режиму mp предсказания субблока P, появляется в субблоке Q. Точно так же, w - коэффициент взвешивания, указывающий степень, с которой режим предсказания, приближенный к режиму предсказания mq субблока Q, появляется в субблоке P.
p
q
i
Коэффициенты w и w взвешивания определяются режимами предсказания mp и mq и относительной позицией (x, y), посредством обращения к Таблице 30. Коэффициенты взвешивания w1 и w2 в Таблице 30 имеют отношение величины согласно следующему выражению (32). Когда значение коэффициента взвешивания w становится больше, приближенный режим предсказания появляется с более высокой вероятностью.
Матем. 18
[Таблица 30]
Относительная позиция субблока
(-1,0)
(0,-1)
(-1,-1)
(1,-1)
Режим предсказания
0
w2
w1
w2
w2
1
w1
w2
w2
w2
2
w2
w2
w2
w2
3
w2
w2
w2
w1
4
w2
w2
w1
w2
5
w2
w1
w2
w2
6
w1
w2
w2
w2
7
w2
w1
w2
w2
8
w1
w2
w2
w2
Например, в случае, когда режим предсказания mp целевого субблока P является режимом 1 предсказания (предсказание в горизонтальном направлении), приближенный режим предсказания наиболее вероятно появляется в субблоке, расположенном слева целевого субблока P (в относительной позиции (-1, 0)) среди четырех относительных позиций. В этой связи коэффициент взвешивания относительной позиции (-1, 0) устанавливается в большее значение w1, и коэффициенты взвешивания других относительных позиций (0,-1), (-1,-1), и (1,-1) устанавливаются в меньшее значение w2. Значения коэффициентов взвешивания не ограничиваются 2 типами, w1 и w2.
Дополнительно, в уравнении (31) d степень подобия указывает, насколько режим предсказания mp целевого субблока P является приближенным к режиму предсказания mq субблока Q, и находится посредством использования Таблицы 31. В Таблице 31, di -(i=1, 2, 3, 4, 5) является заранее определенным значением, указывающим степень подобия, и значения di имеют отношение величины, представленное следующим выражением (33). Поскольку значение di становится большим, степень подобия становится выше.
Матем. 19
[Таблица 31]
Режим предсказания mq субблока Q
0
1
2
3
4
5
6
7
8
Режим предсказания mp целевого субблока P
0
d1
d5
d3
d3
d3
d2
d4
d2
d4
1
d5
d1
d3
d3
d3
d4
d2
d4
d2
2
d3
d3
d1
d3
d3
d3
d3
d3
d3
3
d3
d3
d3
d1
d5
d4
d4
d2
d2
4
d3
d3
d3
d5
d1
d2
d2
d4
d4
5
d2
d4
d3
d4
d2
d1
d3
d3
d5
6
d3
d2
d3
d4
d2
d3
d1
d5
d3
7
d2
d4
d3
d2
d4
d3
d5
d1
d3
8
d4
d2
d3
d2
d4
d5
d3
d3
d1
В случае, когда режим предсказания mp является режимом 1 предсказания (предсказание в горизонтальном направлении), например, если режим предсказания mq также является режимом 1 предсказания, эти направления предсказания режимов предсказания идентичны друг с другом. В этой связи степень подобия устанавливается в наибольшее значение d1. Дополнительно, если mq есть режим предсказания 6 или 8, который является наиболее приближенным к режиму 1 предсказания на фиг. 68, степень подобия устанавливается в d2. Дополнительно, если mq есть режим предсказания 3 или 4, который является вторым наиболее приближенным к режиму 1 предсказания на фиг. 68, степень подобия устанавливается в d3. Кроме того, если mq есть режим предсказания 5 или 7, который является третьим наиболее приближенным приближенный к режиму 1 предсказания на фиг. 68, степень подобия устанавливается в d4. Кроме того, если mq есть режим 0 предсказания, который является наиболее отличающимся от режима 1 предсказания на фиг. 68, степень подобия устанавливается в d5. Если mq есть режим 2 предсказания, степень подобия устанавливается в d3, который является промежуточным значением среди d1-d5. Однако значения степени подобия не ограничиваются 5 типами, от d1 до d5. Степень подобия d предпочтительно устанавливается на основании характеристики того, как вероятно режим предсказания, более приближенный к режиму предсказания mp целевого субблока P, появляется в смежном субблоке. Например, предпочтительно установить степень подобия d на основании первоначально вычисленной вероятности появления (вероятности одновременного появления) режима предсказания mq в отношении режима предсказания mp.
Затем в каждом из субблоков A, B, C и D, смежных с целевым субблоком O, находятся степени соединения Sp(x, y) (p=a, b, c, d) относительно 4 относительных позиций (-1, 0), (0,-1), (-1,-1), и (1,-1). Например, для смежного субблока A находятся Sa (-1, 0), Sa (0,-1), Sa (-1,-1), и Sa (1,-1).
Затем, степени соединения S0(x, y) целевого субблока O относительно его относительных позиций (-1, 0), (0,-1), (-1,-1) оцениваются посредством использования следующих уравнений (34)-(37) на основе таким образом найденных степеней соединения Sp(x, y) каждого из смежных субблоков A, B, C, D. В следующих уравнениях (34)-(37) в случае, когда есть степень соединения Sp(x, y), которая не может быть получена, среди степеней соединения Sp(x, y) смежных субблоков A, B, C и D (например, смежный субблок расположен вне целевого изображения, которое должно быть закодировано), предпочтительно заменить степень соединения заранее определенным значением.
Матем. 20
Среди степеней соединения S0(x, y), оцененных согласно вышеупомянутым уравнениям (34)-(37), относительная позиция (x, y), которая дает наибольшую степень соединения, определяется как опорный субблок целевого субблока O. В случае, когда есть несколько степеней соединения, имеющих одинаковое значение, предпочтительно определить заранее определенную относительную позицию (x, y) в качестве опорного субблока целевого субблока O.
(Работа секции 661 формирования относительной информации режима предсказания)
Ниже описано, как секция 661 формирования относительной информации режима предсказания формирует относительную информацию режима предсказания, со ссылками на фиг. 47. Фиг. 47 - последовательность операций, конкретно иллюстрирующая процесс генерирования относительной информации режима предсказания.
Сначала секция 662 сохранения принимает информацию режима предсказания и сохраняет ее (этап S240). Секция 663 определения опорной позиции оценивает корреляции между целевым субблоком и смежными субблоками (A, B, C, D) на основе частей информации режима предсказания множества закодированных субблоков, расположенных вокруг целевого субблока (этап S241). Эти части информации режима предсказания подаются от секции 662 сохранения.
Затем, секция 663 определения опорной позиции определяет из смежных субблоков A, B, C и D опорный субблок, который должен использоваться для оценки режима предсказания целевого субблока, на основании корреляций, найденных на этапе S241 (этап S242). Информация опорной позиции, указывающая позицию определенного опорного субблока, выдается к секции 664 оценки информации режима предсказания.
Секция 664 оценки информации режима предсказания получает информацию режима предсказания опорного субблока, указанную информацией опорной позиции, таким образом принятой, от секции 662 сохранения (этап S243). Секция 664 оценки информации режима предсказания определяет значение оценки информации режима предсказания для целевого субблока, на основании полученной информации режима предсказания опорного субблока, и выдает определенное значение оценки к секции 665 генерирования относительной информации режима предсказания (этап S244).
Секция 665 генерирования относительной информации режима предсказания генерирует относительную информацию режима предсказания целевого блока на основании информации режима предсказания целевого блока и значения оценки информации режима предсказания и выдает относительную информацию режима предсказания (этап S245).
(Модифицированный пример)
Ниже описана секция 661b формирования относительной информации режима предсказания в качестве модифицированного примера Варианта осуществления 7. Секция 661b формирования относительной информации режима предсказания определяет опорный субблок посредством использования локально декодированных изображений смежных субблоков, которые были уже закодированы, вместо того, чтобы использовать части информации режима предсказания закодированных смежных субблоков.
Секция 661 формирования относительной информации режима предсказания в Варианте осуществления 7, иллюстрирует случай, когда опорный субблок, который должен использоваться для оценки режима предсказания целевого субблока, который должен быть закодирован, определяется на основании частей информации режима предсказания смежных субблоков, которые были уже закодированы.
(Компоновка устройства 600b кодирования изображения)
Компоновка устройства 600b кодирования изображения, использующая секцию 661b формирования относительной информации режима предсказания, поясняется ниже со ссылками на фиг. 48. Устройство 600b кодирования изображения главным образом включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 304 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 310 интра-предсказания, секцию 331 определения режима предсказания и секцию 661b формирования относительной информации режима предсказания. Ниже описана секция 661b формирования относительной информации режима предсказания.
(Секция 661b формирования относительной информации режима предсказания)
Секция 661b формирования относительной информации режима предсказания формирует относительную информацию режима предсказания целевого блока на основании информации режима предсказания, принятой от секции 311 определения режима предсказания и локально декодированных изображений закодированных субблоков, смежных с целевым субблоком, сохраненных в памяти 9.
Эта компоновка секции 661b формирования относительной информации режима предсказания описывается ниже со ссылками на фиг. 49. Фиг. 49 - блок-схема, иллюстрирующая компоновку секции 661b формирования относительной информации режима предсказания.
Секция 661b формирования относительной информации режима предсказания включает в себя секцию 662 сохранения, секцию 663b определения опорной позиции, секцию 664 оценки информации режима предсказания и секцию 665 генерирования относительной информации режима предсказания, как показано на фиг. 49. Ниже описана секция 663b определения опорной позиции.
(Секция 663b определения опорной позиции)
Секция 663b определения опорной позиции определяет субблок (опорный субблок), который наиболее коррелирован с целевым субблоком среди 4 субблоков (смежные субблоки A, B, C, D на фиг. 44), смежных с целевым субблоком, посредством использования локально декодированных изображений закодированных субблоков, расположенных вокруг целевого субблока. Секция 663 определения опорной позиции затем выдает информацию позиции (информацию опорной позиции) определенного опорного субблока к секции 664 оценки информации режима предсказания. В настоящем варианте осуществления целевой субблок назван как целевой субблок O.
(Краткий обзор процесса кодирования изображения)
Процесс кодирования изображения в устройстве 600b кодирования изображения является почти тем же самым, как процесс кодирования изображения в устройстве 600 кодирования изображения, за исключением этапа S232. Поэтому, одинаковые этапы не поясняются здесь. Нижеследующее относится к этапу S232 в процессе кодирования изображения в устройстве 600b кодирования изображения, который отличается от этапа S232 в процессе кодирования изображения устройства 600 кодирования изображения.
Секция 661b формирования относительной информации режима предсказания формирует относительную информацию режима предсказания целевого субблока, который должен быть закодирован, на основе (a) информации режима предсказания целевого блока, принятой от секции 311 определения режима предсказания, и (b) локально декодированного изображения закодированных субблоков, расположенных вокруг целевого субблока, выдаваемого из памяти 9. Секция 661b формирования относительной информации режима предсказания затем выдает относительную информацию режима предсказания, сформированную таким образом (этап S232).
(Подробности того, как определить позицию опорного субблока)
Ниже описано, как определить позицию опорного субблока с использованием локально декодированных изображений закодированных субблоков, расположенных вокруг целевого субблока.
Секция 663 определения опорной позиции использует функцию стоимости f (θp, θq, Tp, Tq) вместо степени соединения Sp(x, y), чтобы оценить корреляцию между целевым субблоком и субблоком Q, расположенным в относительной позиции (x, y). Значения переменных θp, и θq соответственно указывают доминирующую ориентацию краев в целевом субблоке P и доминирующую ориентацию краев в субблоке Q в относительной позиции (x, y). Дополнительно, Tp и Tq соответственно указывают уровень края целевого субблока P и уровень края субблока Q в относительной позиции (x, y). Как вычислить ориентацию края и уровень края было уже описано в Варианте осуществления 1, и поэтому не поясняется здесь.
Примеры функции стоимости f (θp, θq, Tp, Tq) могут быть представлены следующими уравнениями (38) и (39).
Матем. 21
Уравнение (38) является функцией стоимости f(θp, θq, Tp, Tq) произведения абсолютной величины разности между ориентациями края θp, θq, и абсолютной величиной разности между уровнями края Tp и Tq. Дополнительно, уравнение (39) является функцией стоимости f(θp, θq, Tp, Tq) суммы абсолютной величины разности между ориентациями края θp и θq, и абсолютной величиной разности между уровнями края Tp и Tq. В уравнениях (38) и (39) параметры α, β, γ и ε являются заранее определенными масштабирующими переменными.
В этих функциях стоимости f(θp, θq, Tp, Tq), выраженных уравнениями (38) и (39), когда значение становится меньше, корреляция между целевым субблоком P и субблоком Q в относительной позиции (x, y) становится более сильной. В настоящем варианте осуществления функция стоимости f(θp, θq, Tp, Tq) между целевым субблоком P и субблоком Q, расположенным в относительной позиции (x, y) относительно целевого субблока P, называется как fp(x, y), для удобства.
Затем в каждом из субблоков A, B, C и D, смежных с целевым субблоком O на фиг. 44, находятся функции стоимости fp(x, y) относительно 4 относительных позиций (-1, 0), (0,-1), (-1,-1), и (1,-1). Например, для смежного субблока A находятся fa(-1, 0), fa(0,-1), fa(-1,-1), и fa(1,-1).
Затем, функции стоимости fo(x, y) целевого субблока O в отношении его относительных позиций (-1, 0), (0,-1), (-1,-1) оцениваются в соответствии со следующими уравнениями (40)-(43), на основе таким образом найденных функций стоимости fp (x, y) каждого из смежных субблоков A, B, C, D. В следующих уравнениях (40)-(43) в случае, когда есть функция стоимости fp (x, y), которая не может быть получена, среди функций стоимости fp (x, y) смежных субблоков A, B, C и D, предпочтительно заменить заранее определенное значение на функцию стоимости.
Матем. 22
Среди функций стоимости fo(x, y), оцененных согласно вышеупомянутым уравнениям (40)-(43), относительная позиция (x, y), которая дает наименьшую стоимость, определяется как опорный субблок целевого субблока O. В случае, когда есть несколько стоимостей, имеющих одно и то же значение, предпочтительно определить заранее определенную относительную позицию (x, y) в качестве опорного субблока целевого субблока O.
(Подробности процесса формирования относительной информации режима предсказания)
Процесс формирования относительной информации режима предсказания является почти таким же, как в процессе секции 661 формирования относительной информации режима предсказания, за исключением этапа S241. Поэтому, одни и те же этапы здесь не поясняются. Ниже описан этап S241 в модифицированном примере, который отличается от S241 в процессе в секции 661 формирования относительной информации режима предсказания.
Секция 663b определения опорной позиции вычисляет части информации края из локально декодированных изображений множества закодированных субблоков, расположенных вокруг целевого субблока. Локально декодированные изображения выдаются из памяти 9. Секция 663b определения опорной позиции затем оценивает корреляции между целевым субблоком и смежными субблоками (A, B, C, D) на основании частей информации края, вычисленной таким образом (этап S241).
(Дополнительные замечания)
В настоящем варианте осуществления и модифицированном примере существующего варианта осуществления единицей выбора позиции субблока, которая должна использоваться для оценки режима предсказания, является единица-субблок. Однако единица выбора не ограничивается этим. Например, единица выбора позиции субблока может быть макроблоком, срезом, картинкой (кадром) или GOP (группой изображений). Единица выбора позиции субблока, которая должна использоваться для оценки режима предсказания, может быть заранее определена между устройством кодирования изображения и устройством декодирования изображения, или может быть указана в передней части закодированных данных, изображения, или заголовка GOP. Альтернативно, также возможно уведомить о единице выбора посредством использования внешнего средства, а не посредством устройства кодирования изображения и устройства декодирования изображения. Дополнительно, в настоящем варианте осуществления и его модифицированном примере смежные субблоки, используемые для оценки режима предсказания, являются смежными субблоками A, B, C и D на фиг. 44, но не ограничиваются ими. Например, смежные субблоки, которые должны использоваться для оценки режима предсказания, могут быть только субблоками A и B, или закодированными субблоками, смежными с целевым субблоком в дополнение к субблокам A, B, C и D.
(Эффекты)
Как описано выше, устройство 600 кодирования изображения согласно настоящему варианту осуществления включает в себя по меньшей мере один набор предсказания, включающий в себя множество режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга.
Устройство 600 кодирования изображения оценивает корреляции между целевым субблоком и смежными субблоками заранее определенным способом из частей информации режима предсказания закодированных смежных субблоков или из декодированных изображений закодированных смежных субблоков. Оценка выполняется для каждого субблока, на которые подразделяется целевой блок, который должен быть кодирован, составляя изображение. Затем устройство 600 кодирования изображения выбирает закодированный смежный субблок, который наиболее коррелирован с целевым субблоком, на основании результата таких оцененных корреляций, и затем оценивает режим предсказания для целевого субблока из режима предсказания закодированного смежного субблока, выбранного таким образом. Устройство 600 кодирования изображения кодирует режим предсказания на основе этой оценки.
Эта компоновка позволяет устройству 600 кодирования изображения выбирать субблок, который наиболее коррелирован с целевым субблоком, таким образом улучшая точность при оценке режима предсказания целевого блока, уменьшая кодированный объем, необходимый для режима предсказания, и увеличивая эффективность кодирования.
[Вариант осуществления 8]
Другой вариант осуществления устройства декодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 8 со ссылками на фиг. 50-55. Те же самые составляющие компоненты как в Вариантах осуществления 1-7 имеют те же самые ссылочные позиции как в Вариантах осуществления 1-7, и поэтому не поясняются здесь.
(Компоновка устройства 650 декодирования изображения)
Компоновка устройства 650 декодирования изображения согласно Варианту осуществления 8 описывается ниже со ссылками на фиг. 50. Фиг. 50 - блок-схема, иллюстрирующая компоновку устройства 650 декодирования изображения.
Как показано на фиг. 50, устройство 650 декодирования изображения главным образом включает в себя секцию 305 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 310 интра-предсказания и секцию 666 формирования информации режима предсказания. Настоящий вариант осуществления описывает только секцию 666 формирования информации режима предсказания ниже.
(Секция 666 формирования информации режима предсказания)
Секция 666 формирования информации режима предсказания выполняет процесс, обратный процессу, выполняемому секцией 661 формирования относительной информации режима предсказания в Варианте осуществления 7. Более подробно, секция 666 формирования информации режима предсказания формирует информацию режима предсказания целевого субблока, который должен быть декодирован, на основании (a) статистически декодированной относительной информации режима предсказания целевого субблока и (b) части информации режима предсказания декодированных субблоков, расположенных вокруг целевого субблока, сохраненных в секции 666 формирования информации режима предсказания.
Компоновка секции 666 формирования информации режима предсказания, описывается ниже со ссылками на фиг. 51. Как показано на фиг. 51, секция 666 формирования информации режима предсказания включает в себя секцию 667 сохранения, секцию 668 определения опорной позиции, секцию 669 оценки информации режима предсказания и секцию 670 генерирования информации режима предсказания.
(Секция 667 сохранения)
Секция 667 сохранения имеет функцию, аналогичную секции 662 сохранения в секции 661 формирования относительной информации режима предсказания. Более подробно, секция 667 сохранения хранит информацию режима предсказания целевого блока, сгенерированную секцией 670 генерирования информации режима предсказания. Информация режима предсказания, таким образом сохраненная, используется для оценки информации режима предсказания последующего субблока, который должен быть декодирован, после того, как целевой субблок декодирован.
(Секция 668 определения опорной позиции)
Секция 668 определения опорной позиции имеет функцию, аналогичную секции 663 определения опорной позиции в секции 661 формирования относительной информации режима предсказания. Таким образом, секция 668 определения опорной позиции определяет субблок (опорный субблок), который наиболее коррелирован с целевым субблоком среди четырех субблоков (смежных субблоков A, B, C, D), смежных с целевым субблоком, с использованием частей информации режима предсказания декодированных субблоков, расположенных вокруг целевых субблоков. Секция 668 определения опорной позиции затем выдает информацию позиции (информацию опорной позиции) определенного опорного субблока к секции 669 оценки информации режима предсказания. Определение опорного субблока является таким же, как в секции 663 определения опорной позиции в Варианте осуществления 7, и поэтому не поясняется здесь.
(Секция 669 оценки информации режима предсказания)
Секция 669 оценки информации режима предсказания имеет функцию, аналогичную секции 664 оценки информации режима предсказания в секции 661 формирования относительной информации режима предсказания. Более подробно, секция 669 оценки информации режима предсказания определяет значение оценки информации режима предсказания, которое должно использоваться для целевого субблока, заранее определенным способом на основании информации опорной позиции, определенной секцией 668 определения опорной позиции, и информации режима предсказания, сохраненной в секции 667 сохранения, декодированного смежного субблока. Секция 669 оценки информации режима предсказания затем выдает определенное значение оценки секции 670 генерирования информации режима предсказания.
(Секция 670 генерирования информации режима предсказания)
Секция 670 генерирования информации режима предсказания выполняет процесс, обратный процессу, выполняемому секцией 665 генерирования относительной информации режима предсказания. Более подробно, секция 670 генерирования информации режима предсказания принимает относительную информацию режима предсказания целевого блока, и значение оценки probable_mode информации режима предсказания, определенной секцией 669 оценки информации режима предсказания, и генерирует информацию режима предсказания, которая должна быть применена к целевому субблоку на основе относительной информации режима предсказания, и значения оценки probable_mode. Дополнительно, информация режима предсказания, сгенерированная таким образом, выдается к 667 сохранения и секции 310 интра-предсказания. Структура данных информации режима предсказания mode_data () является такой же, как в Таблице 29.
(Краткий обзор процесса декодирования изображения)
Процесс декодирования изображения в устройстве 650 декодирования изображения в общем описывается со ссылками на фиг. 52. Фиг. 52 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения в устройстве 650 декодирования изображения.
Устройство 650 декодирования изображения принимает закодированные данные целевого субблока (блок пикселей NxN), который должен быть декодирован (этап S250).
Секция 305 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных относительной информации режима предсказания, которая должна быть применена к целевому субблоку, который должен быть декодирован, в принятых закодированных данных, и затем выдает относительную информацию режима предсказания к секции 666 формирования информации режима предсказания (этап S251).
Секция 666 формирования информации режима предсказания формирует информацию режима предсказания целевого блока на основании принятой относительной информации режима предсказания целевого блока и части информации режима предсказания декодированных субблоков, расположенных вокруг целевого субблока (этап S252).
Секция 305 статистического декодирования выполняет статистическое декодирование в отношении закодированных данных остаточных данных предсказания (этап S253).
Секция 310 интра-предсказания выполняет интра-предсказание согласно декодированной информации режима предсказания с использованием локально декодированного изображения, сохраненного в памяти 9, декодированных смежных субблоков, и генерирует предсказанное изображение (блок пикселей NxN) целевого субблока (этап S254). Генерирование предсказанного изображения является таким же, как в обычной методике, и поэтому не поясняется здесь.
Остаточные данные предсказания, декодированные на этапе S253, выдаются к секции 6 обратного квантования и затем к секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдается к секции 8 вычисления суммы (этап S255).
Секция 8 вычисления суммы суммирует предсказанное изображение, сгенерированное на этапе S254, с остаточными данными предсказания, таким образом подвергнутыми обратному квантованию и обратному ортогональному преобразованию на этапе S255, чтобы сгенерировать декодированное изображение (блок пикселей NxN) целевого субблока. Секция 8 вычисления суммы затем выдает декодированное изображение (этап S256).
Память 9 принимает и сохраняет сгенерированное декодированное изображение целевого субблока (этап S257).
Устройство 650 декодирования изображения повторяет процессы от этапа S250 до этапа S257 относительно всех субблоков, составляющих целевое изображение, которое должно быть декодировано.
В настоящем варианте осуществления описан процесс декодирования в устройстве 650 декодирования изображения в порядке от этапа S250 до этапа S257. Однако, процесс декодирования не ограничивается этим порядком и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Процесс работы секции 662 формирования информации режима предсказания)
Ниже описан процесс формирования информации режима предсказания более подробно, со ссылками на фиг. 53. Фиг. 53 - последовательность операций, конкретно иллюстрирующая процесс генерирования информации режима предсказания.
Сначала секция 668 определения опорной позиции оценивает корреляции между целевым субблоком и смежными субблоками (A, B, C, D) на основании частей информации режима предсказания множества декодированных субблоков, расположенных вокруг целевого субблока (этап S260). Части информации режима предсказания выдаются из секции 667 сохранения. Секция 668 определения опорной позиции затем определяет опорный субблок, который должен использоваться для оценки информации режима предсказания целевого блока, от смежных субблоков A, B, C и D, на основании корреляций, таким образом найденных на этапе S260. Секция 668 определения опорной позиции выдает информацию опорной позиции, указывающую позицию определенного опорного субблока, к секции 669 оценки информации (этап S261).
Секция 669 оценки информации режима предсказания получает из секции 667 сохранения информацию режима предсказания опорного субблока, указанного принятой информацией опорной позиции (этап S262). Секция 669 оценки информации режима предсказания затем определяет значение оценки информации режима предсказания для целевого субблока на основании полученной информации режима предсказания опорного субблока. Определенное значение оценки затем выдается секции 670 генерирования относительной информации режима предсказания (этап S263).
Секция 670 генерирования относительной информации режима предсказания принимает относительную информацию режима предсказания целевого блока и значение оценки информации режима предсказания и генерирует информацию режима предсказания целевого блока на основании относительной информации режима предсказания и значения оценки. Секция 670 генерирования относительной информации режима предсказания затем выдает информацию режима предсказания, сформированную таким образом (этап S264).
Наконец, секция сохранения сохраняет информацию режима предсказания целевого блока (этап S265).
(Модифицированный пример)
Нижеописанное относится к устройству декодирования изображения, включающему в себя секцию 666b формирования информации режима предсказания в качестве модифицированного примера. Секция 666b формирования информации режима предсказания определяет опорный субблок с использованием локально декодированных изображений смежных субблоков, которые были уже декодированы, вместо того, чтобы использовать части информации режима предсказания смежных субблоков.
Секция 666b формирования информации режима предсказания в Варианте осуществления 8 иллюстрирует случай, когда опорный субблок, который должен использоваться для оценки режима предсказания целевого субблока, определяется на основании частей информации режима предсказания смежных субблоков, которые были уже декодированы.
(Компоновка устройства 650b декодирования изображения)
Компоновка устройства 650b декодирования изображения, использующая секцию 666b формирования информации режима предсказания, описывается ниже со ссылками на фиг. 54. Фиг. 54 - блок-схема, иллюстрирующая компоновку устройства 650b декодирования изображения.
Как показано на фиг. 54, устройство 650b декодирования изображения главным образом включает в себя секцию 305 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 310 интра-предсказания и секцию 666b формирования информации режима предсказания. Настоящий вариант осуществления описывает только секцию 666b формирования информации режима предсказания, как указано ниже.
(Секция 666b формирования информации режима предсказания)
Секция 666b формирования информации режима предсказания выполняет процесс, обратный процессу, выполняемому секцией 661b формирования относительной информацией режима предсказания, включенной в устройство 600b кодирования изображения, описанный как модифицированный пример в Варианте осуществления 7. Более подробно, секция 666b формирования относительной информацией режима предсказания формирует информацию режима предсказания целевого субблока, который должен быть декодирован, на основании статистически декодированной относительной информации режима предсказания целевого блока и локально декодированных изображений, сохраненных в памяти 9, декодированных субблоков, смежных с целевым субблоком.
Компоновка секции 666b формирования информации режима предсказания поясняется ниже. Фиг. 55 - блок-схема, иллюстрирующая компоновку секции 666b формирования информации режима предсказания. Как показано на фиг. 55, секция 666b формирования информации режима предсказания включает в себя секцию 667 сохранения, секцию 668b определения опорной позиции, секцию 669 оценки информации режима предсказания и секцию 670 генерирования информации режима предсказания. Настоящий вариант осуществления описывает только секцию 668b определения опорной позиции следующим образом.
(Секция 668b определения опорной позиции)
Секция 668b определения опорной позиции имеет функцию, аналогичную секции 663b определения опорной позиции в секции 661b формирования относительной информации режима предсказания, включенной в устройство 600b кодирования изображения. Более подробно, секция 668b определения опорной позиции определяет опорный субблок из 4 субблоков (смежных субблоков A, B, C, D на фиг. 44), смежных с целевым субблоком, посредством использования локально декодированных изображений декодированных субблоков, расположенных вокруг целевого субблока. Секция 668b определения опорной позиции затем выдает информацию опорной позиции, указывающую позиции определенного опорного субблока, к секции 669 оценки информации режима предсказания. Определение опорного субблока является таким же, как в секции 663b определения опорной позиции в Варианте осуществления 7, и поэтому не поясняется здесь.
(Краткий обзор процесса декодирования изображения)
Процесс декодирования изображения в устройстве 650b декодирования изображения является почти таким же, как процесс декодирования изображения в устройстве 650 декодирования изображения, за исключением этапа S252. Поэтому, те же самые этапы как в процессе декодирования изображения в устройстве 650 декодирования изображения не поясняются здесь. Нижеследующее относится только к этапу S252 в процессе декодирования изображения в устройстве 650b декодирования изображения, который отличается от этапа S252 в процессе декодирования изображения в устройстве 650 декодирования изображения.
Секция 666b формирования информации режима предсказания принимает относительную информацию режима предсказания целевого блока, который должен быть декодирован, и локально декодированные изображения, сохраненные в памяти 9, декодированных субблоков, расположенных вокруг целевого субблока, и формирует информацию режима предсказания целевого субблока, на основании относительной информации режима предсказания и локально декодированных изображений (этап S252).
(Подробности процесса формирования информации режима предсказания)
Процесс формирования информации режима предсказания является почти таким же, как процесс работы секции 661 формирования относительной информации режима предсказания, за исключением этапа S241. Поэтому, те же самые этапы как в процессе операции секции 661 формирования относительной информации режима предсказания, не поясняются здесь. Нижеследующее относится только к этапу S241 в процессе формирования информации режима предсказания в модифицированном примере, который отличается от S241 в процессе работы секции 661 относительной информации режима предсказания.
Секция 668b определения опорной позиции вычисляет информацию края из декодированного, сохраненного в памяти 9, множества декодированных субблоков, расположенных вокруг целевого субблока, и оценивает корреляции между целевым субблоком и смежными субблоками (A, B, C, D) (этап S241).
(Дополнительные замечания)
В настоящем варианте осуществления и модифицированном примере настоящего варианта осуществления единицей выбора позиции субблока, который должен использоваться для оценки режима предсказания, является единица субблока. Однако единица выбора не ограничивается этим. Например, единица выбора позиции субблока может быть макроблоком, срезом, картинкой (кадром) или GOP (группой изображений). Единица выбора позиции субблока, которая должна использоваться для оценки режима предсказания, может быть заранее определена между устройством кодирования изображения и устройством декодирования изображения, или может быть указана в передней части закодированных данных, изображения, или заголовка GOP. Альтернативно, также возможно уведомить о единице выбора посредством использования внешнего средства, а не устройством кодирования изображения и устройством декодирования изображения. Дополнительно, в настоящем варианте осуществления и модифицированном его примере смежные субблоки, используемые для оценки режима предсказания, являются смежными субблоками A, B, C и D на фиг. 44, но не ограничиваются ими. Например, смежные субблоки, которые должны использоваться для оценки режима предсказания, могут быть только субблоками A и B, или декодированными субблоками, смежными с целевым субблоком в дополнение к субблокам A, B, C и D.
(Эффекты)
Как описано выше, устройство 650 декодирования изображения согласно настоящему варианту осуществления включает в себя по меньшей мере один набор предсказания, включающий в себя множество режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга.
Устройство 650 декодирования изображения оценивает корреляции между целевым субблоком, который должен быть декодирован, и смежными субблоками заранее определенным способом, из частей информации режима предсказания декодированных смежных субблоков или декодированных изображений декодированных смежных субблоков. Оценка выполняется для каждого субблока, на которые подразделяется целевой блок, который должен быть декодирован, составляя изображение. Устройство 650 декодирования изображения затем выбирает декодированный субблок, который наиболее коррелирован с целевым субблоком, на основании результата оцененных корреляций, оценивает режим предсказания целевого субблока из режима предсказания декодированного субблока, таким образом выбранного, и декодирует информацию режима предсказания целевого блока на основании результата оценки и относительной информации режима предсказания.
Так как устройство 650 декодирования изображения может выбрать субблок, который наиболее коррелирован к целевому субблоку как таковому, точность в оценке информации режима предсказания целевого субблока может быть улучшена и закодированный объем режима предсказания, который должен быть декодирован, может быть уменьшен.
[Вариант осуществления 9]
Другой вариант осуществления устройства кодирования изображения согласно настоящему изобретению поясняется ниже как Вариант осуществления 9 со ссылками на фиг. 56-60. Те же самые составляющие компоненты как в Вариантах осуществления 1-8 имеют те же самые ссылочные позиции, как в Вариантах осуществления 1-8, и поэтому не поясняются здесь.
Устройство 100 кодирования изображения согласно Варианту осуществления 1 иллюстрирует случай, когда один набор предсказания, который должен быть применен к целевому блоку (блоку пикселей M×M), который должен быть закодирован, определяется из одной заранее определенной группы наборов предсказания (например, Таблицы 2). Настоящий вариант осуществления относится к устройству кодирования изображения, которое выбирает одну группу наборов предсказания из множества заранее определенных групп наборов предсказания в единицах блоков посредством использования информации закодированного смежного блока (например, направления предсказания в интра-предсказаниях, которые применены к субблокам в закодированном смежном блоке), и затем определяет один набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, из выбранной группы наборов предсказания.
(Компоновка устройства 700 кодирования изображения)
Компоновка устройства 700 кодирования изображения согласно настоящему варианту осуществления поясняется ниже со ссылками на фиг. 56. Фиг. 56 - блок-схема, иллюстрирующая компоновку устройства 700 кодирования изображения согласно настоящему варианту осуществления.
Устройство 700 кодирования изображения включает в себя секцию 1 вычисления разности, секцию 2 ортогонального преобразования, секцию 3 квантования, секцию 4 статистического кодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 15 выбора группы наборов предсказания, секцию 710 интра-предсказания, секцию 714 определения параметра кодирования и секцию 751 формирования относительной информации набора предсказания. Нижеследующее относится только к секции 15 выбора группы наборов предсказания, секции 710 интра-предсказания, секции 714 определения параметра кодирования и секции 751 формирования относительной информации набора предсказания.
(Секция 15 выбора группы наборов предсказания)
Секция 15 выбора группы наборов предсказания выбирает группу наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, из множества заранее определенных групп наборов предсказания, на основании информации набора предсказания закодированного смежного блока и частей информации режима предсказания всех субблоков в закодированном смежном блоке. Секция 15 выбора группы наборов предсказания выдает информацию выбора группы наборов предсказания, указывающую выбранную группу наборов предсказания.
Секция 15 выбора группы наборов предсказания принимает информацию набора предсказания закодированного смежного блока и части информации режима предсказания всех субблоков в закодированном смежном блоке из секции 714 определения параметра кодирования, и сохраняет эти информации.
(Секция 710 интра-предсказания)
Секция 710 интра-предсказания выполняет интра-предсказание, определенное информацией группы наборов предсказания, информацией набора предсказания, и информацией режима предсказания, посредством использования локально декодированного изображения закодированных смежных субблоков, сохраненных в памяти 9, и генерирует предсказанное изображение. Генерирование предсказанного изображения является таким же, как в секции 10 интра-предсказания, и поэтому не поясняется здесь.
(Секция 714 определения параметра кодирования)
Секция 714 определения параметра кодирования принимает первоначальное изображение целевого блока, который должен быть закодирован, локально декодированное изображение, сохраненное в памяти 9, закодированный смежный блок, и информацию группы наборов предсказания, выбранную секцией 15 выбора группы наборов предсказания. Секция 714 определения параметра кодирования затем определяет параметры кодирования, такие как набор предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, и режим предсказания, который должен быть применен к каждому из субблоков в целевом блоке, который должен быть закодирован. Определенный набор предсказания выдается к секции 710 интра-предсказания, секции 751 формирования относительной информации набора предсказания и секции 15 выбора группы наборов предсказания. Дополнительно, режим предсказания каждого из субблоков выдается к секции 15 выбора группы наборов предсказания, секции 710 интра-предсказания и секции 4 статистического кодирования.
Более подробно, секция 714 определения параметра кодирования определяет набор предсказания, который должен быть применен к целевому субблоку, из группы наборов предсказания, указанной информацией группы наборов предсказания, выбранной секцией 15 выбора группы наборов предсказания, и также определяет режим предсказания каждого из субблоков в целевом субблоке. Для определения набора предсказания и режима предсказания предпочтительно использовать способ оптимизации искажения «цены» подобным образом в секции 14 определения параметра кодирования.
(Секция 751 формирования относительной информации набора предсказания)
Секция 751 формирования относительной информации набора предсказания формирует относительную информацию набора предсказания из информации набора предсказания, принятой от секции 714 определения параметра кодирования, на основании информации группы наборов предсказания, принятой из секции 15 выбора группы наборов предсказания, и информации набора предсказания закодированного смежного блока, сохраненного в секции 751 формирования относительной информации набора предсказания. Секция 751 формирования относительной информации набора предсказания затем выдает относительную информацию набора предсказания.
Секция 751 формирования относительной информации набора предсказания главным образом включает в себя секцию 752a сохранения, секцию 752b сохранения, секцию 753 предсказания информации набора предсказания и секцию 754 генерирования относительной информации набора предсказания, как показано на фиг. 57. Фиг. 57 - блок-схема, иллюстрирующая компоновку секции 751 формирования относительной информации набора предсказания. Каждый из элементов пояснен ниже.
(Секции 752a, 752b сохранения)
Секции 752a и 752b сохранения временно сохраняют входную информацию. Секция 752a сохранения сохраняет принятую информацию набора предсказания целевого блока и сохраняет ее. Секция 752b сохранения принимает информацию группы наборов предсказания целевого блока из секции 15 выбора группы наборов предсказания и сохраняет ее. Информация набора предсказания, и информация группы наборов предсказания, таким образом сохраненные, используются для предсказания набора предсказания последующего блока, который должен быть закодирован после того, как целевой блок закодирован.
(Секция 753 предсказания информации набора предсказания)
Секция 753 предсказания информации набора предсказания определяет значение предсказания набора предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, заранее определенным способом, на основании (a) принятой информации группы наборов предсказания целевого блока и (b) информации группы наборов предсказания и информации набора предсказания, каждая от закодированного смежного блока, соответственно сохраненные в секции 752a сохранения и секции 752b сохранения. Секция 753 предсказания информации набора предсказания затем выдает определенное значение предсказания секции 754 генерирования относительной информации набора предсказания.
(Секция 754 генерирования относительной информации набора предсказания)
Секция 754 генерирования относительной информации набора предсказания имеет ту же функцию, как секция 511 генерирования относительной информации набора предсказания в Варианте осуществления 1. Более подробно, секция 754 формирования относительной информации набора предсказания генерирует относительную информацию набора предсказания на основании принятой информации набора предсказания целевого блока и значения предсказания набора предсказания, определенного секцией 753 предсказания информации набора предсказания. Секция 754 генерирования относительной информации набора предсказания затем выдает относительную информацию набора предсказания, таким образом сгенерированную.
(Краткий обзор процесса кодирования изображения)
Процесс кодирования изображения в устройстве 700 кодирования изображения в общем виде описывается ниже со ссылками на фиг. 58. Фиг. 58 - последовательность операций, схематично иллюстрирующая процесс кодирования изображения в устройстве 700 кодирования изображения.
Устройство 700 кодирования изображения принимает целевой блок, который должен быть закодирован (этап S270).
Секция 15 выбора группы наборов предсказания выбирает группу наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, на основании информации набора предсказания закодированного смежного блока и частей информации режима предсказания соответствующих субблоков в закодированном смежном блоке (этап S271). Секция 15 выбора группы наборов предсказания затем выдает информацию группы наборов предсказания в отношении выбранной группы предсказания к секции 714 определения параметра кодирования, секции 751 формирования относительной информации набора предсказания и секции 710 интра-предсказания.
Секция 714 определения параметра кодирования определяет набор предсказания целевого блока, который должен быть закодирован, и режимы предсказания всех субблоков в целевом блоке, который должен быть закодирован, с использованием первоначального изображения целевого блока, который должен быть закодирован, локально декодированного изображения, сохраненного в памяти 9, и информации группы наборов предсказания, таким образом выбранной посредством секции 15 выбора группы наборов предсказания (этап S272). Определенный набор предсказания выдается к секции 710 интра-предсказания, секции 751 формирования относительной информации набора предсказания и секции 15 выбора группы наборов предсказания. Дополнительно, определенные режимы предсказания всех субблоков подаются к секции 710 интра-предсказания и секции 15 выбора группы наборов предсказания.
Секция 751 формирования относительной информации набора предсказания формирует относительную информацию набора предсказания из информации группы наборов предсказания, принятой на этапе S271, и информации набора предсказания, принятой на этапе S272, на основании каждой информации группы наборов предсказания и информации набора предсказания закодированного смежного блока, и затем выдает относительную информацию набора предсказания к секции 4 статистического кодирования (этап S273).
Секция 4 статистического кодирования выполняет статистическое кодирование в отношении относительной информации набора предсказания, сформированной на этапе S273, и выдает закодированные ее данные (этап S274). Дополнительно, секция 4 статистического кодирования выполняет статистическое кодирование относительно информации режима предсказания целевого блока, который должен быть закодирован, определенного на этапе S272, и выводит закодировали данные информации режима предсказания (этап S275).
Секция 710 интра-предсказания выполняет интра-предсказание, определенное группой набора предсказания, выбранной на этапе S271, и набора предсказания и режима предсказания, определенных на этапе S272, с использованием локально декодированного изображения, сохраненного в памяти 9, закодированного смежного субблока, и генерирует предсказанное изображение целевого субблока, который должен быть закодирован (этап S276). Сгенерированное предсказанное изображение целевого субблока, который должен быть закодирован, затем выдается на секцию 1 вычисления разности и секцию 8 вычисления суммы.
Секция 1 вычисления разности вычисляет остаточные данные предсказания целевого субблока, который должен быть закодирован, которые являются разностью между введенным первоначальным изображением целевого субблока, который должен быть закодирован, и предсказанным изображением, таким образом сгенерированным на этапе S276, и выдает остаточные данные предсказания (этап S277).
Остаточные данные предсказания, вычисленные на этапе S277, выдаются к секции 2 ортогонального преобразования и затем к секции 3 квантования, чтобы быть подвергнутым ортогональному преобразованию и квантованию, соответственно. Затем остаточные данные предсказания выдаются на секцию 4 статистического кодирования и секцию 6 обратного квантования (этап S278).
Остаточные данные предсказания, таким образом подвергнутые ортогональному преобразованию и квантованию, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секции 8 вычисления суммы (этап S279).
Секция 8 вычисления суммы суммирует остаточные данные предсказания, таким образом подвергнутые обратному квантованию и обратному ортогональному преобразованию на этапе S279, с предсказанным изображением, сгенерированным на этапе S276, чтобы сгенерировать локально декодированное изображение целевого субблока, который должен быть закодирован (этап S280). Локально декодированное изображение, таким образом сгенерированное, затем сохраняется в памяти 9.
Секция 4 статистического кодирования выполняет статистическое кодирование относительно квантованных остаточных данных предсказания целевого субблока, и выдает закодированные данные остаточных данных предсказания (этап S281).
Процессы от этапа S275 до этапа S281 выполняются относительно всех субблоков, составляющих целевой блок, который должен быть закодирован. Дополнительно, процессы от этапа S270 до этапа S281 выполняются относительно всех блоков, составляющих целевое изображение, которое должно быть закодировано.
Настоящий вариант осуществления описывает процесс кодирования изображения в устройстве 700 кодирования изображения в порядке от этапа S270 до этапа S281. Однако, порядок процесса кодирования изображения не ограничивается этим, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Компоновка группы наборов предсказания)
Конкретный пример компоновки группы наборов предсказания, используемой в настоящем варианте осуществления, показан в Таблице 32-34, взяв в качестве примера случай, когда количество групп наборов предсказания равно 3.
Таблица 32 показывает первую группу предсказания, включающую в себя набор предсказания 0 (обычный набор предсказания), используемый в обычной методике, набор предсказания 1 (первый набор предсказания в горизонтальном направлении), который сосредотачивается на предсказаниях в горизонтальном направлении, и набор предсказания 2 (первый набор предсказания в вертикальном направлении), который сосредотачивается на предсказаниях в вертикальном направлении. Первая группа наборов предсказания предпочтительно включает в себя оба из набора предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении, и набора предсказания, который сосредотачивается на вертикальном направлении.
Таблица 33 показывает вторую группу наборов предсказания, включающую в себя группу наборов предсказания, которая является обычным набором предсказания 0, набор предсказания 1, который является первым набором предсказания в горизонтальном направлении, и набор предсказания 2 (второй набор предсказания в горизонтальном направлении), который сосредотачивается на предсказаниях в горизонтальном направлении, каковые предсказания отличаются от таковых в первом наборе горизонтального предсказания.
Таблица 34 показывает третью группу наборов предсказания включает в себя набор предсказания 0, который является обычным набором предсказания, набор предсказания 1, который является первым набором предсказания в вертикальном направлении, и набор предсказания 2 (второй набор предсказания в вертикальном направлении), который сосредотачивается на предсказаниях в вертикальном направлении, каковые предсказания отличаются от таковых в первом наборе предсказания в вертикальном направлении.
[Таблица 32]
Набор предсказания
0
1
2
Режим предсказания
0
-90
-90
-90
1
0
0
0
2
DC
DC
DC
3
-45
-15
-75
4
45
15
75
5
67,5
-30
-60
6
22,5
30
60
7
-67,5
-60
-30
8
-22,5
60
30
[Таблица 33]
Набор предсказания
0
1
2
Режим предсказания
0
-90
-90
-90
1
0
0
0
2
DC
DC
DC
3
-45
-15
-10
4
45
15
10
5
67,5
-30
-20
6
22,5
30
20
7
-67,5
-60
-40
8
-22,5
60
40
[Таблица 34]
Набор предсказания
0
1
2
Режим предсказания
0
-90
-90
-90
1
0
0
0
2
DC
DC
DC
3
-45
-75
-80
4
45
75
80
5
67,5
-60
-70
6
22,5
60
70
7
-67,5
-30
-50
8
-22,5
30
50
Среди первой-третьей групп наборов предсказания группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, определяется из интра-предсказаний, которые применяются ко всем субблокам в пределах (a) закодированных блоках 60a и 60c, каждый смежный с целевым блоком 61, (b) закодированных блоках 60a-60d, (c) закодированных блоках 60a-60e и закодированном блоке 60h, или (d) закодированных блоках 60a–60k, на фиг. 9. Группа наборов предсказания определяется посредством использования следующих индексов (1)-(6):
(1) Частота появления Nh (≥0) направления предсказания θ (-45 [градусов]<θ≤45 [градусов]) в горизонтальном направлении;
(2) Частота появления Nv (≥0) направления предсказания θ (-90 [градусов]≤θ≤-45 [градусов], 45 [градусов]<θ<90 [градусов]) в вертикальном направлении;
(3) Общая стоимость Nmax для Nh и Nv (Nmax = Nh+Nv);
(4) Заранее определенный порог T0;
(5) Заранее определенный порог T1; и
(6) Заранее определенный порог T2.
Таким образом, группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, вычисляется согласно следующим неравенствам (44)-(47).
Матем. 23
Более подробно, группа наборов предсказания определяется на основании следующего.
(1) Если неравенство (44) удовлетворяется, группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, является первой группой набора предсказания.
(2) Если неравенство (44) не удовлетворяется, группа наборов предсказания определяется согласно следующему:
(2-a) если неравенство (45) удовлетворяется, то определяется, что направления предсказания в горизонтальном направлении будут появляться более часто, чем направления предсказания в вертикальном направлении в целевом блоке, подлежащему кодированию. Поэтому, вторая группа наборов предсказания применяется к целевому блоку, который должен быть закодирован;
(2-b) если неравенство (46) удовлетворяется, то определяется, что частота появления направления предсказания в горизонтальном направлении и частота появления направления предсказания в вертикальном направлении будут сопоставимы друг с другом. Поэтому, первая группа наборов предсказания применяется к целевому блоку, который должен быть закодирован; или
(2-c) если неравенство (47) удовлетворяется, то определяется, что направления предсказания в вертикальном направлении будут появляться более часто, чем направления предсказания в горизонтальном направлении в целевом блоке, подлежащему кодированию. Поэтому третья группа наборов предсказания применяется к целевому блоку, который должен быть закодирован.
Порог T1 и порог T2 может быть установлен таким образом, что T1=Nmax/3 и T2=2Nmax/3. Порог T0 - заранее определенное значение, определенное согласно количеству субблоков в закодированных смежных блоках, на которые могут ссылаться.
(Процесс работы выбора группы наборов предсказания)
Ниже описан процесс работы секцию 15 выбора группы наборов предсказания во время выбора группы наборов предсказания со ссылками на фиг. 59. Фиг. 59 - последовательность операций, показывающая, как секция 15 выбора группы наборов предсказания работает во время выбора группы наборов предсказания.
Секция 15 выбора группы наборов предсказания определяет, есть ли блок, на который могут ссылаться, в закодированных блоках, смежных с целевым блоком, который должен быть закодирован (этап S290). Если нет никакого блока, на который могут ссылаться (Нет на этапе S290), группа наборов предсказания, которая должна быть применена к целевому блоку, устанавливается равной первой группе наборов предсказания. Секция 15 выбора группы наборов предсказания затем выдает информацию группы наборов предсказания, указывающую “первую группу наборов предсказания”, и завершает свою работу (этап S291).
Если есть блок, на который можно ссылаться (Да на этапе S290), секция 15 выбора группы наборов предсказания вычисляет параметры Nh, Nv, Nmax, T1, и T2 на основании всех частей информации набора предсказания и всех частей информации режима предсказания в закодированном смежном блоке, на который можно ссылаться (этап S292). Секция 15 выбора группы наборов предсказания затем определяет группу наборов предсказания, чтобы которые должны быть применены к целевому блоку, который должен быть закодирован, с использованием Nh, Nv, Nmax, T1, и T2, таким образом вычисленного на этапе S292. Более подробно, секция 15 выбора группы наборов предсказания определяет, удовлетворяется ли неравенство (44) или нет (этап S293).
Если неравенство (44) удовлетворяется (Да на этапе S293), первая группа наборов предсказания устанавливается как группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован. Секция 15 выбора группы наборов предсказания затем выдает информацию группы наборов предсказания, указывающую “первая группа наборов предсказания”, и завершает свою работу (этап S294).
Если неравенство (44) не удовлетворяется (Нет на этапе S293), то определяется, удовлетворяется ли неравенство (45) или нет (этап S295).
Если неравенство (45) удовлетворяется (Да на этапе S295), вторая группа наборов предсказания устанавливается как группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован. Соответственно, секция 15 выбора группы наборов предсказания выдает информацию группы наборов предсказания, указывающую “вторая группа наборов предсказания”, и завершает свою работу (этап S296).
Если неравенство (45) не удовлетворяется (Нет на этапе S295), то дополнительно определяется, удовлетворяется ли неравенство (46) или нет (этап S297).
Если неравенство (46) удовлетворяется (Да на этапе S297), первая группа наборов предсказания устанавливается как группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован. Соответственно, секция 15 выбора группы наборов предсказания выдает информацию группы наборов предсказания, указывающую “первая группа наборов предсказания”, и завершает свою работу (этап S298).
Если неравенство (46) не удовлетворяется (Нет на этапе S297), то определяется, что неравенство (47) удовлетворяется, и третья группа наборов предсказания устанавливается как группа наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован. Соответственно, секция 15 выбора группы наборов предсказания выдает информацию группы наборов предсказания, указывающую “третья группа наборов предсказания”, и завершает свою работу (этап S299).
Секция 15 выбора группы наборов предсказания затем сохраняет информацию группы наборов предсказания, которая должна быть выведена, в памяти, обеспеченной в ней. Дополнительно, процесс работы секции 15 выбора группы наборов предсказания во время выбора группы наборов предсказания поясняется в порядке от этапа S290 до этапа S299. Однако, порядок процесса операции не ограничивается этим порядком, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
При такой компоновке секция 15 выбора группы наборов предсказания может автоматически определить группу наборов предсказания, который должен быть применен к целевому блоку, который должен быть закодирован, на основании информации закодированных смежных блоков, расположенных вокруг целевого блока, который должен быть закодирован.
Например, если направления предсказания в горизонтальном направлении появляются более часто, чем направления предсказания в вертикальном направлении в закодированных смежных блоках, группа наборов предсказания, включающая в себя множество наборов предсказания, которые сосредотачиваются на предсказаниях в горизонтальном направлении, применяется к целевому блоку, который должен быть закодирован. Дополнительно, если направления предсказания в вертикальном направлении появляются более часто, чем направления предсказания в горизонтальном направлении в закодированных смежных блоках, группа наборов предсказания, включающая в себя множество наборов предсказания, которые сосредотачиваются на предсказаниях в вертикальном направлении, применяется к целевому блоку, который должен быть закодирован. Кроме того, если направления предсказания в горизонтальном направлении и направления предсказания в вертикальных направлениях кажутся равновероятными, то выбирается группа наборов предсказания, в которую равномерно включены наборы предсказания, которые сосредотачиваются на горизонтальном направлении и наборах предсказания, которые сосредотачиваются на вертикальном направлении.
В результате, возможно эффективно закодировать целевой блок посредством использования группы наборов предсказания, включающей в себя наборы предсказания, более подходящие для предсказания изображения целевого блока.
Кроме того, секция 15 выбора группы наборов предсказания аналогично применима к устройству декодирования изображения. В этом случае, возможно автоматически определить группу наборов предсказания, которые должны быть применены к целевому блоку, который должен быть декодирован, на основании информации декодированных смежных блоков.
(Подробности того, как определить значение предсказания набора предсказания)
Ниже описано, как определить значение предсказания набора предсказания, более подробно.
Сначала значение предсказания набора предсказания временно определяется любым из следующих способов (1)-(3).
(1) Набор предсказания, который появляется чаще всего среди наборов предсказания, примененных к блокам (60a–60k), расположенным в окрестности целевого блока 61, который должен быть закодирован, на фиг. 9, устанавливается в качестве значения предсказания.
(2) Набор предсказания, примененный к закодированному блоку (60a), расположенному слева от целевого блока 61, который должен быть закодирован, на фиг. 9, устанавливается в качестве значения предсказания.
(3) Набор предсказания, примененный к закодированному блоку (60c), расположенному сверху целевого блока 61, который должен быть закодирован, на фиг. 9, устанавливается в качестве значения предсказания.
Определенное значение предсказания набора предсказания для целевого блока, который должен быть закодирован, указывает “‘набор предсказания i’ в ‘i-й'" группе наборов предсказания.
Затем “i-я группа наборов предсказания”, указанная определенным значением предсказания набора предсказания для целевого блока, сравнивается с “k-й группой наборов предсказания”, указанной информацией группы наборов предсказания целевого блока, который должен быть закодирован. Если “i-я группа наборов предсказания”, указанная значением предсказания, идентична с “k-й группой наборов предсказания” целевого блока, который должен быть закодирован, определенное значение предсказания выдается к секции 754 генерирования относительной информации набора предсказания.
В других случаях находят "какой набор предсказания в группе наборов предсказания, которые должны быть применены к целевому блоку, который должен быть закодирован, соответствует определенному значению предсказания набора предсказания”, посредством использования нижеупомянутой таблицы соответствия наборов предсказания. Затем, соответствующий набор предсказания определяется в качестве значения предсказания. Значение предсказания, определенное таким образом, выдается к секции 754 генерирования относительной информации набора предсказания.
Примерная таблица соответствия наборов предсказания первой группы наборов предсказания, второй группы наборов предсказания и третьей группы наборов предсказания, соответственно показанных в Таблицах 32, 33 и 34, показаны в Таблицах 35, 36 и 37, соответственно.
Таблица соответствия наборов предсказания, показанная в Таблице 35, показывает соответствующие наборы предсказания во второй и третьей группах наборов предсказания, которые является приближением к соответствующим наборам предсказания в первой группе наборов предсказания. Таблица соответствия наборов предсказания, показанная в Таблице 36, показывает соответствующие наборы предсказания в первой и третьей группах наборов предсказания, которые являются приближением к соответствующим наборам предсказания во второй группе наборов предсказания. Дополнительно, таблица соответствия наборов предсказания, показанная в Таблице 37, показывает соответствующие наборы предсказания в первой и второй группах наборов предсказания, которые являются приближением к соответствующим наборам предсказания в третьей группе наборов предсказания. Более подробно, в Таблице 35 набор предсказания 1 в первой группе наборов предсказания является наиболее приближенным к набору предсказания 1 во второй группе наборов предсказания и набору предсказания в третьей группе предсказания. Предпочтительно установить заранее таблицы соответствия наборов предсказания заранее определенным способом.
[Таблица 35]
Первая группа наборов предсказания
Вторая группа наборов предсказания
Третья группа наборов предсказания
Набор предсказания
0
0
0
1
1
0
2
0
2
[Таблица 36]
Первая группа наборов предсказания
Вторая группа наборов предсказания
Третья группа наборов предсказания
Набор предсказания
0
0
0
1
1
0
2
1
0
[Таблица 37]
Первая группа наборов предсказания
Вторая группа наборов предсказания
Третья группа наборов предсказания
Набор предсказания
0
0
0
1
2
0
2
2
0
(Процесс работы секции 751 формирования относительной информации набора предсказания)
То, как работает секция 751 формирования относительной информации набора предсказания, описывается ниже со ссылками на фиг. 60. Фиг. 60 - последовательность операций, показывающая, как работает секция 751 формирования относительной информации набора предсказания.
Сначала секция 752a сохранения и секция 752b сохранения принимают и затем сохраняют, соответственно, информацию набора предсказания и информацию группы наборов предсказания целевого блока, который должен быть закодирован (этап S300).
Секция 753 предсказания информации набора предсказания вычисляет значение предсказания набора предсказания для целевого блока, который должен быть закодирован, из каждой из информации группы наборов предсказания и информации набора предсказания закодированного смежного блока (этап S301). Секция 753 предсказания информации набора предсказания затем определяет, модифицируется ли значение предсказания, вычисленное на этапе S301, на основании группы наборов предсказания целевого блока, который должен быть закодирован (этап S302).
Если значение предсказания не модифицируется (Нет на этапе S302), секция 753 предсказания информации набора предсказания выдает значение предсказания к секции 754 генерирования относительной информации набора предсказания. Если значение предсказания модифицируется (Да на этапе S302), секция 753 предсказания информации набора предсказания модифицирует значение предсказания, вычисленное на этапе S301, и затем выдает модифицированное значение предсказания к секции 754 генерирования относительной информации набора предсказания (этап S303).
Секция 754 генерирования относительной информации набора предсказания генерирует относительную информацию набора предсказания на основании информации набора предсказания целевого блока, который должен быть закодирован, и это значение предсказания выдается из секции 753 предсказания информации набора предсказания. Секция 754 генерирования относительной информации набора предсказания затем выдает относительную информацию набора предсказания (этап S304).
Как описано выше, если набор предсказания целевого блока, который должен быть закодирован, и значение предсказания набора предсказания для целевого блока, который должен быть закодирован, где значение предсказания определяется заранее определенным способом, принадлежат различным группам наборов предсказания, секция 753 предсказания информации набора предсказания преобразовывает значение предсказания в соответствующий набор предсказания в группе наборов предсказания целевого блока, который должен быть закодирован, согласно вышеупомянутой таблице соответствия наборов предсказания. Это приводит к тому, что точность в предсказании набора предсказания может быть улучшена, и объем кодирования, необходимый для набора предсказания, может быть уменьшен.
(Дополнительные замечания)
Настоящий вариант осуществления относился к случаю, в котором примерная компоновка каждой заранее определенной группы наборов предсказания (первой группы наборов предсказания, второй группы наборов предсказания, третьей группы наборов предсказания) такова, что количества L наборов предсказания равно 3, количество Ki режимов предсказания равно 9 (i=0, 1, 2). Однако эта компоновка не ограничивается этим. Например, каждая из групп наборов предсказания может быть такой, что количество L наборов предсказания может быть равно 5 или 9, или другому натуральному числу. Дополнительно, количества наборов предсказания в соответствующих группах наборов предсказания могут отличаться друг от друга. Однако, в случае, когда компоновки группы наборов предсказания устанавливается по-разному по сравнению друг с другом, необходимо определить соответствующие таблицы соответствия наборов предсказания, соответственно.
Дополнительно, секция 15 выбора группы наборов предсказания в настоящем варианте осуществления выбирает группу наборов предсказания на основании направлений предсказания в интра-предсказаниях всех субблоков в закодированных смежных блоках. Однако то, как выбрать группу наборов предсказания, не ограничивается вышеупомянутым способом. Например, группа наборов предсказания может быть выбрана на основании наборов предсказания закодированных смежных блоков вокруг целевого блока, который должен быть закодирован. В этом случае, если частота появления горизонтальных наборов предсказания направления высока, выбирается вторая группа наборов предсказания. Если частота появления вертикальных наборов предсказания направления высока, выбирается третья группа наборов предсказания. Дополнительно, если горизонтальные наборы предсказания направления и вертикальные наборы предсказания направления кажутся одинаково вероятными, выбирается первая группа наборов предсказания. Дополнительно, группа наборов предсказания может быть выбрана таким образом, что ориентация края вычисляется согласно декодированным изображениям вокруг целевого блока, который должен быть закодирован, и группа наборов предсказания может быть выбрана на основании вычисленной ориентации края.
В настоящем варианте осуществления единицей изменения группы наборов предсказания является блок пиксели MxM. Однако, единица изменения группы наборов предсказания не ограничивается этим. Например, единица изменения группы наборов предсказания может быть макроблоком, срезом, картинкой (кадром), или GOP (группой изображений). Дополнительно, единица изменения группы наборов предсказания может быть заранее определена между устройством кодирования изображения и устройством декодирования изображения. Альтернативно, также возможно уведомить о единице посредством использования внешнего средства, а не устройством кодирования изображения и устройством декодирования изображения.
(Эффекты)
Как описано выше, устройство 700 кодирования изображения вычисляет частоту появления направления предсказания в интра-предсказании в смежном блоке, который был уже закодирован, относительно каждого блока, составляющего изображение. Например, в качестве частоты направления предсказания вычисляются частота появления направления предсказания в горизонтальном направлении и частота появления направления предсказания в вертикальном направлении.
Устройство кодирования изображения включает в себя множество групп наборов предсказания, причем каждый включает в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга. Устройство кодирования изображения выбирает группу наборов предсказания, соответствующую тенденции частоты появления направления предсказания в интра-предсказании в закодированном смежном блоке. Например, если частота появления направления предсказания в горизонтальном направлении высока, выбирается группа наборов предсказания, определяющая главным образом наборы предсказания, которые сосредотачиваются на предсказаниях в горизонтальном направлении. Дополнительно, если частота появления направления предсказания в вертикальном направлении высока, выбирается группа предсказания, определяющая главным образом наборы предсказания, которые сосредотачиваются на предсказаниях в вертикальном направлении. Кроме того, если частота появления в горизонтальном направлении и частота появления в вертикальном направлении сопоставимы друг с другом, выбирается группа наборов предсказания, в которой равномерно определяются наборы предсказания, которые сосредотачиваются на предсказаниях в горизонтальном направлении, и наборы предсказания, которые сосредотачиваются на предсказаниях в вертикальном направлении.
Затем набор предсказания, подходящий для целевого блока, который должен быть кодирован, выбирается из выбранной группы наборов предсказания. Целевой блок затем кодируют с использованием выбранного набора предсказания.
Также, устройство 700 кодирования изображения кодирует изображение с использованием набора предсказания, оптимального к характеристикам изображения. Эта компоновка позволяет устройству 700 кодирования изображения выполнять предсказание из большего количества различных углов, чем обычная методика, таким образом уменьшая объем кодирования изображения и улучшая качество изображения.
Дополнительно, устройство 700 кодирования изображения выражает способ предсказания иерархическим способом с информацией набора предсказания и информацией режима предсказания, таким образом позволяя выполнить более гибко выбор способа предсказания. В результате, возможно повысить эффективность предсказания, в то же время предотвращая увеличение объема кодирования, необходимого для способа предсказания.
Кроме того, если группа наборов предсказания, указанная набором предсказания целевого блока, который должен быть закодирован, отличается от группы наборов предсказания, указанной значением предсказания набора предсказания для целевого блока, где значение предсказания вычисляется заранее определенным способом, устройство 700 кодирования изображения преобразует значение предсказания в набор предсказания для группы наборов предсказания целевого блока согласно вышеупомянутой таблице соответствия наборов предсказания. Это позволяет улучшать точность в предсказании набора предсказания и сократить объем кодирования, необходимый для набора предсказания.
[Вариант осуществления 10]
Другой вариант осуществления устройства декодирования изображения согласно настоящему изобретению описывается ниже как Вариант осуществления 10 со ссылками на фиг. 61-64.
Устройство 150 декодирования изображения согласно Варианту осуществления 2 иллюстрирует случай, когда один набор предсказания, который должен быть применен к целевому блоку (блоку пикселей MxM), который должен быть декодирован, определяется из одной заранее определенной группы наборов предсказания (например, Таблица 2) на основании информации набора предсказания, которая была уже декодирована. Настоящий вариант осуществления относится к устройству декодирования изображения, которое выбирает одну группу наборов предсказания, в единицах блоков, из множества заранее определенных групп наборов предсказания с использованием информации относительно декодированного смежного блока (например, направления предсказания интра-предсказаний, используемых для субблоков, включенных в декодированные смежные блоки), и затем определяет один набор предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, из выбранной группы наборов предсказания, на основании информации декодированного набора предсказания.
(Компоновка устройства 750 декодирования изображения)
Компоновка устройства декодирования изображения согласно настоящему варианту осуществления описывается ниже со ссылками на фиг. 61. Фиг. 61 - блок-схема, иллюстрирующая компоновку устройства 750 декодирования изображения. Устройство 750 декодирования изображения главным образом включает в себя секцию 5 статистического декодирования, секцию 6 обратного квантования, секцию 7 обратного ортогонального преобразования, секцию 8 вычисления суммы, память 9, секцию 15 выбора группы наборов предсказания, секцию 710 интра-предсказания и секцию 755 формирования информации набора предсказания, как показано на фиг. 61. Настоящий вариант осуществления описывает только секцию 755 формирования информации набора предсказания, которая еще не была описана.
(Секция 755 формирования информации набора предсказания)
Секция 755 формирования информации набора предсказания формирует информацию набора предсказания целевого блока, который должен быть декодирован, на основании (a) относительной информации набора предсказания целевого блока, который должен быть декодирован, принятой от секции 5 статистического декодирования, (b) информации группы наборов предсказания целевого блока, который должен быть декодирован, принятой от секции 15 выбора группы наборов предсказания, и (c) информации группы наборов предсказания и информации набора предсказания декодированного смежного блока, сохраненной в секции 755 формирования информации набора предсказания.
Компоновка секции 755 формирования информации набора предсказания описывается ниже со ссылками на фиг. 62. Фиг. 62 - блок-схема, иллюстрирующая компоновку секции 755 формирования информации набора предсказания. Как показано на фиг. 62, секция 755 формирования информации набора предсказания включает в себя секцию 756a сохранения, секцию 756b сохранения, секцию 757 предсказания информации набора предсказания и секцию 758 генерирования информации набора предсказания. Каждый из элементов описывается ниже.
(Секции 756a, 756b сохранения)
Секции 756a и 756b сохранения временно сохраняют входную информацию. Секция 756a сохранения принимает информацию набора предсказания целевого блока, который должен быть декодирован, и сохраняет ее. Дополнительно, секция 756b сохранения принимает информацию группы наборов предсказания из секции 15 выбора группы наборов предсказания, и затем сохраняет ее. Информация набора предсказания и информация группы наборов предсказания, таким образом сохраненные, используются для предсказания набора предсказания последующего блока, который должен быть декодирован, после того, как целевой блок декодирован.
(Секция 757 предсказания информации набора предсказания)
Секция 757 предсказания информации набора предсказания определяет значение предсказания набора предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, заранее определенным способом на основе (i) принятой информации группы наборов предсказания целевого блока, и (ii) информации группы наборов предсказания и информации набора предсказания декодированного смежного блока, соответственно сохраненных в секциях 756a и 756b сохранения. Секция 757 предсказания информации набора предсказания подает таким образом определенное значение предсказания к секции 758 генерирования информации набора предсказания.
Определение значения предсказания набора предсказания для целевого блока является таким же, как в секции 753 предсказания информации набора предсказания, и поэтому не поясняется здесь.
(Секция 758 генерирования информации набора предсказания)
Секция 758 генерирования информации набора предсказания имеет ту же функцию, что и секция 521 генерирования информации набора предсказания в Варианте осуществления 2. Таким образом, секция 758 генерирования информации набора предсказания генерирует информацию набора предсказания на основании относительной информации набора предсказания и значения предсказания набора предсказания, определенного секцией 757 предсказания информации набора предсказания.
(Краткий обзор процесса декодирования изображения)
Процесс декодирования изображения в устройстве 750 декодирования изображения в общем поясняется ниже со ссылками на фиг. 63. Фиг. 63 - последовательность операций, схематично иллюстрирующая процесс декодирования изображения в устройстве 750 декодирования изображения.
Сначала устройство 750 декодирования изображения принимает закодированные данные целевого блока, который должен быть декодирован (этап S310).
Секция 15 выбора группы наборов предсказания выбирает группу наборов предсказания, которая должна быть применена к целевому блоку, который должен быть закодирован, на основании группы наборов предсказания декодированного смежного блока и частей информации режима предсказания субблоков, включенных в декодированный смежный блок. Секция 15 выбора группы наборов предсказания затем выдает информацию группы наборов предсказания к секции 755 формирования информации набора предсказания и секции 710 интра-предсказания (этап S311).
Секция 5 статистического декодирования выполняет статистическое декодирование в отношении относительной информации набора предсказания целевого блока, который должен быть декодирован в принятых закодированных данных, и выдает относительную информацию набора предсказания к секции 755 формирования информации набора предсказания (этап S312).
Секция 755 формирования информации набора предсказания формирует информацию набора предсказания целевого блока, который должен быть декодирован, на основании: относительной информации набора предсказания, таким образом статистически декодированной на этапе S312; информации группы набора предсказания, таким образом выбранной на этапе S311; и информации группы набора предсказания и информации набора предсказания декодированного смежного блока, сохраненного в секции 755 формирования информации набора предсказания (этап S313). Таким образом сформированная информация набора предсказания целевого блока, который должен быть декодирован, затем выдается секции 15 выбора группы наборов предсказания.
Секция 5 статистического декодирования выполняет статистическое декодирование в отношении информации режима предсказания целевого блока, который должен быть декодирован. Целевой субблок является субблоком, полученным посредством разделения целевого блока, который должен быть декодирован, на блоки заранее определенного размера (блок пикселей NxN). Секция 5 статистического декодирования выдает статистически декодированную информацию режима предсказания к секции 710 интра-предсказания (этап S314). Дополнительно, секция 5 статистического декодирования выполняет статистическое декодирование в отношении значения квантования остаточных данных предсказания целевого субблока, который должен быть декодирован, (этап S315).
Секция 710 интра-предсказания выполняет интра-предсказание, определенное группой набора предсказания, выбранной на этапе S311, информацией набора предсказания, сформированной на этапе S313, и информацией режима предсказания, таким образом статистически декодированной на этапе S314, с использованием локально декодированного изображения, сохраненного в памяти 9, декодированных смежных субблоков, чтобы сгенерировать предсказанное изображение целевого субблока, который должен быть декодирован (блок пикселей NxN) (этап S316).
Остаточные данные предсказания, статистически декодированные на этапе S315, выдаются к секции 6 обратного квантования и затем секции 7 обратного ортогонального преобразования, чтобы быть подвергнутыми обратному квантованию и обратному ортогональному преобразованию, соответственно. Остаточные данные предсказания затем выдаются к секции 8 вычисления суммы (этап S317).
Секция 8 вычисления суммы суммирует предсказанное изображение, таким образом сгенерированное на этапе S316, с остаточными данными предсказания, таким образом подвергнутыми обратному квантованию и обратному ортогональному преобразованию на этапе S317, чтобы сгенерировать декодированное изображение (блок пикселей NxN) целевого субблока. Секция 8 вычисления суммы затем выдает декодированное изображение (этап S318).
Наконец, память 9 хранит декодированное изображение целевого субблока, который должен быть декодирован, сгенерированное на этапе S318 (этап S319).
Устройство 750 декодирования изображения выполняет процессы от этапа S314 до этапа S319 относительно всех субблоков, составляющих целевой блок, который должен быть декодирован. Дополнительно, устройство 750 декодирования изображения выполняет процессы от этапа S310 до этапа S319 относительно всех блоков, составляющих целевое изображение, которое должно быть декодировано.
В настоящем варианте осуществления описан процесс декодирования в устройстве 750 декодирования изображения в порядке от этапа S310 до этапа S319. Однако, порядок процесса декодирования не ограничивается этим, и может быть изменен в пределах объема, в котором может быть выполнено настоящее изобретение.
(Процесс работы секции 755 формирования информации набора предсказания)
Ниже описано как работает секция 755 формирования информации набора предсказания со ссылками на фиг. 64. Фиг. 64 - последовательность операций того, как работает секция 755 формирования информации набора предсказания.
Сначала секция 757 предсказания информация набора предсказания вычисляет значение предсказания набора предсказания для целевого блока на основании информации группы наборов предсказания и информации набора предсказания каждого декодированного смежного блока (этап S320). Затем секция 757 предсказания информации набора предсказания определяет, модифицируется ли значение предсказания, таким образом вычисленное на этапе S320, на основании группы наборов предсказания, указанной значением предсказания, и группы наборов предсказания целевого блока, который должен быть декодирован, (этап S321).
Если значение предсказания не модифицируется (Нет на этапе S321), секция 757 предсказания информации набора предсказания выдает значение предсказания к секции 758 генерирования информации набора предсказания. Если значение предсказания модифицируется (Да на этапе S321), секция 757 предсказания информации набора предсказания модифицирует значение предсказания, вычисленное на этапе S320, согласно таблице соответствия наборов предсказания, и выдает модифицированное значение предсказания секции 758 генерирования информации набора предсказания (этап S322).
Секция 758 генерирования информации набора предсказания генерирует информацию набора предсказания на основании относительной информации набора предсказания целевого блока, который должен быть декодирован, и значения предсказания, принятого от секции 757 предсказания информации набора предсказания, и выдает сгенерированную информацию набора предсказания (этап S323).
Наконец, секция 756a сохранения сохраняет информацию набора предсказания целевого блока, который должен быть декодирован, сформированную на этапе S323, и секция 756b сохранения сохраняет информацию группы наборов предсказания целевого блока, который должен быть декодирован (этап S324).
Как описано выше, если набор предсказания, указанный набором предсказания целевого блока, который должен быть декодирован, отличается от значения предсказания, вычисленного заранее определенным способом, для набора предсказания целевого блока, который должен быть декодирован, секция 757 предсказания информации набора предсказания преобразовывает значение предсказания в набор предсказания в группе наборов предсказания целевого блока, который должен быть декодирован, согласно таблице соответствия наборов предсказания. Это позволяет улучшать точность в предсказании набора предсказания и сократить закодированный объем набора предсказания, который должен быть декодирован.
(Дополнительные замечания)
В настоящем варианте осуществления секция 15 выбора группы наборов предсказания выбирает группу наборов предсказания на основании направлений предсказания интра-предсказаний всех субблоков, включенных в декодированные смежные блоки. Однако, как выбрать группу наборов предсказания не ограничивается этим. Например, секция 15 выбора группы наборов предсказания может выбрать группу наборов предсказания на основании наборов предсказания декодированных смежных блоков вокруг целевого блока, который должен быть декодирован. В этом случае, если частота появления наборов предсказания в горизонтальном направлении высока, предпочтительно выбирается вторая группа наборов предсказания. Между тем, если частота появления наборов предсказания в вертикальном направлении высока, предпочтительно выбирается третья группа наборов предсказания. Кроме того, если наборы предсказания в горизонтальном направлении и наборы предсказания в вертикальном направлении кажутся равномерно вероятными, предпочтительно выбирается первая группа наборов предсказания. Дополнительно, группа наборов предсказания может быть выбрана таким образом, что ориентация края вычисляется согласно декодированным изображениям вокруг целевого блока, который должен быть декодирован, и группа наборов предсказания может быть выбрана на основании вычисленной ориентации края.
Кроме того, в настоящем варианте осуществления, единицей изменения группы наборов предсказания является блок пикселей MxM. Однако, единица изменения группы наборов предсказания не ограничивается этим. Например, единица изменения группы наборов предсказания может быть макроблоком, срезом, картинкой (кадром), или GOP (группой изображений). Дополнительно, единица изменения группы наборов предсказания может быть заранее определена между устройством кодирования изображения и устройством декодирования изображения. Альтернативно, также возможно уведомить о единице посредством использования внешнего средства, а не устройством кодирования изображения и устройством декодирования изображения.
(Эффекты)
Как описано выше, устройство 750 декодирования изображения включает в себя множество групп наборов предсказания, каждая включающая в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга.
Устройство 750 декодирования изображения вычисляет частоту появления направления предсказания в интра-предсказании в смежном блоке, который был уже декодирован, относительно каждого блока, составляющего изображение. Например, в качестве частоты направления предсказания вычисляются частота появления направления предсказания в горизонтальном направлении и частота появления направления предсказания в вертикальном направлении.
Устройство 750 декодирования изображения выбирает группу наборов предсказания, подходящую тенденции частоты появления направления предсказания в интра-предсказании в декодированном смежном блоке. Например, если частота появления направления предсказания в горизонтальном направлении высока, выбирается группа наборов предсказания, определяющая главным образом наборы предсказания, которые сосредотачиваются на предсказаниях в горизонтальном направлении. Дополнительно, если частота появления направления предсказания в вертикальном направлении высока, выбирается группа наборов предсказания, определяющая главным образом наборы предсказания, которые сосредотачиваются на предсказаниях в вертикальном направлении. Кроме того, если частота появления в горизонтальном направлении и частота появления в вертикальном направлении сопоставимы друг с другом, выбирается группа наборов предсказания, в которой равномерно определяются наборы предсказания, которые сосредотачиваются на предсказаниях в горизонтальном направлении, и наборы предсказания, которые сосредотачиваются на предсказаниях в вертикальном направлении.
Затем информация набора предсказания, который должен быть применен к целевому блоку, который должен быть декодирован, декодируется с использованием информации группы наборов предсказания и относительной информации набора предсказания целевого блока, который должен быть декодирован, и информации набора предсказания и информации группы наборов предсказания декодированного смежного блока. Процесс выполняется для каждого блока, составляющего изображение.
Наконец, устройство 750 декодирования изображения выполняет интра-предсказание относительно целевого субблока (на который целевой блок, который должен быть декодирован, подразделяется), с использованием локально декодированного изображения субблока, смежного с целевым субблоком, чтобы сгенерировать предсказанное изображение целевого субблока. Устройство 750 декодирования изображения затем объединяет сгенерированное предсказанное изображение и декодированные остаточные данные предсказания, чтобы восстановить изображение целевого субблока.
В результате в случае, когда декодированная информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с горизонтальным направлением в качестве главного. Дополнительно, в случае, когда декодированная информация набора предсказания указывает набор предсказания, который сосредотачивается на предсказаниях в вертикальном направлении, возможно сгенерировать предсказанное изображение из более специфических углов с вертикальным направлением в качестве главного. Следовательно, устройство 750 декодирования изображения может выполнить процесс декодирования с использованием предсказаний из большего количества различных углов, чем обычная методика, таким образом позволяя выполнить воспроизведение части края более эффективно. В результате возможно восстановить изображение с улучшенным качеством изображения.
Дополнительно, устройство 750 декодирования изображения выполняет предсказание в трех стадиях группы наборов предсказания, набора предсказания, и режима предсказания. Это может реализовать высокую точность в предсказании и предотвратить увеличение закодированного объема.
Кроме того, в случае, когда группа наборов предсказания, указанная набором предсказания целевого блока, который должен быть закодирован, отличается из группы наборов предсказания, указанной значением предсказания набора предсказания для целевого блока, причем это значение предсказания вычисляется заранее определенным способом, устройство 750 декодирования изображения преобразует значение предсказания в набор предсказания группы наборов предсказания целевого блока согласно вышеупомянутой таблице соответствия наборов предсказания. Это позволяет улучшить точность в предсказании набора предсказания и сократить закодированный объем набора предсказания, который должен быть декодирован.
(Программа и носитель данных)
Наконец, блоки 100, 200, 500, 500b, 600, 600b и 700 устройств кодирования изображения и устройства 150 250, 550, 550b, 650, 650b, и 750 декодирования изображения могут быть реализованы посредством аппаратного обеспечения или программного обеспечения, которое выполняется центральным процессором следующим образом.
Устройства 100, 200, 500, 500b, 600, 600b, и 700 кодирования изображения, и устройства 150, 250, 550, 550b, 650, 650b, и 750 декодирования изображения каждое включает в себя центральный процессор (CPU) и запоминающие устройства (запоминающие носители). CPU (центральный процессор) выполняет команды в управляющих программах, реализующих функции. Запоминающие устройства включают в себя ПЗУ (память только для считывания), которая содержит программы, ОЗУ (память с произвольным доступом), в которую программы загружаются, и память, содержащую программы и различные данные. Цель настоящего изобретения может также быть достигнута посредством установки в устройства 100, 200, 500, 500b, 600, 600b, и 700 кодирования изображения и устройства 150, 250, 550, 550b, 650, 650b, и 750 декодирования изображения считываемого компьютером носителя данных, содержащего программный код управления (выполнимая программа, промежуточный программный код, или первоначальная программа) для устройств 100, 200, 500, 500b, 600, 600b, и 700 кодирования изображения и устройств 150, 250, 550, 550b, 650, 650b, и 750 декодирования изображения, который является программной реализацией вышеупомянутых функций, для компьютера (или CPU, MPU), чтобы извлечь и выполнить программный код, содержащийся в носителе данных.
Носитель данных может быть, например, лентой, такой как магнитная лента или кассетная лента; магнитным диском, таким как дискета (зарегистрированный торговый знак), диск или жесткий диск, или оптический диск, такой как CD-ROM/MO/MD/DVD/CD-R; платой, такая как плата IC (карточка с памятью) или оптическая плата; или полупроводниковой памятью, такой как маска ROM/EPROM/EEPROM/флэш ПЗУ.
Устройства 100, 200, 500, 500b, 600, 600b и 700 кодирования изображения и устройства 150, 250, 550, 550b, 650, 650b и 750 декодирования изображения могут быть выполнены так, чтобы быть подсоединяемыми к системе связи так, чтобы программный код мог быть передан по сети связи. Сеть связи не ограничивается никаким конкретным способом, и может быть, например, Интернет, интранет, экстранет, локальной сетью, цифровой сетью с комплексными услугами, виртуальной локальной сетью, системой связи кабельного телевидения, виртуальной сетью связи специального назначения (виртуальной частной сетью), телефонной сетью, мобильной системой связи или сетью спутниковой связи. Носитель передачи, который образует сеть связи, не ограничивается конкретным способом, и может быть, например, проводной линией, такой как IEEE 1394, USB, линией электропитания, линией кабельного телевидения, телефонной линией, или линией ассиметричной цифровой абонентской линии; или беспроводной линией, такой как инфракрасного излучения (IrDA, удаленное управление), Технология Bluetooth (зарегистрированный торговый знак), 802.11 беспроводный, HDR, мобильной телефонной сетью, спутниковой линией, или наземной цифровой сетью. Настоящее изобретение охватывает сигнал компьютерных данных, который внедрен в носитель и в котором программный код воплощается с помощью электроники.
Настоящее изобретение не ограничивается описанием вариантов осуществления выше, но может быть изменено специалистом в рамках формулы изобретения. Вариант осуществления, основанный на надлежащей комбинации технических средств, раскрытых в различных вариантах осуществления, охватывается техническим объемом настоящего изобретения.
(Дополнительные замечания)
Настоящее изобретение может быть также описано следующим образом.
(Первая компоновка)
Устройство кодирования изображения согласно первой компоновке - устройство кодирования для кодирования изображения и включает в себя: средство вычисления для вычисления информации края (краев) по меньшей мере в отношении ориентации края для края в каждом составляющем изображении; средство выбора для выбора набора предсказания, подходящего для информации края, таким образом вычисленной для составляющей изображения, из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга; и средство кодирования для выполнения кодирования для составляющего изображения посредством использования набора предсказания, таким образом выбранного, для каждого составляющего изображение.
В этой компоновке устройство кодирования изображения вычисляет информацию края по меньшей мере в отношении ориентации края для края в каждом изображении, составляющем изображение, которое должно быть закодировано. В качестве информации края, вычисляются ориентация края и/или уровень края составляющего изображение, или информация его распределения, например. Устройство кодирования изображения выбирает набор предсказания, соответствующий вычисленной информации края, из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга. Устройство кодирования изображения затем кодирует составляющее изображение посредством использования выбранного набора предсказания. Например, в случае, когда информация края указывает ориентацию края в горизонтальном направлении, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении. С другой стороны, в случае, когда информация края указывает ориентацию края в вертикальном направлении, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, который сосредотачивается на предсказаниях в вертикальном направлении.
Как таковое, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, оптимального для информации края изображения. Это позволяет устройству кодирования изображения выполнять предсказания из более специфичных углов, чем обычная методика. В результате возможно уменьшить объем кодирования остаточных данных предсказания изображения и улучшить качество изображения.
(Вторая компоновка)
Устройство кодирования изображения согласно первой компоновке дополнительно включает в себя средство разделения для деления изображения на блоки заранее определенного единичного размера, и устройство кодирования изображения скомпоновано таким образом, что средство вычисления вычисляет информацию края целевого блока, средство выбора выбирает набор предсказания, соответствующий информации края, таким образом вычисленной, относительно целевого блока, и средство кодирования кодирует информацию, указывающую набор предсказания, таким образом выбранный для каждого блока, а также кодирует целевой блок посредством использования набора предсказания, выбранного таким образом.
В этой компоновке устройство кодирования изображения выполняет кодирование для каждого заранее определенного единичного блока, составляющего изображение. В это время устройство кодирования изображения использует набор предсказания, подходящий для информации края целевого блока. Например, в изображении для целевого блока, имеющего много краев в горизонтальном направлении, устройство кодирования изображения кодирует целевой блок посредством использования набора предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении. С другой стороны, в том же самом изображении, для другого целевого блока, имеющего много краев в вертикальном направлении, устройство кодирования изображения кодирует другой целевой блок посредством использования набора предсказания, который сосредотачивается на предсказаниях в вертикальном направлении.
Эта компоновка может дополнительно улучшить качество изображения.
(Третья компоновка)
Устройство кодирования изображения согласно второй компоновке дополнительно включает в себя средство разделения на блоки для подразделения целевого блока на субблоки, и устройство кодирования изображения скомпоновано таким образом, что информация края вычисляет информацию края, указывающую ориентации края для каждого субблока в целевом блоке, и средство выбора выбирает из множества наборов предсказания набор предсказания, имеющий наименьшую степень подобия между направлениями предсказания, указанными режимами предсказания в наборе предсказания, и ориентациями края всех субблоков в целевом блоке.
В этой компоновке устройство кодирования изображения подразделяет каждый из блоков, составляющих изображение, на множество субблоков. Дополнительно, устройство кодирования изображения вычисляет для каждого субблока информацию края, указывающую ориентации края целевого субблока. Таким образом, вычисляется множество ориентаций края, включенных в целевой блок. Затем устройство кодирования изображения выбирает из множества наборов предсказания набор предсказания, имеющий наименьшую степень подобия между направлениями предсказания, указанными режимами предсказания в наборе предсказания, и ориентациями края всех субблоков в целевом блоке.
С вышеупомянутыми процессами устройство кодирования изображения может найти набор предсказания, оптимальный для кодирования целевого блока, из множества наборов предсказания. Это приводит к тому, что объем кодирования изображения может быть максимально уменьшен, и качество изображения может быть максимально улучшено.
(Четвертая компоновка)
Устройство кодирования изображения согласно четвертой компоновке - устройство кодирования изображения для кодирования изображения и включает в себя: средство вычисления для вычисления информации края по меньшей мере в отношении ориентации края для края в каждом изображении, составляющем изображение; средство определения для определения соответствующих направлений предсказания, соответствующих множеству режимов предсказания в наборе предсказания, на основании информации края, таким образом вычисленной для каждого составляющего изображения; и средство кодирования для выполнения кодирования для каждого составляющего изображения посредством использования набора предсказания, таким образом определенного, для каждого составляющего изображения.
В этой компоновке устройство кодирования изображения вычисляет информацию края по меньшей мере в отношении ориентации края для края каждого изображения, составляющего изображение, которое должно быть закодировано. В качестве информации края, вычисляются ориентация края и/или уровень края составляющего изображение, или информация их распределения, например. Устройство кодирования изображения определяет соответствующие направления предсказания множества режимов предсказания в наборе предсказания на основе ориентации края, таким образом вычисленной. Например, в случае, когда информация края указывает ориентацию края в горизонтальном направлении, устройство кодирования изображения определяет направления предсказания, сосредотачивающиеся на предсказаниях в горизонтальном направлении. Соответственно, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, подходящего для предсказаний в горизонтальном направлении. С другой стороны, в случае, когда информация края указывает край в вертикальном направлении, устройство кодирования изображения выполняет кодирование посредством использования набора предсказания, который определяет направления предсказания, сосредотачивающиеся на предсказаниях в вертикальном направлении. Соответственно, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, подходящего для предсказаний в вертикальном направлении.
Также, устройство кодирования изображения кодирует изображение посредством использования набора предсказания, наиболее подходящего для информации края изображения. Эта компоновка позволяет устройству кодирования изображения выполнять предсказания из более специфичных углов, чем обычная методика. В результате возможно дополнительно уменьшить объем кодирования изображения и улучшить качество изображения.
(Пятая компоновка)
Устройство кодирования изображения согласно четвертой компоновке дополнительно включает в себя средство разделения для деления изображения на блоки заранее определенного блока, и устройство кодирования изображения скомпоновано таким образом, что средство вычисления вычисляет информацию края целевого блока, средство выбора определяет направления предсказания в наборе предсказания в соответствии с целевым блоком, и средство кодирования кодирует информацию, указывающую направления предсказания в наборе предсказания, и также кодирует целевой блок посредством использования набора предсказания, в котором направления предсказания определяются в соответствии с целевым блоком.
В этой компоновке устройство кодирования изображения выполняет кодирование для каждого заранее определенного единичного блока, составляющего изображение. В это время устройство кодирования изображения использует набор предсказания, подходящий для информации края целевого блока. В изображении для целевого блока, имеющего много краев в горизонтальном направлении, устройство кодирования изображения кодирует целевой блок посредством использования набора предсказания, который сосредотачивается на предсказаниях в горизонтальном направлении. С другой стороны, для другого целевого блока в том же самом изображении, имеющем много краев в вертикальном направлении, устройство кодирования изображения кодирует другой целевой блок посредством использования набора предсказания, который сосредотачивается на предсказаниях в вертикальном направлении.
Эта компоновка позволяет устройству кодирования изображения дополнительно улучшать качество изображения.
(Шестая компоновка)
Устройство кодирования изображения согласно четвертой или пятой компоновке дополнительно скомпоновано таким образом, что секция определения вычисляет гистограмму, указывающую отношения между ориентацией края и совокупной вероятностью ориентации края, относительно множества ориентаций края, включенных в целевой блок, и затем определяет множество ориентаций края как направления предсказания в наборе предсказания так, чтобы разности между совокупными вероятностями множества ориентаций были равными в гистограмме.
В этой компоновке устройство кодирования изображения вычисляет гистограмму для множества ориентаций края в целевом блоке, который должен быть закодирован, причем гистограмма указывает соотношения между ориентацией края и совокупной вероятностью ориентации края. Устройство кодирования изображения затем находит несколько ориентаций края, совокупные вероятности которых дистанцируются на равных интервалах в вычисленной гистограмме, и устанавливает несколько ориентаций края как направления предсказания в наборе предсказания. При такой компоновке в случае, когда много ориентаций края находятся в горизонтальном направлении в одном блоке, определяются направления предсказания так, чтобы большинство направлений предсказания было в близости горизонтального направления. С другой стороны, в случае, когда много ориентаций края находятся в вертикальном направлении в одном блоке, направления предсказания определяют так, чтобы большинство направлений предсказания было в близости вертикального направления.
Эта компоновка позволяет устройству кодирования изображения кодировать блок посредством использования набора предсказания, оптимизированного для предсказаний ориентаций края, включенных в блок. В результате возможно максимально уменьшить объем кодирования блока и максимально улучшить качество изображения.
(Седьмая компоновка)
Способ кодирования изображения седьмой компоновки предназначен для кодирования изображения и включает в себя этапы: вычисление информации края по меньшей мере в отношении ориентации края для края в каждом изображении, составляющем изображение; выбор набора предсказания соответствующего информации края, таким образом вычисленной для каждого составляющего изображения, из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга; и выполнение кодирования для каждого составляющего изображения посредством использования набора предсказания, таким образом выбранного, для каждого составляющего изображения.
Эта компоновка также успешно достигает тех же самых выгодных эффектов, как и первая компоновка.
(Восьмая компоновка)
Способом кодирования изображения согласно восьмой компоновке является способ для кодирования изображения и включает в себя этапы: вычисление информации края по меньшей мере в отношении ориентации края для края в каждом изображении, составляющем изображение; определение соответствующих направлений предсказания, соответствующих множеству режимов предсказания набора предсказания на основании ориентации края, таким образом вычисленной, для каждого составляющего изображения; и выполнение кодирования для каждого составляющего изображения посредством использования определенного набора предсказания, таким образом определенного для каждого составляющего изображения.
Эта компоновка также успешно достигает тех же самых выгодных эффектов, что и четвертая компоновка.
(Девятая компоновка)
Устройство декодирования изображения согласно девятой компоновке - устройство декодирования изображения для декодирования изображения, закодированного устройством кодирования изображения согласно любой из первой-шестой компоновки, и включает в себя средство декодирования для декодирования изображения посредством использования набора предсказания, который средство кодирования изображения использовало для кодирования изображения.
В этой компоновке устройство декодирования изображения декодирует закодированные данные изображения посредством использования закодированного набора предсказания, оптимального для информации края изображения.
В результате устройство декодирования изображения может получить изображение с улучшенным качеством изображения.
Кроме того, устройство декодирования изображения может реализовать сокращение объема обработки декодирования остаточных данных предсказания во время декодирования закодированного изображения.
(Десятая компоновка)
Способом декодирования изображения согласно десятой компоновке является способ для декодирования изображения, закодированного способом кодирования изображения согласно седьмой или восьмой компоновке, и включает в себя этап декодирования изображения посредством использования набора предсказания, используемого для кодирования изображения на этапе кодирования.
Эта компоновка также успешно достигает тех же самых выгодных эффектов, что и девятая компоновка.
(Одиннадцатая компоновка)
Программа согласно одиннадцатой компоновке управляет устройством кодирования изображения согласно любому из первой-шестой компоновки или устройством декодирования изображения согласно девятой компоновке, и заставляет компьютер функционировать как каждое средство, описанное выше.
(Двенадцатая компоновка)
Считываемый компьютером носитель данных согласно двенадцатой компоновке – это носитель данных, в котором сохранена программа согласно одиннадцатой компоновке.
Устройство кодирования изображения согласно настоящему изобретению включает в себя средство выбора для выбора набора предсказания из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих соответствующим направлениям предсказания, отличным друг от друга, и средство кодирования для кодирования изображения посредством использования набора предсказания, выбранного таким образом. Эта компоновка позволяет устройству кодирования изображения согласно настоящему изобретению выполнять предсказание из более специфического угла, таким образом успешно улучшая эффективность предсказания и уменьшая объем кодирования остаточных данных предсказания.
Устройство кодирования изображения согласно настоящему изобретению включает в себя: средство выбора для выбора режима предсказания, который должен быть применен к целевому субблоку, по меньшей мере из одного набора предсказания, включающего в себя множество режимов предсказания, соответствующих различным направлениям предсказания; средство кодирования для кодирования изображения целевого субблока посредством использования режима предсказания, таким образом выбранного; средство выбора для выбора закодированного смежного субблока, который высоко коррелирован с целевым субблоком, в соответствии с частями информации режима предсказания закодированных субблоков, смежных с целевым субблоком или декодированными изображениями закодированных субблоков; и средство кодирования для кодирования режима предсказания, таким образом выбранного, на основании информации режима предсказания закодированного субблока, таким образом выбранного. Это дает выгодную возможность уменьшить объем кодирования, необходимый для режима предсказания.
Устройство декодирования изображения согласно настоящему изобретению включает в себя: средство декодирования для декодирования информации в отношении набора предсказания, который должен быть применен к целевому блоку, из группы наборов предсказания, включающей в себя множество наборов предсказания, имеющих различные комбинации множества режимов предсказания, соответствующих различным направлениям предсказания; и средство декодирования для декодирования изображения целевого блока посредством использования набора предсказания, таким образом декодированного. Эта компоновка позволяет устройству декодирования изображения эффективно восстанавливать компонент края изображения в конкретном направлении из более специфического угла, таким образом выгодно реализуя усовершенствование качества изображения.
Устройство декодирования изображения согласно настоящему изобретению включает в себя: средство выбора для выбора декодированного смежного субблока, который высоко коррелирован с целевым субблоком, в соответствии с частями информации режима предсказания декодированных субблоков, смежных с целевым субблоком, или декодированного изображения декодированных субблоков; средство декодирования для декодирования режима предсказания, который должен быть применен к целевому субблоку по меньшей мере из одного набора предсказания, включающего в себя множество режимов предсказания, соответствующих различным направлениям предсказания, на основании информации режима предсказания декодированного субблока, таким образом выбранного; и средство декодирования для декодирования изображения целевого субблока посредством использования режима предсказания, таким образом декодированного. Эта компоновка дает выгодную возможность сократить закодированный объем режима предсказания, который должен быть декодирован.
Варианты осуществления и конкретные примеры реализации, описанные выше подробно, служат исключительно чтобы проиллюстрировать технические подробности настоящего изобретения, которое не должно быть узко интерпретировано в рамках таких вариантов осуществления и конкретных примеров, а скорее может быть применено во многих разновидностях в пределах объема настоящего изобретения, если такие разновидности не превышают объем патентных притязаний, сформулированных ниже.
Промышленная применимость
Устройство кодирования изображения и устройство декодирования изображения согласно настоящему изобретению может относиться к широкому кругу устройств, например, в цифровом телевидении, устройству записи на жесткий диск, камере DVD, и мобильному телефону, который может выполнять обработку изображения.