Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в уменьшении использования памяти. Способ декодирования изображения, использующий арифметическое декодирование, в котором определяют контекст для использования в текущем блоке из числа множества контекстов; выполняют арифметическое декодирование в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и осуществляют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока. 5 н. и 8 з.п. ф-лы, 42 ил.
Реферат
[ОБЛАСТЬ ТЕХНИКИ]
[0001] Настоящее изобретение относится к способу декодирования изображения, способу кодирования изображения, устройству декодирования изображения, устройству кодирования изображения, и устройству кодирования и декодирования изображения, и в частности к способу декодирования изображения, способу кодирования изображения, устройству декодирования изображения, устройству кодирования изображения, и устройству кодирования и декодирования изображения, которые используют арифметическое кодирование или арифметическое декодирование.
[УРОВЕНЬ ТЕХНИКИ]
[0002] Сигналы естественного изображения имеют статистические вариации, показывающие неустановившееся поведение. Одним из способов энтропийного кодирования с использованием неустановившихся статистических вариаций является контекстно-зависимое адаптивное двоичное арифметическое кодирование (CABAC) (см. NPL 1). CABAC используется в качестве стандарта ITU-T/ISOIEC для кодирования видео, H.264/AVC.
[0003] Значение терминов, используемых в схеме CABAC, будет описано далее по тексту.
[0004] (1) "Контекстно-зависимое адаптивное" означает адаптирование способов кодирования и декодирования к статистическим вариациям. Другими словами, "контекстно-зависимое адаптивное" означает предсказание соответствующей вероятности как вероятности возникновения символа при событии окружающих условий, когда символ кодируется или декодируется. При кодировании, когда определена вероятность p(x) возникновения каждого значения символа S, условная вероятность возникновения применяется с использованием действительного события или последовательности событий F(z) в качестве условия.
[0005] (2) "Двоичное" означает представление символа с использованием двоичной последовательности. Символ, представленный множественным значением, один раз отображается в двоичную последовательность, называемую как "двоичная строка". Предсказанная вероятность (условная вероятность) переключается и используется для каждого из элементов последовательности, и возникновение одного из событий упомянутых двух значений представлено последовательностью битов. Соответственно, вероятностью значения можно управлять (инициализировать и обновлять) используя единицу (единицу двоичного элемента) меньшую, чем единица типа сигнала (см. Фиг. 2 и другие из NPL1).
[0006] (3) "Арифметическое" означает, что последовательность битов генерируется не со ссылкой на соответствия в таблице, а посредством вычисления. В схеме кодирования с использованием таблиц кодов с переменной длиной кодового слова, такой как H.263, MPEG-4, и H.264, даже каждое значение символа с вероятностью возникновения большей, чем 0,5 (50%), должно быть связано с одной двоичной последовательностью (последовательностью битов). Таким образом, значение с наибольшей вероятностью должно быть связано минимум с одним битом для одного символа. В отличие от этого, арифметическое кодирование может представлять возникновение события с большей вероятностью посредством целого числа, равного или меньшего, чем один бит. Когда (i) есть тип сигнала, при котором вероятность возникновения того, что имеется 0 в качестве первого двоичного значения, превышает 0,9 (90%) и (ii) событие, имеющее 0 в качестве первого двоичного значения, возникает N раз подряд, нет необходимости выводить данные 1 бита N раз для каждого значения "0".
[СПИСОК ЦИТИРУЕМОЙ ЛИТЕРАТУРЫ]
[НЕПАТЕНТНАЯ ЛИТЕРАТУРА]
[0007] [NPL1] Detlev Marpe, и другие, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, том 13, № 7, июль 2003.
[NPL 2] Объединенная команда по видеокодированию (JCT-VC) ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 4ая встреча: Daegu, KR, 20-28 январь, 2011 "WD2: Working Draft 2 of High-Efficiency Video Coding", JCTVC-D503
http://wftp3.itu.int/av-arch/jctvc-site/2011_01_D_Daegu/JCTVC-D5 03.doc
[NPL 3] Объединенная команда по видеокодированию (JCT-VC) ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 4ая встреча: Daegu, KR, 20-28 январь, 2011, "Common test conditions and software reference configurations", JCTVC-E700
[NPL 4] Gisle Bjøntegaard, "Improvements of the BD-PSNR model", документ ITU-T SG16 Q.6, VCEG-AI11, Берлин, июль 2008.
[СУЩНОСТЬ ИЗОБРЕТЕНИЯ]
[ТЕХНИЧЕСКАЯ ПРОБЛЕМА]
[0008] При таком способе кодирования изображения и способе декодирования изображения, желательно, чтобы использование памяти (емкости памяти, которая должна быть использована) было уменьшено.
[0009] Здесь, настоящее изобретение имеет цель предоставления способа кодирования изображения или способа декодирования изображения, который может уменьшить использование памяти.
[РЕШЕНИЕ ПРОБЛЕМЫ]
[0010] Для того, чтобы достигнуть данной цели, способом декодирования изображения, согласно аспекту настоящего изобретения, является способ декодирования изображения с использованием арифметического декодирования, и данный способ включает в себя этапы, на которых: определяют контекст для использования в текущем блоке из числа множества контекстов; выполняют арифметическое декодирование в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и осуществляют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag", причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ]
[0011] Настоящее изобретение может предоставить способ кодирования изображения или способ декодирования изображения, который может уменьшить использование памяти.
[КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ]
[0012] Фиг. 1 является функциональной блок-схемой устройства кодирования изображения согласно варианту осуществления 1.
Фиг. 2 является функциональной блок-схемой блока кодирования с переменной длиной (кодового) слова согласно варианту осуществления 1.
Фиг. 3 является таблицей модели контекста параметра управления согласно варианту осуществления 1.
Фиг. 4 является схемой последовательности операций, указывающей способ арифметического кодирования согласно варианту осуществления 1.
Фиг. 5 является функциональной блок-схемой устройства декодирования изображения согласно варианту осуществления 2.
Фиг. 6 является функциональной блок-схемой блока декодирования с переменной длиной кодового слова согласно варианту осуществления 2.
Фиг. 7 является схемой последовательности операций, указывающей способ арифметического декодирования согласно варианту осуществления 2.
Фиг. 8 является схемой последовательности операций, указывающей модификацию способа арифметического декодирования согласно варианту осуществления 2.
Фиг. 9 иллюстрирует разбитые блоки (древовидную структуру) в соответствии с HEVC согласно варианту осуществления 2.
Фиг. 10 иллюстрирует многослойную структуру блока согласно варианту осуществления 2.
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12A является таблицей, указывающей результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12B является таблицей, указывающей результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag согласно варианту осуществления 3.
Фиг. 14A является таблицей, указывающей результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 14B является таблицей, указывающей результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 15 является таблицей, указывающей способ арифметического декодирования для inter_pred_flag согласно варианту осуществления 3.
Фиг. 16A является таблицей, указывающей результат проверки в отношении inter_pred_flag согласно варианту осуществления 3.
Фиг. 16B является таблицей, указывающей результат проверки в отношении inter_pred_flag согласно варианту осуществления 3.
Фиг. 17 иллюстрирует модели контекста, использующие значения параметров управления, соответствующих двум соседним блокам, согласно вариантам осуществления.
Фиг. 18 иллюстрирует увеличение использования памяти, когда используется блок сверху, согласно вариантам осуществления.
Фиг. 19 иллюстрирует общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 20 иллюстрирует общую конфигурацию системы цифрового вещания.
Фиг. 21 показывает блок-схему, иллюстрирующую пример конфигурации телевизора.
Фиг. 22 является блок-схемой, иллюстрирующей примерную конфигурацию блока воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, которым является оптический диск.
Фиг. 23 иллюстрирует пример конфигурации носителя записи, которым является оптический диск.
Фиг. 24A иллюстрирует пример сотового телефона.
Фиг. 24B иллюстрирует блок-схему, показывающую пример конфигурации сотового телефона.
Фиг. 25 иллюстрирует структуру мультиплексированных данных.
Фиг. 26 схематично иллюстрирует как каждый поток мультиплексируется в мультиплексированных данных.
Фиг. 27 более подробно иллюстрирует как видеопоток хранится в потоке PES-пакетов.
Фиг. 28 иллюстрирует структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 29 иллюстрирует структуру данных PTM.
Фиг. 30 иллюстрирует внутреннюю структуру информации мультиплексированных данных.
Фиг. 31 иллюстрирует внутреннюю структуру информации атрибутов потока.
Фиг. 32 иллюстрирует этапы для идентификации видеоданных.
Фиг. 33 является блок-схемой, иллюстрирующей пример конфигурации интегральной схемы для реализации способа кодирования движущегося изображения и способа декодирования движущегося изображения согласно каждому из вариантов осуществления.
Фиг. 34 иллюстрирует конфигурацию для переключения между частотами возбуждения.
Фиг. 35 иллюстрирует этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 36 иллюстрирует пример таблицы поиска, в которой стандарты видеоданных связаны с частотами возбуждения.
Фиг. 37A иллюстрирует пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг. 37B иллюстрирует другой пример конфигурации для совместного использования модуля блока обработки сигналов.
[ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ]
[0013] (ЗНАНИЕ, НА КОТОРОМ ОСНОВАНО НАСТОЯЩЕЕ ИЗОБРЕТЕНИЕ)
Настоящие авторы изобретения обнаружили следующие проблемы.
[0014] При высокоэффективном кодировании видео (HEVC), которое является схемой кодирования видео следующего поколения, изучается модель контекста при кодировании и декодировании различных параметров управления (NPL 2). Параметр управления включен в кодированный битовый поток, и является параметром (флагом и т.д.), используемым при обработке кодирования и декодирования. Более конкретно, параметр управления является синтаксическим элементом.
[0015] Модель контекста является информацией, указывающей (i) какое условие учитывается для (ii) сигнала какой единицы (каждого элемента множественного значения, двоичного значения, двоичной последовательности (двоичной строки)). Здесь, "какое условие" указывает какое применяется условие с определенным числом условных элементов, или какой тип сигнала параметра управления, который должен быть учтен в качестве условия, является подходящим. По мере деления условий на меньшие категории, то есть, по мере увеличения числа условий τ, число случаев, которые справедливы для данных условий, уменьшается. В результате, так как число обучений уменьшается, точность предсказанной вероятности уменьшается (например, см. "эффект размывания" в NPL 1).
[0016] К тому же, уменьшение числа условий указывает отсутствие учета контекста (окружающих условий), и отсутствие адаптивности к статистическим вариациям.
[0017] При проектировании модели контекста, после определения норм для проектирования модели, необходимо учитывать достоверность модели посредством проведения проверок, специализированных для изображения, таких как проверки статистических вариаций в деталях изображения и в параметре управления для управления кодированием и декодированием изображения.
[0018] В H.264, использование усовершенствованных событий ограниченного числа для кодирования символа является критерием правила, и модели контекста классифицируются на четыре основных типа проектных решений.
[0019] Первый и второй типы относятся к кодированию и декодированию параметра управления.
[0020] Первая модель контекста использует кодированные значения до двух соседних кодированных значений (см. NPL 1). Хотя определение двух соседних кодированных значений зависит от каждого типа сигнала, обычно используются значения соответствующих параметров управления, включенных в соседние блоки слева и сверху от текущего блока.
[0021] Вторым типом моделей контекста является тип для определения контекста на основе двоичного дерева в качестве вероятности возникновения. Более конкретно, второй тип моделей контекста применяется к параметрам управления mb_type и sub_mb_type.
[0022] Третий и четвертый типы моделей контекста относятся к кодированию и декодированию остаточных значений (остаточных данных), таких как данные изображения. Третий тип использует только прошлые кодированные и декодированные значения в порядке сканирования частотных коэффициентов (или квантованных коэффициентов). Четвертый тип определяет контекст согласно декодированным и накопленным значениям (уровням).
[0023] Преимущества принципа проектирования и реализации вероятностной модели переходов в H.264, такой как первый тип, были давно изучены и будут применены к HEVC, которое изучается (см. NPL2). Например, первый тип (модель контекста, использующая соседние синтаксические элементы) изучается на предмет использования для параметров управления alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, intra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1, mvd_lc, no_residual_data_flag, cbf_luma, cbf_cb, и cbf_cr (см. 9.3.3.1.1 NPL 2).
[0024] Однако, настоящие авторы изобретения обнаружили, что существует проблема в использовании памяти при кодировании с использованием "модели контекста, использующей два соседних блока" первого типа.
[0025] Фиг. 17 иллюстрирует модели контекста, использующие значения параметров управления, соответствующих двум соседним блокам. [0031] К тому же, Фиг. 17 иллюстрирует модели контекста, использующие соседние блоки в H.264.
[0026] Блок C на Фиг. 17 включает в себя значение параметра SE управления, которое в текущий момент должно быть кодировано или декодировано. Когда кодируется значение параметра SE управления, используются значения параметров управления SE того же типа, включенные в блок A сверху и блок B слева, которые уже кодированы. Более конкретно, вероятность p(x), указывающая составляет ли значение x параметра SE управления блока C (или первое двоичное значение двоичной строки параметра SE управления) 1 или 0, предсказывается на основе условной вероятности p(x|(условие A (значение блока сверху) и условие В (значение блока слева)) с использованием, в качестве условий, значения параметра SE управления блока A сверху и значения параметра SE управления блока B слева.
[0027] Фиг. 18 иллюстрирует увеличение использования памяти, когда используется блок сверху.
[0028] На Фиг. 18 (xP, yP) является положением пикселя сверху слева единицы предсказания (PU, единицы предсказания движения), включающей в себя блок C. Здесь, блок C является блоком, включающим в себя параметр управления (например, skip_flag), который должен быть кодирован в текущий момент. К тому же, (xP, yA) на Фиг. 18 является положением пикселя, который включен в блок B и используется в качестве условия A (значения параметра управления skip_flag блока сверху). К тому же, (xL, yP) на Фиг. 18 является положением пикселя, который включен в блок A и используется в качестве условия B (значения параметра управления skip_flag блока слева).
[0029] Для того, чтобы кодировать или декодировать значение параметра управления skip_flag блока C, устройство кодирования или устройство декодирования должно удерживать значение skip_flag для PU (или результат определения условия), соответствующее положению (xP, yA), включенному в блок B сверху, и положению (xL, yP), включенному в блок A слева. Предполагая, что картинка имеет горизонтальную ширину 4096 пикселей, для того, чтобы кодировать один параметр управления skip_flag, необходимо удерживать все значения определения, включенные в верхний ряд (строка L на Фиг. 18). Другими словами, одному параметру управления нужна емкость памяти, полученная за счет размера 4096 пикселей/блока.
[0030] Здесь блок C, который должен быть кодирован, имеет переменные размеры, например, 64 x 64, 16 x 16 или 4 x 4. К тому же, размер блока для блока C, который должен быть кодирован или декодирован позднее, не может быть предсказан, когда кодируются или декодируются блоки в верхнем ряду (строка L), включающие в себя (xP, xA). Это потому, что размер каждого из блоков в нижнем ряду (ряду, включающем в себя блок C) не известен, когда кодируется или декодируется верхний ряд (ряд, включающий в себя блок A). Таким образом, устройство кодирования или устройство декодирования должно удерживать значение параметра управления (или значение определения) для каждого минимального размера блока, предполагая, что наименьший размер блока из числа всех размеров, применяемых к параметрам управления, используется в качестве размера блока нижнего ряда. Положения черных кругов на Фиг. 18 указывают условия, которые должны быть соблюдены, хотя условные значения в действительности не являются необходимыми, когда кодируется или декодируется нижний ряд (ряд, включающий в себя блок C).
[0031] К тому же, два соседних блока на Фиг. 18 (блок A слева и блок B сверху) следуют концепции соседних блоков в H.264, и новая перспектива по делению иерархических блоков не вводится. Как описано ниже, есть случаи, когда такие условные значения, на которые должны ссылаться на Фиг. 18, не всегда имеют смысл для параметров управления, адаптированных для рекурсивного разбиения на четыре квадрата, которое должно быть введено в HEVC, так как параметры управления следуют рекурсивному порядку управления, иерархической глубине или положениям блоков.
[0032] В этой связи, настоящие авторы изобретения обнаружили, что использование памяти увеличивается посредством использования условных значений верхних блоков при выполнении арифметического кодирования или декодирования параметров управления. К тому же, настоящие авторы изобретения обнаружили, что использование памяти дополнительно увеличивается в HEVC.
[0033] В отличие от этого, способом декодирования изображения, согласно аспекту настоящего изобретения, является способ декодирования изображения с использованием арифметического декодирования, и данный способ включает в себя этапы, на которых: определяют контекст для использования в текущем блоке из числа множества контекстов; выполняют арифметическое декодирование в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и осуществляют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0034] При данной структуре, способ декодирования изображения может уменьшить использование памяти. Более конкретно, в способе декодирования изображения, так как параметр управления блока сверху не используется для параметра управления второго типа, нет необходимости удерживать (хранить) параметр управления второго типа блока сверху. При данной структуре, по сравнению со случаем, когда блок слева и блок сверху используются в качестве единообразного "использования модели контекста на основе значений параметров управления соседних блоков", использование памяти может быть уменьшено согласно способу декодирования изображения. К тому же, способ декодирования изображения может соответствующим образом уменьшить использование памяти параметра управления второго типа без, например, потери возможности оценки BD-показателя изображения.
[0035] К тому же, согласно способу декодирования изображения, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не учитывается в традиционном H.264 и является уникальной для нового стандарта HEVC. В качестве альтернативы, может быть выполнена ссылка на память.
[0036] К тому же, второе условие может быть условием, что декодированные параметры управления блока слева и блока сверху не используются.
[0037] При данной структуре, способ декодирования изображения может уменьшить использование памяти за счет неиспользования параметра управления блока слева в дополнение к параметру управления блока сверху.
[0038] К тому же, при определении контекста, предварительно определенный контекст может быть определен при втором условии, в качестве контекста для использования в арифметическом декодировании текущего блока, когда тип сигнала является вторым типом.
[0039] При данной структуре, способ декодирования изображения может уменьшить объем обработки.
[0040] К тому же, контекст может быть определен при втором условии согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока, когда тип сигнала является вторым типом.
[0041] При данной структуре, способ декодирования изображения может выбрать подходящий контекст, в то же время уменьшая использование памяти.
[0042] К тому же, определение контекста может дополнительно включать в себя: определение того, доступен ли при декодировании декодированный параметр управления блока сверху или нет, на основе положения текущего блока; и определение контекста при втором условии, когда декодированный параметр управления блока сверху не доступен.
[0043] При данной структуре, способ декодирования изображения может уменьшить объем обработки.
[0044] К тому же, при определении контекста, может быть определено, что декодированный параметр управления блока сверху не доступен при декодировании, когда текущий блок находится на границе фрагмента (вырезки).
[0045] К тому же, при определении контекста, может быть определено, доступен ли декодированный параметр управления блока сверху при декодировании или нет, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
[0046] К тому же, вторым типом может быть параметр управления, имеющий предварительно определенную структуру данных.
[0047] К тому же, определение контекста может дополнительно включать в себя определение контекста параметра управления второй единицы, меньшей, чем первая единица, посредством переключения между первым условием и вторым условием, на основе параметра управления первой единицы.
[0048] К тому же, "split_coding_unit_flag" может указывать разбит ли текущий блок на множество блоков или нет, "skip_flag" может указывать должен ли быть пропущен текущий блок или нет, и “inter_pred_flag” может указывать одно из унипредсказания и бипредсказания, которое должно быть использовано для текущего блока.
[0049] К тому же, процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом могут переключаться согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включен в кодированный сигнал, и определение контекста, выполнение и осуществление обратной бинаризации может быть выполнено как процессы декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
[0050] К тому же, способом кодирования изображения, согласно аспекту настоящего изобретения, является способ кодирования изображения с использованием арифметического кодирования, и данный способ включает в себя этапы, на которых: осуществляют бинаризацию параметра управления текущего блока, чтобы сгенерировать двоичную последовательность; определяют контекст для использования в текущем блоке из числа множества контекстов; и выполняют арифметическое кодирование в отношении двоичной последовательности с использованием определенного контекста, чтобы сгенерировать последовательность битов, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0051] При данной структуре, способ кодирования изображения может уменьшить использование памяти. Более конкретно, в способе кодирования изображения, так как параметр управления блока сверху не используется для параметра управления второго типа, нет необходимости удерживать параметр управления второго типа блока сверху. При данной структуре, по сравнению со случаем, когда блок слева и блок сверху используются в качестве единообразного "использования модели контекста на основе значений параметров управления соседних блоков", использование памяти может быть уменьшено согласно способу кодирования изображения. К тому же, способ кодирования изображения может соответствующим образом уменьшить использование памяти параметра управления второго типа без, например, потери возможности оценки BD-показателя изображения.
[0052] К тому же, согласно способу кодирования изображения, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не учитывается в традиционном H.264 и является уникальной для нового стандарта HEVC. В качестве альтернативы, может быть выполнена ссылка на память.
[0053] К тому же, устройством декодирования изображения, согласно аспекту настоящего изобретения, является устройство декодирования изображения, использующее арифметическое декодирование, и данное устройство включает в себя: блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке из числа множества контекстов; блок арифметического декодирования, выполненный с возможностью выполнения арифметического декодирования в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и блок обратной бинаризации, выполненный с возможностью осуществления обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, при этом блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определения контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0054] При данной конфигурации, устройство декодирования изображения может уменьшить использование памяти.
[0055] К тому же, устройством кодирования изображения, согласно аспекту настоящего изобретения, является устройство кодирования изображения, использующее арифметическое кодирование, и данное устройство включает в себя: блок бинаризации, выполненный с возможностью осуществления бинаризации параметра управления текущего блока, чтобы сгенерировать двоичную последовательность; блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке из числа множества контекстов; и блок арифметического кодирования, выполненный с возможностью выполнения арифметического кодирования в отношении двоичной последовательности с использованием определенного контекста, чтобы сгенерировать последовательность битов, при этом блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определения контекста при втором условии, что параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0056] При данной конфигурации, устройство кодирования изображения может уменьшить использование памяти.
[0057] К тому же, устройством кодирования и декодирования изображения, согласно аспекту настоящего изобретения, является устройство кодирования и декодирования изображения, включающее в себя устройство декодирования изображения и устройство кодирования изображения.
[0058] Основные или конкретные аспекты могут быть реализованы посредством системы, способа, интегральной микросхемы, компьютерной программы или носителя записи, или посредством произвольной комбинации системы, способа, интегральной микросхемы, компьютерной программы и носителя записи.
[0059] Устройство декодирования изображения и устройство кодирования изображения, согласно аспекту настоящего изобретения, будут конкретно описаны со ссылкой на чертежи.
[0060] Варианты осуществления, описанные в дальнейшем, указывают конкретные примеры настоящего изобретения. Значения, формы, материалы, составляющие элементы, положения и соединения составляющих элементов, этапы и порядок этапов, указанные в вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составляющие элементы в вариантах осуществления, которые не описаны в независимых пунктах формулы изобретения, которые описывают наиболее общую идею настоящего изобретения, описаны как произвольные составляющие элементы.
[0061] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1)
Будет описано устройство кодирования изображения согласно варианту осуществления 1 настоящего изобретения. Устройство кодирования изображения согласно варианту осуществления 1 определяет контекст посредством переключения между (1) использованием блока сверху и (2) неиспользованием блока сверху, согласно типу сигнала параметра управления при арифметическом кодировании. При данной структуре, ухудшение качества изображения может быть подавлено, и использование памяти может быть уменьшено.
[0062] Сначала будет описана конфигурация устройства кодирования изображения согласно варианту осуществления 1.
[0063] На Фиг. 1 является блок-схемой, иллюстрирующей устройство 100 кодирования изображения согласно варианту осуществления 1.
[0064] Устройство 100 кодирования изображения на Фиг. 1 является устройством кодирования изображения, использующим арифметическое кодирование, и кодирует входной сигнал 121 изображения, чтобы сгенерировать битовый поток 124. Устройство 100 кодирования изображения включает в себя блок 101 управления, блок 102 вычитания, блок 103 преобразования и квантования, блок 104 кодирования с переменной длиной кодового слова, блок 105 обратного квантования и обратного преобразования, блок 106 сложения, блок 107 внутреннего (intra) предсказания, блок 108 внешнего (inter) предсказания и переключатель 109.
[0065] Блок 101 управления вычисляет параметр 130 управления на основе входного сигнала 121 изображения, который должен быть кодирован. Например, параметр 130 управления включает в себя информацию о типе картинки входного сигнала 121 изображения, который должен быть кодирован, размере единицы предсказания движения (единицы предсказания, PU) текущего блока, который должен быть кодирован, и об управляющей информации единицы предсказания движения. Здесь, параметр 130 управления (данные управления) сам по себе должен быть кодирован. Таким образом, блок 101 управления выводит параметр 130 управления в блок 104 кодирования с переменной длиной кодового слова.
[0066] Блок 102 вычитания вычисляет остаточный сигнал 122, который является разностью (остаточным значением) между входным сигналом 121 изображения и сигналом 129 предсказания изображения на основании единицы блока.
[0067] Блок 103 преобразования и квантования преобразует остаточный сигнал 122 в значения частотных коэффициентов и квантует полученные значения частотных коэффициентов в квантованные коэффициенты 123 преобразования (остаточные данные).
[0068] Блок 105 обратного квантования и обратного преобразования осуществляет обратное квантование квантованных коэффициентов 123 преобразования в значения частотных коэффициентов и осуществляет обратное преобразование полученных значений частотных коэффициентов в реконструированный остаточный сигнал 125.
[0069] Блок 106 сложения прибавляет остаточный сигнал 125 к сигналу 129 предсказания изображения и выводит реконструированный сигнал 126 изображения.
[0070] Блок 107 внутреннего предсказания выполняет внутреннее предсказание с использованием реконструированного сигнала 126 изображения, чтобы сгенерировать сигнал 127 предсказания изображения. Блок 108 внешнего предсказания выполняет внешнее предсказание с использованием реконструированного сигнала 126 изображения, чтобы сгенерировать сигнал 128 предсказания изображения.
[0071] Переключатель 109 выбирает один из сигнала 127 предсказания изображения и сигнала 128 предсказания изображения и выводит выбранный сигнал в качестве сигнала 129 предсказания изображения.
[0072] Блок 104 кодирования с переменной длиной кодового слова кодирует, с использованием CABAC, квантованные коэффициенты 123 преобразования и параметр 130 управления для каждого входного блока, чтобы сгенерировать битовый поток 124.
[0073] Далее, будет описана конфигурация блока 104 кодирования с переменной длиной кодового слова.
[0074] Фиг. 2 является функциональной блок-схемой блока 104 кодирования с переменной длиной кодового слова. Блок 104 арифметического кодирования включает в себя блок 141 бинаризации, блок 142 управления контекстом и блок 143 двоичного арифметического кодирования. Нижеследующее описывает п