ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к способу декодирования изображений, способу кодирования изображений, устройству декодирования изображений, устройству кодирования изображений и устройству кодирования и декодирования изображений и, в частности, к способу декодирования изображений, способу кодирования изображений, устройству декодирования изображений, устройству кодирования изображений и устройству кодирования и декодирования изображений, которые используют арифметическое кодирование или арифметическое декодирование.
УРОВЕНЬ ТЕХНИКИ
[0002] Естественные сигналы изображений имеют статистические изменения, показывающие нестационарный режим работы. Одним из способов энтропийного кодирования с использованием нестационарных статистических изменений является контекстно-адаптивное двоичное арифметическое кодирование (CABAC) (см. NPL 1). CABAC используется в качестве стандарта ITU-T/ISOIEC для кодирования видео, H.264/AVC.
[0003] Далее описывается значение терминов, используемых в CABAC-схеме.
[0004] (1) "Контекстно-адаптивный" означает адаптацию способов кодирования и декодирования к статистическим изменениям. Другими словами, "контекстно-адаптивный" означает прогнозирование надлежащей вероятности в качестве вероятности возникновения символа вместе с событием окружающих условий, когда символ кодируется или декодируется. При кодировании, когда определяется вероятность p(x) возникновения каждого значения символа S, условная вероятность возникновения применяется с использованием фактического события или последовательности F(z) событий в качестве условия.
[0005] (2) "Двоичный" означает представление символа с использованием двоичной последовательности. Символ, представленный посредством множественного значения, один раз преобразуется в двоичную последовательность, называемую в качестве "строки элементов выборки". Прогнозная вероятность (условная вероятность) переключается и используется для каждого из элементов последовательности, и возникновение одного из событий двух значений представляется посредством битовой последовательности. Соответственно, вероятность значения может управляться (инициализироваться и обновляться) с использованием единицы (единицы двоичного элемента), меньшей единицы типа сигнала (см. фиг. 2 и другие из NPL 1).
[0006] (3) "Арифметика" означает, что битовая последовательность формируется не со ссылкой на соответствия в таблице, а посредством вычисления. В схеме кодирования с использованием таблиц кодов переменной длины, к примеру, H.263, MPEG-4 и H.264, даже каждое значение символа с вероятностью возникновения, большей 0,5 (50%), должно быть ассоциировано с одной двоичной последовательностью (битовой последовательностью). Таким образом, значение с самой большой вероятностью должно быть ассоциировано с одним битом для одного символа минимум. В отличие от этого, арифметическое кодирование может представлять возникновение события с более высокой вероятностью посредством целого числа, равного или меньшего одного бита. Когда (i) предусмотрен тип сигнала, в котором вероятность возникновения для первого двоичного значения в качестве 0 превышает 0,9 (90%), и (ii) событие, имеющее первое двоичное значение в качестве 0, последовательно возникает N раз, нет необходимости выводить данные N раз на 1 бит для каждого значения "0".
СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК
НЕПАТЕНТНЫЕ ДОКУМЕНТЫ
[0007] [NPL 1] 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] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 4th Meeting: Тэгу, 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-D503.doc
[NPL 3] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 4th Meeting: Тэгу, 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", и второй тип представляет собой одно из "mvd_l0" и "mvd_l1".
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
[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 является таблицей, указывающей способ арифметического декодирования для mvd_l0 (l1, lc) согласно варианту 3 осуществления.
Фиг. 16A является таблицей, указывающей результат верификации для mvd_l0 (l1, lc) согласно варианту 3 осуществления.
Фиг. 16B является таблицей, указывающей результат верификации для mvd_l0 (l1, lc) согласно варианту 3 осуществления.
Фиг. 16C является таблицей, указывающей контекстную модель для mvd_l0 (l1, lc) согласно варианту 3 осуществления.
Фиг. 16D является таблицей, указывающей контекстную модель для mvd_l0 (l1, lc) согласно варианту 3 осуществления.
Фиг. 17 иллюстрирует контекстные модели с использованием значений параметров управления, соответствующих двум соседним блокам согласно вариантам осуществления.
Фиг. 18 иллюстрирует увеличение использования запоминающего устройства, когда верхний блок используется согласно вариантам осуществления.
Фиг. 19 иллюстрирует общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 20 иллюстрирует общую конфигурацию цифровой широковещательной системы.
Фиг. 21 иллюстрирует блок-схему, иллюстрирующую пример конфигурации телевизионного приемника.
Фиг. 22 является блок-схемой, иллюстрирующей пример конфигурации модуля воспроизведения/записи информации, который считывает и записывает информацию с или на носитель записи, который является оптическим диском.
Фиг. 23 иллюстрирует пример конфигурации носителя записи, который является оптическим диском.
Фиг. 24A иллюстрирует пример сотового телефона.
Фиг. 24B иллюстрирует блок-схему, показывающую пример конфигурации сотового телефона.
Фиг. 25 иллюстрирует структуру мультиплексированных данных.
Фиг. 26 схематично иллюстрирует то, как каждый поток мультиплексируется в мультиплексированных данных.
Фиг. 27 иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов.
Фиг. 28 иллюстрирует структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 29 иллюстрирует структуру данных PMT.
Фиг. 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, которое изучается (см. NPL 2). Например, первый тип (контекстная модель с использованием соседних элементов синтаксиса) изучается с возможностью использования для параметров 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 иллюстрирует контекстные модели с использованием значений параметров управления, соответствующих двум соседним блокам. Кроме того, фиг. 17 иллюстрирует контекстные модели с использованием соседних блоков в H.264.
[0026] Блок C на фиг. 17 включает в себя значение параметра SE управления, который должен быть в данный момент кодирован и декодирован. Когда кодируется значение параметра SE управления, используются значения параметров SE управления идентичного типа, включенных в верхний блок A и левый блок B, которые уже кодированы. Более конкретно, вероятность p(x), указывающая то, равно значение x параметра SE управления блока C (или первое двоичное значение строки элементов выборки параметра SE управления) 1 или 0, прогнозируется на основе условной вероятности p(x| (условие A (значение верхнего блока) и условие B (значение левого блока)) с использованием, в качестве условий, значения параметра 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, который должен быть кодирован, имеет переменные размеры, например, 64x64, 16x16 или 4x4. Кроме того, размер блока для блока C, который должен быть позднее кодирован или декодирован, не может быть прогнозирован, когда блоки в верхней строке (линии L), включающей в себя (xP, yA), кодируются или декодируются. Это обусловлено тем, что размер каждого из блоков в нижней строке (строке, включающей в себя блок C) неизвестен, когда верхняя строка (строка, включающая в себя блок A) кодируется или декодируется. Таким образом, устройство кодирования или устройство декодирования должно хранить значение параметра управления (или значение определения) для каждого минимального размера блока при условии, что наименьший размер блока из всех размеров, применяемых к параметрам управления, используется в качестве размера блока нижней строки. Позиции черных кругов на фиг. 18 указывают условия, которые должны поддерживаться, хотя условные значения фактически не требуются, когда нижняя строка (строка, включающая в себя блок C) кодируется и декодируется.
[0031] Кроме того, два соседних блока на фиг. 18 (левый блок A и верхний блок B) подчиняются принципу соседних блоков в H.264, и новая перспектива в отношении разделения иерархических блоков не вводится. Как описано ниже, возникают случаи, когда такие условные значения, которые упоминаются на фиг. 18, не всегда целесообразны для параметров управления, адаптированных к рекурсивному сегментированию на дерево квадрантов, которое должно вводиться в HEVC, поскольку параметры управления подчиняются рекурсивному порядку выполнения, иерархической глубине или позициям блоков.
[0032] В связи с этим, авторы настоящего изобретения обнаружили, что использование запоминающего устройства увеличивается посредством использования условных значений верхних блоков при выполнении арифметического кодирования или декодирования для параметров управления. Кроме того, авторы настоящего изобретения обнаружили, что использование запоминающего устройства дополнительно увеличивает HEVC.
[0033] В отличие от этого, способ декодирования изображений согласно аспекту настоящего изобретения является способом декодирования изображений с использованием арифметического декодирования, и способ включает в себя: определение контекста для использования в текущем блоке, из множества контекстов; выполнение арифметического декодирования для битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста, чтобы декодировать двоичную последовательность, причем битовая последовательность получается посредством выполнения арифметического кодирования для параметра управления текущего блока; и обратное преобразование из двоичной формы двоичной последовательности, чтобы декодировать параметр управления текущего блока, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что декодированные параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и определение контекста при втором условии, что декодированный параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа, первый тип представляет собой одно из "split_coding_unit_flag" и "skip_flag", и второй тип представляет собой одно из "mvd_l0" и "mvd_l1".
[0034] При этой структуре, способ декодирования изображений позволяет уменьшать использование запоминающего устройства. Более конкретно, в способе декодирования изображений, поскольку параметр управления верхнего блока не используется для параметра управления второго типа, нет необходимости хранить параметр управления второго типа верхнего блока. При этой структуре, по сравнению со случаем, в котором левый блок и верхний блок используются в качестве равномерного "использования контекстной модели на основе значений параметров управления соседних блоков", использование запоминающего устройства может быть уменьшено согласно способу декодирования изображений. Кроме того, способ декодирования изображений позволяет надлежащим образом уменьшать использование запоминающего устройства параметра управления второго типа, например, без ошибки при оценке BD-скорости изображения.
[0035] Кроме того, согласно способу декодирования изображений, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не рассматривается в традиционном H.264 и является уникальной для нового стандарта HEVC. Альтернативно, может выполняться обращение к запоминающему устройству.
[0036] Кроме того, второе условие может быть таким условием, что декодированные параметры управления левого блока и верхнего блока не используются.
[0037] При этой структуре, способ декодирования изображений позволяет уменьшать использование запоминающего устройства посредством не использования параметра управления левого блока в дополнение к параметру управления верхнего блока.
[0038] Кроме того, при определении контекста, предварительно определенный контекст может быть определен при втором условии, в качестве контекста для использования при арифметическом декодировании текущего блока, когда тип сигнала является вторым типом.
[0039] При этой структуре, способ декодирования изображений позволяет уменьшать объем обработки.
[0040] Кроме того, определение контекста дополнительно может включать в себя: определение того, доступен или нет декодированный параметр управления верхнего блока при декодировании, на основе позиции текущего блока; и определение контекста при втором условии, когда декодированный параметр управления верхнего блока не доступен.
[0041] При этой структуре, способ декодирования изображений позволяет уменьшать объем обработки.
[0042] Кроме того, при определении контекста, может быть определено, что декодированный параметр управления верхнего блока не доступен при декодировании, когда текущий блок находится на границе серии последовательных макроблоков.
[0043] Кроме того, при определении контекста, может быть определено, доступен или нет декодированный параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
[0044] Кроме того, второй тип может быть параметром управления, имеющим предварительно определенную структуру данных.
[0045] Кроме того, определение контекста дополнительно может включать в себя определение контекста параметра управления второй единицы, меньшей первой единицы, посредством переключения между первым условием и вторым условием на основе параметра управления первой единицы.
[0046] Кроме того, при определении контекста, условие для определения контекста для "mvd_lc" может извлекаться, по меньшей мере, из одного из значений "mvd_l0" и "mvd_l1" текущего блока.
[0047] Таким образом, способ декодирования изображений позволяет извлекать условное значение mvd_lc без обращения к значению mvd_lc в окружающем блоке.
[0048] Кроме того, при определении контекста, одно из условных значений горизонтального направления и вертикального направления для "mvd" может быть извлечено из другого из условных значений.
[0049] При такой структуре, способ декодирования изображений позволяет сокращать число индексов контекстов.
[0050] Кроме того, "split_coding_unit_flag" может указывать то, сегментируется или нет текущий блок на множество блоков, "skip_flag" может указывать то, должен или нет пропускаться текущий блок, "mvd_l0" может указывать разность между компонентом вектора движения списка 0 и прогнозированным значением компонента вектора движения, причем компонент вектора движения и прогнозированное значение используются для текущего блока, "mvd_l1" может указывать разность между компонентом вектора движения списка 1 и прогнозированным значением компонента вектора движения, причем компонент вектора движения и прогнозированное значение используются для текущего блока, и "mvd_lc" может указывать разность между компонентом вектора движения комбинации списков и прогнозированным значением компонента вектора движения, причем компонент вектора движения и прогнозированное значение используются для текущего блока.
[0051] Кроме того, процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом могут переключаться согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включается в кодированный сигнал, и определение контекста, выполнение и обратное преобразование из двоичной формы могут быть выполнены в качестве процессов декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
[0052] Кроме того, способ кодирования изображений согласно аспекту настоящего изобретения является способом кодирования изображений с использованием арифметического кодирования, и способ включает в себя: преобразование в двоичную форму параметра управления текущего блока, чтобы формировать двоичную последовательность; определение контекста для использования в текущем блоке, из множества контекстов; и выполнение арифметического кодирования для двоичной последовательности с использованием определенного контекста, чтобы формировать битовую последовательность, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и определение контекста при втором условии, что параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа, первый тип представляет собой одно из "split_coding_unit_flag" и "skip_flag", и второй тип представляет собой одно из "mvd_l0" и "mvd_l1".
[0053] При этой структуре, способ кодирования изображений позволяет уменьшать использование запоминающего устройства. Более конкретно, в способе кодирования изображений, поскольку параметр управления верхнего блока не используется для параметра управления второго типа, нет необходимости хранить параметр управления второго типа верхнего блока. При этой структуре, по сравнению со случаем, в котором левый блок и верхний блок используются в качестве равномерного "использования контекстной модели на основе значений параметров управления соседних блоков", использование запоминающего устройства может быть уменьшено согласно способу кодирования изображений. Кроме того, способ кодирования изображений позволяет надлежащим образом уменьшать использование запоминающего устройства параметра управления второго типа, например, без ошибки при оценке BD-скорости изображения.
[0054] Кроме того, согласно способу кодирования изображений, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не рассматривается в традиционном H.264 и является уникальной для нового стандартного HEVC. Альтернативно, может выполняться обращение к запоминающему устройству.
[0055] Кроме того, устройство декодирования изображений согласно аспекту настоящего изобретения является устройством декодирования изображений с использованием арифметического декодирования, и устройство включает в себя: модуль управления контекстом, выполненный с возможностью определять контекст для использования в текущем блоке, из множества контекстов; модуль арифметического декодирования, выполненный с возможностью выполнять арифметическое декодирование для битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста, чтобы декодировать двоичную последовательность, причем битовая последовательность получается посредством выполнения арифметического кодирования для параметра управления текущего блока; и модуль обратного преобразования из двоичной формы, выполненный с возможностью обратно преобразовывать из двоичной формы двоичную последовательность, чтобы декодировать параметр управления текущего блока, при этом модуль управления контекстом выполнен с возможностью: определять тип сигнала параметра управления текущего блока; определять контекст при первом условии, что декодированные параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и определять контекст при втором условии, что декодированный параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа, первый тип представляет собой одно из "split_coding_unit_flag" и "skip_flag", и второй тип представляет собой одно из "mvd_l0" и "mvd_l1".
[0056] При этой конфигурации, устройство декодирования изображений позволяет уменьшать использование запоминающего устройства.
[0057] Кроме того, устройство кодирования изображений согласно аспекту настоящего изобретения является устройством кодирования изображений с использованием арифметического кодирования, и устройство включает в себя: модуль преобразования в двоичную форму, выполненный с возможностью преобразовывать в двоичную форму параметр управления текущего блока, чтобы формировать двоичную последовательность; модуль управления контекстом, выполненный с возможностью определять контекст для использования в текущем блоке, из множества контекстов; и модуль арифметического кодирования, выполненный с возможностью выполнять арифметическое кодирование для двоичной последовательности с использованием определенного контекста, чтобы формировать битовую последовательность, при этом модуль управления контекстом выполнен с возможностью: определять тип сигнала параметра управления текущего блока; определять контекст при первом условии, что параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и определять контекст при втором условии, что параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа, первый тип представляет собой одно из "split_coding_unit_flag" и "skip_flag", и второй тип представляет собой одно из "mvd_l0" и "mvd_l1".
[0058] При этой конфигурации, устройство кодирования изображений позволяет уменьшать использование запоминающего устройства.
[0059] Кроме того, устройство кодирования и декодирования изображений согласно аспекту настоящего изобретения является устройством кодирования и декодирования изображений, включающим в себя устройство декодирования изображений и устройство кодирования изображений.
[0060] Общие или конкретные аспекты могут быть реализованы посредством системы, способа, интегральной схемы, компьютерной программы или носителя записи либо посредством произвольной комбинации системы, способа, интегральной схемы, компьютерной программы и носителя записи.
[0061] Устройство декодирования изображений и устройство кодирования изображений согласно аспекту настоящего изобретения подробно описываются со ссылкой на чертежи.
[0062] Варианты осуществления, описанные в дальнейшем, указывают конкретные примеры настоящего изобретения. Значения, формы, материалы, составляющие элементы, позиции и соединения составляющих элементов, этапы и порядки этапов, указываемые в вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составляющие элементы в вариантах осуществления, которые не описываются в независимых пунктах формулы изобретения, которые описывают наиболее общие принципы настоящего изобретения, описываются как произвольные составляющие элементы.
[0063] ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Описывается устройство кодирования изображений согласно варианту 1 осуществления настоящего изобретения. Устройство кодирования изображений согласно варианту 1 осуществления определяет контекст посредством переключения между (1) использованием верхнего блока и (2) без использования верхнего блока, согласно типу сигнала параметра управления при арифметическом кодировании. При этой структуре, может подавляться ухудшение качества изображений, и использование запоминающего устройства может быть уменьшено.
[0064] Во-первых, описывается конфигурация устройства кодирования изображений согласно варианту 1 осуществления.
[0065] Фиг. 1 является блок-схемой, иллюстрирующей устройство 100 кодирования изображений согласно варианту 1 осуществления.
[0066] Устройство 100 кодирования изображений на фиг. 1 является устройством кодирования изображений с использованием арифметического кодирования и кодирует сигнал 121 входного изображения, чтобы формировать поток 124 битов. Устройство 100 кодирования изображений включает в себя модуль 101 управления, модуль 102 вычитания, модуль 103 преобразования и квантования, модуль 104 кодирования переменной длины, модуль 105 обратного квантования и обратного преобразования, модуль 106 суммирования, модуль 107 внутреннего прогнозирования, модуль 108 взаимного прогнозирования и переключатель 109.
[0067] Модуль 101 управления вычисляет параметр 130 управления на основе сигнала 121 входного изображения, который должен быть кодирован. Например, параметр 130 управления включает в себя информацию относительно типа изображения сигнала 121 входного изображения, который должен быть кодирован, размер единицы прогнозирования движения (единицы прогнозирования, PU) текущего блока, который должен быть кодирован, и управляющую информацию единицы прогнозирования движения. Здесь, сам параметр 130 управления (управляющие данные) должен быть кодирован. Таким образом, модуль 101 управления выводит параметр 130 управления в модуль 104 кодирования переменной длины.
[0068] Модуль 102 вычитания вычисляет остаточный сигнал 122, который является разностью (остаточным значением) между сигналом 121 входного изображения и сигналом 129 прогнозирования изображений, в единицах блоков.
[0069] Модуль 103 преобразования и квантования преобразует остаточный сигнал 122 в значения частотных коэффициентов и квантует полученные значения частотных коэффициентов в квантованные коэффициенты 123 преобразования (остаточные данные).
[0070] Модуль 105 обратного квантования и обратного преобразования обратно квантует квантованные коэффициенты 123 преобразования в значения частотных коэффициентов и обратно преобразует полученные значения частотных коэффициентов в восстановленный остаточный сигнал 125.
[0071] Модуль 106 суммирования суммирует остаточный сигнал 125 с сигналом 129 прогнозирования изображений и выводит восстановленный сигнал 126 изображения.
[0072] Модуль 107 внутреннего прогнозирования выполняет внутреннее прогнозирование с использованием восстановленного сигнала 126 изображения, чтобы формировать сигнал 127 прогнозирования изображений. Модуль 108 взаимного прогнозирования выполняет взаимное прогнозирование с использованием восстановленного сигнала 126 изображения, чтобы формировать сигнал 128 прогнозирования изображений.
[0073] Переключатель 109 выбирает один из сигнала 127 прогнозирования изображений и сигнала 128 прогнозирования изображений и выводит выбранный сигнал в качестве сигнала 129 прогнозирования изображений.
[0074] Модуль 104 кодирования переменной длины кодирует, с использованием CABAC, квантованные коэффициенты 123 преобразования и параметр 130 управления для каждого входного блока, чтобы формировать поток 124 битов.
[0075] Далее описывается конфигурация модуля 104 кодирования переменной длины.
[0076] Фиг. 2 является функциональной блок-схемой модуля 104 кодирования переменной длины. Модуль 104 кодирования переменной длины включает в себя модуль 141 преобразования в двоичную форму, модуль 142 управления контекстом и модуль 143 двоичного арифметического кодирования. Далее описывается процесс кодирования переменной длины для параметра 130 управления. Хотя описание в отношении процесса кодирования переменной длины на квантованных коэффициентах 123 преобразования опускается, процесс может быть реализован, например, с использованием известной технологии.
[0077] Модуль 141 преобразования в двоичную форму преобразует в двоичную форму параметр 130 управления, чтобы формировать двоичную последовательность 151. Более конкретно, модуль 141 преобразования в двоичную форму является модулем обработки, который выполняет "II.1) Обработка преобразования в двоичную форму" согласно NPL 1. Модуль 141 преобразования в двоичную форму преобразует параметр 130 управления в двоичную последовательность 151, называемую в качестве "строки элементов выборки" для каждого типа сигнала, согласно предварительно определенному способу преобразования в двоичную форму. Ниже описывается соответствие между типами сигналов и способами преобразования в двоичную форму. Когда параметр 130 средства управления вводом является одним двоичным значением, таким как флаг, модуль 141 преобразования в двоичную форму выводит параметр 130 управления в качестве двоичной последовательности 151 как есть.
[0078] Модуль 142 управления контекстом определяет контекст для использования при арифметическом кодировании параметра 130 управления, включенного в текущий блок, который должен быть обработан, из множества контекстов (таблицы вероятностных состояний). Кроме того, модуль 142 управления контекстом выводит индекс 152 контекста, указывающий определенный контекст, в модуль 143 двоичного арифметического кодирования.
[0079] Более конкретно, модуль 142 управления контекстом является модулем обработки, который выполняет "2) Контекстное моделирование" согласно NPL 1. Модуль 142 управления контекстом последовательно принимает множество элементов, включенных в двоичную последовательность 151, выводимую из модуля 143 двоичного арифметического кодирования. Модуль 142 управления контекстом выбирает один из контекстов, который должен использоваться для двоичного элемента параметра 130 управления, согласно типу сигнала параметра 130 управления и позиции элемента для двоичного элемента в двоичной последовательности 151 и выводит в модуль 143 двоичного арифметического кодирования индекс 152 контекста, который является индексом, указывающим выбранный контекст.
[0080] Кроме того, модуль 142 управления контекстом хранит таблицу вероятностных состояний значений (значений индексов контекстов), полученных посредством разделения элементов в двоичной последовательности параметра 130 управления на условия условных вероятностей, в качестве состояний контекста и инициализирует и обновляет таблицу вероятностных состояний.
[0081] Кроме того, модуль 142 управления контекстом хранит состояние (индекс вероятностного состояния) для каждого условия τ возникновения (для каждого контекста), в качестве дополнительного разделения типа сигнала (для каждого номера элемента в двоичной последовательности параметра 130 управления, когда число элементов в двоичной последовательности равно двум или более; то же применимо далее). Состояние представляется посредством полного 7-битового значения посредством комбинирования вероятности P возникновения (внутреннего отношения, типично, 6-битового значения), которая является более низкой вероятностью одного из двух значений 0 и 1, и 1-битового значения, указывающего то, какое из значений имеет более высокую вероятность. Кроме того, поддержание состояния означает инициализацию и обновление состояния. Например, обновление соответствует изменению индексации, которая указывает текущее вероятностное состояние (т.е. вероятность) в качестве перехода между 64 конечными состояниями, как указано в H.264.
[0082] Когда возникает событие X в наиболее вероятной стороне, имеющей наибольшую вероятность между двумя значениями, отношение вероятности в наиболее вероятной стороне немного увеличивается. Например, модуль 142 управления контекстом может немного увеличивать отношение вероятности в наиболее вероятной стороне посредством увеличения или уменьшения, на 1, значения индекса вероятностного состояния, соответствующего 64 таблицам. С другой стороны, когда возникает событие Not-X, имеющее более низкую вероятность (в сравнении с прогнозной вероятностью), модуль 142 управления контекстом в значительной степени снижает отношение поддерживаемой наиболее вероятной вероятности на основе предварительно определенного коэффициента α масштабирования (например, ≈ 0,95) (см. фиг. 6 NPL 1). Модуль 142 управления контекстом согласно варианту 1 осуществления осуществляет переход и хранит состояние на основе соответствующего значения изменения табличного индекса, так что оно ассоциировано с изменением с учетом α, как указано в H.264.
[0083] Модуль 143 двоичного арифметического кодирования выполняет арифметическое кодирование для двоичной последовательности 151 с использованием контекста, определенного посредством модуля 142 управления контекстом, чтобы формировать поток 124 битов (битовую последовательность).
[0084] Более конкретно, модуль 143 двоичного арифметического кодирования является модулем обработки, который выполняет "3) Двоичное арифметическое кодирование" согласно NPL 1. Модуль 143 двоичного арифметического кодирования выполняет арифметическое кодирование для двоичной последовательности 151 с использованием контекста, указываемого посредством индекса 152 контекста, чтобы формировать поток 124 битов. Здесь, арифметическое кодирование должно обрабатывать события, возникающие для параметров 130 управления различных типов сигналов, в качестве кумулятивной суммы вероятностей и определять соответствия между событиями посредством сужения диапазона до предварительно определенного диапазона на одной числовой оси.
[0085] Во-первых, модуль 143 двоичного арифметического кодирования разделяет одну числовую ось на две половины секций, согласно вероятностям возникновения двух возможных значений двоичного элемента, предоставленного из модуля 142 управления контекстом. Когда фактическое значение, возникающее для двоичного элемента (например, 0), является значением с более высокой вероятностью (превышающей 0,5 (например, 0,75)), модуль 143 двоичного арифметического кодирования поддерживает нижний предел "низкий" в диапазоне на числовой оси без изменения и задает значение, соответствующее результату однократного умножения коэффициента масштабирования 0,95 на вероятность 0,75 в этот раз, как новый диапазон. С другой стороны, когда фактически сформированное двоичное значение является прогнозированным значением с более низкой вероятностью, модуль 143 двоичного арифметического кодирования сдвигает нижний предел "низкий" посредством более высокой вероятности и изменяет диапазон согласно более низкой вероятности. Секции хранятся согласно кумулятивной сумме результатов умножений диапазонов вероятностей. Когда значение с более низкой вероятностью последовательно возникает, точность длины диапазона вскоре становится ниже точности, которая может быть обеспечена посредством вычисления. Здесь, модуль 143 двоичного арифметического кодирования увеличивает (перенормирует) диапазон, чтобы поддерживать точность, и выводит битовую последовательность, указывающую текущий диапазон. Наоборот, когда значение с более высокой вероятностью (0,95 и т.д.) последовательно возникает, значения вероятности могут переносить число вычислений (изменений состояния в случае реализации посредством таблицы) до тех пор, пока длина диапазона не станет меньше предварительно определенной длины даже с умножением значений. Таким образом, число символов, которое может быть накоплено до тех пор, пока не будет выведен бит, большое.
[0086] Фиг. 3 является таблицей, в которой отсортированы параметры 130 управления, каждый из которых использует контекстную модель на основе значения параметра 130 управления соседнего блока.
[0087] Значение каждого столбца описывается слева в таблице.
[0088] (c2) "Тип сигнала" (элемент синтаксиса) указывает конкретное имя типа сигнала параметра 130 управления. Ниже описывается значение каждого из типов сигналов.
[0089] (c3) Схема преобразования в двоичную форму" указывает схему преобразования в двоичную форму, которая должна применяться к параметру 130 (SE) управления, указываемому в столбце непосредственно слева. Модуль 141 преобразования в двоичную форму выполняет процесс преобразования в двоичную форму. В столбце, "Фиксированная длина (Fixed length)" означает, что модуль 141 преобразования в двоичную форму выводит значение параметра 130 управления в секции непосредственно слева в качестве двоичной последовательности (строки элементов выборки) фиксированной длины. В HEVC, тип сигнала параметра 130 управления, имя которого заканчивается "flag", является одним двоичным значением в 0 или 1. Таким образом, модуль 141 преобразования в двоичную форму выводит только первый элемент (binIdx=0) в качестве элемента двоичной последовательности 151 и не выводит элементы после второго элемента (binIdx>=1). Другими словами, модуль 141 преобразования в двоичную форму выводит значение параметра 130 управления в качестве двоичной последовательности 151 как есть.
[0090] Кроме того, "Переменная длина (Variable length)" в столбце означает, что модуль 141 преобразования в двоичную форму преобразует, в двоичную последовательность, значение параметра 130 управления с использованием двоичных последовательностей с соответствующими переменными длинами, значения которых ассоциированы, чтобы иметь двоичные длины в порядке возрастания частот появления (строки элементов выборки или двоичных последовательностей, каждая из которых с числом элементов ≥1), и выводит двоичную последовательность. Например, модуль 141 преобразования в двоичную форму использует и выводит схему согласно типу сигнала, к примеру, (усеченную) унарную схему и комбинацию унарных и других экспоненциальных схем Голомба (см. "A. Преобразование в двоичную форму" NPL 1). В случае "Переменной длины" число элементов двоичной последовательности 151 иногда ограничивается 1 либо равно или превышает 2. Модуль обратного преобразования из двоичной формы в устройстве декодирования изображений, которое описывается ниже, выполняет преобразование, обратное относительно схемы преобразования в двоичную форму, чтобы восстанавливать входную двоичную последовательность во множественное значение или значение флага.
[0091] Что касается (c4) "Индекс контекста первого элемента" (binIdx=0), модуль 142 управления контекстом указывает выбор индекса контекста (увеличения), который должен применяться к первому элементу, включенному в двоичную последовательность, сформированную согласно схеме преобразования в двоичную форму, указываемой в столбце c3. В столбце, "0, 1, 2" указывает то, что модуль 142 управления контекстом выбирает и применяет одну из трех таблиц вероятностных состояний (контекстов). Например, три индекса контекстов с подробными условиями подготавливаются для одного типа сигнала "skip_flag", т.е. подготавливаются три контекста, и арифметическое кодирование выполняется для индексов контекстов.
[0092] Аналогично, "0, 1, 2, 3" в столбце c4 указывает то, что контекст, который должен применяться к первому элементу (binIdx=0), включенному в двоичную последовательность 151, выбирается из одного из четырех значений: 0, 1, 2 или 3. Двоичная последовательность 151 получается посредством преобразования, в двоичную последовательность, значения параметра 130 управления типа сигнала, указываемого в столбце c2, согласно схеме преобразования в двоичную форму в столбце c3. Условные выражения в столбце описываются ниже.
[0093] Что касается (c5) "Условие L для левого блока (condL)", модуль 142 управления контекстом указывает условие для левого блока, чтобы выбирать одно из 0, 1 и 2 в столбце c4. Условие L для левого блока имеет значение истины или лжи, определенное согласно значению параметра управления левого блока, соответствующего параметру управления, который должен быть кодирован (или должен быть декодирован).
[0094] Например, в случае если параметр (SE) управления является skip_flag, условие L для левого блока имеет значение истины, когда skip_flag[xL][yL] указывает истину (например, 1), и имеет значение лжи, когда он указывает ложь (например, 0).
[0095] Что касается (c6) "Условие A для верхнего блока", модуль 142 управления контекстом указывает условие для верхнего блока, чтобы выбирать одно из 0, 1 и 2 при кодировании или декодировании элементов последовательности, указываемой в столбце c4. Условие A для верхнего блока имеет значение истины или лжи, определенное согласно значению параметра управления верхнего блока, соответствующего параметру управления, который должен быть кодирован (или должен быть декодирован). Например, в случае если параметр (SE) управления является skip_flag, условие A для верхнего блока имеет значение истины, когда skip_flag[xA][yA] указывает истину (например, 1), и имеет значение лжи, когда он указывает ложь (например, 0).
[0096] Хотя не проиллюстрировано, тип сигнала из более чем двух битов ассоциирован с "(c7) Увеличение контекста, которое должно применяться к binIdx>=1". Этот (c7) указывает контекстную модель, применяемую посредством модуля 142 управления контекстом к двоичному значению после второго элемента в двоичной последовательности (двоичному значению элемента двоичной последовательности, включающего в себя значение индекса binIdx>=1).
[0097] В способе кодирования варианта 1 осуществления следующие операции переключаются согласно типу сигнала параметра 130 управления для условия L для левого блока и условия A для верхнего блока (управляемых с использованием различных шаблонов):
[0098] (Шаблон 1) Использование двух соседних блоков (значения определения условия L для левого блока и значения определения условия A для верхнего блока);
[0099] (Шаблон 2) Использование одного соседнего блока (только значения определения условия L для левого блока); и
[0100] (Шаблон 3) Использование нуля соседних блоков (ни использование значения определения условия L для левого блока, ни использование значения определения условия A для верхнего блока).
[0101] Фиг. 4 является блок-схемой последовательности операций способа, указывающей способ кодирования изображений согласно варианту 1 осуществления, который выполняется посредством модуля 104 кодирования переменной длины на фиг. 2.
[0102] Во-первых, модуль 141 преобразования в двоичную форму преобразует значение параметра 130 управления в двоичную последовательность согласно схеме, соответствующей типу сигнала параметра 130 управления (S101).
[0103] Затем, модуль 142 управления контекстом получает базовое значение контекста для использования при арифметическом кодировании параметра 130 управления (S102). Например, модуль 142 управления контекстом определяет базовое значение согласно типу изображения (I, P или B).
[0104] Затем, модуль 142 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3 на основе типа сигнала параметра 130 управления (S103). Здесь, значение определения контекста является эквивалентным определению регулирующего значения (значения CtxIdxInc увеличения) для базового значения контекста.
[0105] Во-первых, модуль 142 управления контекстом определяет тип сигнала параметра 130 управления (S103). Когда тип сигнала параметра 130 управления является первым типом, соответствующим шаблону 1 (первым типом на S104), модуль 142 управления контекстом определяет значение контекста с использованием значения определения, извлеченного из значений параметров управления двух соседних блоков (блока A и блока B) (S105). Другими словами, модуль 142 управления контекстом определяет контекст при условии, что параметры управления двух соседних блоков для левого блока и верхнего блока используются. Здесь, модуль 142 управления контекстом использует как результат определения (c5) condL, так и результат определения (c6) condA на фиг. 3. Соответственно, данные одной строки изображений хранятся для параметров управления первого типа.
[0106] С другой стороны, когда тип сигнала параметра 130 управления является вторым типом, соответствующим шаблону 2 (вторым типом на S104), модуль 142 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседнего блока в порядке кодирования) (S106). Другими словами, модуль 142 управления контекстом определяет значение контекста при условии, что параметр управления верхнего блока не используется.
[0107] С другой стороны, когда тип сигнала параметра 130 управления является третьим типом, соответствующим шаблону 3 (третьим типом на S104), модуль 142 управления контекстом фиксированно определяет значение контекста без использования обоих из параметров управления верхнего блока и левого блока (S107).
[0108] Затем, модуль 142 управления контекстом суммирует увеличение, определенное на этапе S103, с базовым значением индекса контекста, определенного на этапе S102, чтобы определять значение индекса контекста (S108).
[0109] В завершение, модуль 143 двоичного арифметического кодирования выполняет арифметическое кодирование для двоичного значения первого элемента с использованием значения контекста, указываемого посредством значения индекса контекста, определенного на этапе S108, чтобы формировать битовую последовательность (поток 124 битов) (S109).
[0110] Затем, когда процессы из этапов S102-S109 не выполняются для всех элементов, включенных в двоичную последовательность ("Нет" на S110), модуль 104 кодирования переменной длины выполняет процессы из этапов S102-S109 для следующего элемента, включенного в двоичную последовательность. С другой стороны, когда процессы из этапов S102-S109 завершаются для всех элементов, включенных в двоичную последовательность (("Да" на S110), модуль 104 кодирования переменной длины завершает обработку кодирования для параметра управления текущего блока.
[0111] Как описано выше, устройство 100 кодирования изображений согласно варианту 1 осуществления определяет контекст с использованием верхнего блока при выполнении арифметического кодирования для параметра управления первого типа и определяет контекст без использования верхнего блока для параметров управления второго и третьего типов.
[0112] По сравнению со случаем, в котором левый блок и верхний блок используются в качестве равномерного "использования контекстной модели на основе значений параметров управления соседних блоков", устройство 100 кодирования изображений позволяет уменьшать использование запоминающего устройства с помощью конфигурации. Таким образом, устройство 100 кодирования изображений позволяет подавлять ухудшение качества изображений и уменьшать использование запоминающего устройства.
[0113] ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Вариант 2 осуществления описывает устройство декодирования изображений, которое декодирует поток 124 битов, сформированный посредством устройства 100 кодирования изображений.
[0114] Фиг. 5 является блок-схемой, иллюстрирующей устройство 200 декодирования изображений согласно варианту 2 осуществления. Устройство 200 декодирования изображений является устройством декодирования изображений с использованием арифметического декодирования и декодирует поток 124 битов, чтобы формировать сигнал 229 изображения. Здесь, поток 124 битов, например, формируется посредством устройства 100 кодирования изображений.
[0115] Устройство 200 декодирования изображений включает в себя модуль 201 управления, модуль 202 декодирования переменной длины, модуль 204 обратного квантования, модуль 205 обратного преобразования, модуль 206 суммирования, модуль 207 внутреннего прогнозирования и модуль 208 взаимного прогнозирования.
[0116] Устройство 200 декодирования изображений выполняет обработку декодирования для каждого потока битов предварительно определенной единицы обработки. Единица обработки является, например, единицей серии последовательных макроблоков или единицей блоков.
[0117] Модуль 202 декодирования переменной длины выполняет арифметическое декодирование для потока 124 битов, чтобы формировать параметр 230 управления (элемент синтаксиса управляющих данных) и квантованные коэффициенты 223 преобразования (значения элементов синтаксиса остаточных данных). Модуль 201 управления принимает сформированный параметр 230 управления.
[0118] Модуль 201 управления управляет каждой из единиц обработки, включенных в устройство 200 декодирования изображений, согласно параметру 230 управления.
[0119] Модуль 204 обратного квантования обратно квантует квантованные коэффициенты 223 преобразования в коэффициенты 224 ортогонального преобразования.
[0120] Модуль 205 обратного преобразования обратно преобразует коэффициенты 224 ортогонального преобразования, чтобы восстанавливать остаточный сигнал 225. Модуль 206 суммирования суммирует остаточный сигнал 225 с сигналом прогнозирования изображений (сигналом 229 изображения), чтобы формировать сигнал 226 декодированного изображения.
[0121] Модуль 207 внутреннего прогнозирования выполняет внутреннее прогнозирование с использованием сигнала 226 декодированного изображения, чтобы формировать сигнал 227 прогнозирования изображений. Модуль 208 взаимного прогнозирования выполняет взаимное прогнозирование с использованием сигнала 226 декодированного изображения, чтобы формировать сигнал 228 прогнозирования изображений.
[0122] Переключатель 209 выбирает один из сигнала 227 прогнозирования изображений и сигнала 228 прогнозирования изображений и выводит выбранный сигнал в качестве сигнала 229 изображения (сигнала прогнозирования изображений).
[0123] Далее описывается конфигурация модуля 202 декодирования переменной длины.
[0124] Фиг. 6 является функциональной блок-схемой, иллюстрирующей конфигурацию модуля 202 декодирования переменной длины. Модуль 202 декодирования переменной длины включает в себя модуль 243 двоичного арифметического декодирования, модуль 242 управления контекстом и модуль 241 обратного преобразования из двоичной формы. Далее описывается процесс декодирования переменной длины для параметра 230 управления. Хотя описание в отношении процесса декодирования переменной длины для квантованных коэффициентов 223 преобразования опускается, процесс может быть реализован, например, с использованием известной технологии.
[0125] Модуль 242 управления контекстом определяет контекст для использования при арифметическом декодировании параметра 230 управления текущего блока, из множества контекстов. Кроме того, модуль 242 управления контекстом выводит индекс 252 контекста, указывающий определенный контекст, в модуль 243 двоичного арифметического декодирования.
[0126] Более конкретно, модуль 242 управления контекстом использует контекстную модель, идентичную контекстной модели модуля 142 управления контекстом на фиг. 2, в качестве поддерживаемой модели изменения вероятностей. Когда модуль 143 арифметического кодирования использует 64 вероятностных состояния, модуль 243 двоичного арифметического декодирования также хранит 64 вероятностных состояния. Это обусловлено тем, что как кодер, так и декодер должны интерпретировать диапазон числовой оси, которая должен быть кодирована, идентичным образом. Таким образом, декодер использует шаблон, идентичный шаблону, выбранному посредством кодера из трех шаблонов 1-3.
[0127] Модуль 243 арифметического декодирования выполняет арифметическое декодирование для битовой последовательности (потока 124 битов) с использованием контекста, определенного посредством модуля 242 управления контекстом, чтобы восстанавливать двоичную последовательность 251. Более конкретно, модуль 243 арифметического декодирования восстанавливает входную битовую последовательность в двоичную последовательность 251, согласно контексту (таблице вероятностных состояний), указываемому посредством индекса контекста, предоставленного из модуля 242 управления контекстом.
[0128] Модуль 241 обратного преобразования из двоичной формы восстанавливает двоичную последовательность 251 в параметр 230 управления при необходимости посредством процесса обратного преобразования из двоичной формы. В связи с этим, модуль 142 управления контекстом, включенный в устройство 100 кодирования изображений, и модуль 242 управления контекстом, включенный в устройство 200 декодирования изображений, используют идентичную контекстную модель при арифметическом кодировании и арифметическом декодировании параметра управления определенного типа сигнала.
[0129] Фиг. 7 является блок-схемой последовательности операций способа, указывающей способ декодирования изображений согласно варианту 2 осуществления, который выполняется посредством модуля 202 декодирования переменной длины.
[0130] Во-первых, модуль 202 декодирования переменной длины получает поток 124 битов (S201).
[0131] Затем модуль 242 управления контекстом определяет тип сигнала параметра управления, который должен быть декодирован, согласно структуре данных потока 124 битов (S202).
[0132] Затем модуль 242 управления контекстом определяет базовое значение контекста для использования при арифметическом декодировании параметра управления, который должен быть декодирован (S203). Например, модуль 242 управления контекстом определяет базовое значение согласно типу изображения (I, P или B).
[0133] Затем модуль 242 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3, на основе типа сигнала параметра управления (S204). Здесь, значение определения контекста является эквивалентным определению регулирующего значения (значения CtxIdxInc увеличения) для базового значения контекста. Например, модуль 242 управления контекстом статически определяет один из шаблонов 1-3 на основе типа сигнала параметра управления согласно предварительно определенной таблице.
[0134] Модуль 242 управления контекстом переключается между соседними блоками для использования при определении контекста для получения двоичного значения первого элемента, включенного в двоичную последовательность 251, с использованием арифметического декодирования, согласно типу сигнала параметра управления.
[0135] Во-первых, модуль 242 управления контекстом определяет тип сигнала параметра 230 управления (S205). Когда тип сигнала является первым типом, соответствующим шаблону 1 (первым типом на S205), модуль 242 управления контекстом определяет значение контекста с использованием параметров управления двух соседних блоков (S206). Другими словами, модуль 242 управления контекстом определяет значение контекста при условии, что декодированные параметры управления двух соседних блоков для левого блока и верхнего блока используются.
[0136] С другой стороны, когда тип сигнала является вторым типом, соответствующим шаблону 2 (вторым типом на S205), модуль 242 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседнего блока в порядке кодирования) (S207). Другими словами, модуль 242 управления контекстом определяет значение контекста при условии, что декодированный параметр управления верхнего блока не используется.
[0137] С другой стороны, когда тип сигнала является третьим типом, соответствующим шаблону 3 (третьим типом на S205), модуль 242 управления контекстом фиксированно определяет значение контекста (S208). Другими словами, модуль 242 управления контекстом определяет значение контекста при условии, что декодированные параметры управления верхнего блока и левого блока не используются.
[0138] Затем модуль 242 управления контекстом суммирует увеличение, определенное на этапе S204, с базовым значением индекса контекста, определенного на этапе S203, чтобы определять значение индекса контекста (S209).
[0139] Затем модуль 243 двоичного арифметического декодирования определяет один из элементов двоичной последовательности посредством декодирования с использованием значения контекста, указываемого посредством значения индекса контекста, предоставленного из модуля 242 управления контекстом (S210).
[0140] Затем, когда процессы из этапов S203-S210 не выполняются для всех элементов, включенных в двоичную последовательность ("Нет" на S211), модуль 202 декодирования переменной длины выполняет процессы из этапов S203-S210 для следующего элемента, включенного в двоичную последовательность.
[0141] С другой стороны, когда процессы из этапов S203-S210 завершаются для всех элементов, включенных в двоичную последовательность (("Да" на S211), модуль 241 обратного преобразования из двоичной формы изменяет один или более элементов двоичной последовательности 251, полученной посредством повторения процессов из этапов S203-S210 несколько раз, чтобы формировать параметр 230 управления (S212).
[0142] Как описано выше, устройство 200 декодирования изображений согласно варианту 2 осуществления определяет контекст с использованием верхнего блока при выполнении арифметического декодирования для параметра управления первого типа и определяет контекст без использования верхнего блока для параметров управления второго и третьего типов.
[0143] По сравнению со случаем, в котором левый блок и верхний блок используются в качестве равномерного "использования контекстной модели на основе значений параметров управления соседних блоков", устройство 200 декодирования изображений позволяет уменьшать использование запоминающего устройства с помощью конфигурации. Таким образом, устройство 200 декодирования изображений позволяет подавлять ухудшение качества изображений и уменьшать использование запоминающего устройства.
[0144] Например, когда двоичная последовательность 251 является флагом и имеет только один элемент, т.е. двоичная последовательность 251 состоит из 1 двоичного элемента, модуль 241 обратного преобразования из двоичной формы может выводить двоичную последовательность 251 как есть.
[0145] В дополнение к вышеприведенному описанию, модуль 101 или 201 управления может управлять каждой из единиц обработки или обращаться к значению запоминающего устройства через сигнальную линию, которая не иллюстрируется.
[0146] Хотя модуль 142 или 242 управления контекстом переключается между тремя шаблонами 1-3 согласно типу сигнала параметра управления в вышеприведенном описании, он может переключаться между двумя из шаблонов 1-3 согласно типу сигнала. Другими словами, модуль 142 или 242 управления контекстом может переключаться между использованием и не использованием условия для верхнего блока, согласно типу сигнала параметра управления.
[0147] Кроме того, модуль 142 или 242 управления контекстом может изменять способ переключения между контекстными моделями, выбранными таким образом (в том числе и для случая, в котором увеличение контекстной модели изменяется; то же применимо далее), согласно предварительно определенной информации изображений. Например, модуль 142 или 242 управления контекстом дополнительно может переключать политику переключения непосредственно, согласно объему запоминающего устройства или размеру ширины по горизонтали, или формату дискретизации изображения, который влияет на число обучений каждого контекста.
[0148] Хотя модуль 142 или 242 управления контекстом переключается между использованием и не использованием условия для верхнего блока в качестве упрощенного описания, модуль 142 или 242 управления контекстом может комбинировать случай, в котором верхний блок не доступен для переключения, и применять комбинированный случай. Например, модуль 142 или 242 управления контекстом может изменять политику переключения непосредственно согласно тому, является или нет серия последовательных макроблоков, которая должен быть обработана, энтропийной серией последовательных макроблоков (entropy_slice_flag указывает 1 или 0). Аналогично, когда не может обеспечиваться доступность верхнего соседнего блока, модуль 142 или 242 управления контекстом может изменять политику переключения таким образом, чтобы не использовать верхний блок.
[0149] Например, как проиллюстрировано на фиг. 8, модуль 142 или 242 управления контекстом может переключать политику определения контекстной модели между первым критерием (S302) определения и вторым критерием (S303) определения, согласно значению параметра предварительно определенной единицы. Здесь, "согласно значению параметра предварительно определенной единицы" означает согласно тому, является или нет серия последовательных макроблоков энтропийной серией последовательных макроблоков, как описано выше. Кроме того, первый критерий определения является критерием, на основе которого выполняются процессы на фиг. 7. Второй критерий определения является критерием, исключающим этап S204 на фиг. 7, и является, например, традиционным критерием. Это является эквивалентным увеличению индекса определения контекста, использованию параметра предварительно определенной локальной единицы и значения параметра единицы, большей предварительно определенной локальной единицы.
[0150] Другими словами, модуль 142 или 242 управления контекстом может переключаться с критерия определения, который должен применяться к единице, меньшей первой единицы, на другой критерий определения на основе значения параметра управления первой единицы.
[0151] Кроме того, модуль 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно характеристикам системы изображений. Например, модуль 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно интервалам I-изображений (значениям настроек IntraPeriod).
[0152] Хотя модуль 142 или 242 управления контекстом переключается между критериями определения согласно вышеуказанным условиям, он может переключать то, используется или нет верхний блок.
[0153] Кроме того, модуль 142 или 242 управления контекстом может определять то, используется или нет параметр управления верхнего блока, согласно тому, доступен или нет параметр управления верхнего блока при кодировании или декодировании, на основе позиции параметра управления. Другими словами, модуль 142 или 242 управления контекстом может определять то, доступен или нет параметр управления верхнего блока при декодировании, на основе позиции текущего блока и определять контекст с использованием одного из шаблонов 2 и 3, когда параметр управления верхнего блока не доступен. Кроме того, модуль 142 или 242 управления контекстом может определять то, является или нет опорное значение верхнего блока доступным, на основе древовидной структуры для сегментирования TU-, CU- или PU-блоков. Другими словами, модуль 142 или 242 управления контекстом может определять то, доступен или нет параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, которые должны быть обработаны.
[0154] Фиг. 9 иллюстрирует взаимосвязь между изображением, сериями последовательных макроблоков и блоками в соответствии с HEVC-стандартом. Одно изображение сегментируется на одну или более серий последовательных макроблоков. В примере по фиг. 9, изображение сегментируется на две серии последовательных макроблоков (серию 1 последовательных макроблоков и серию 2 последовательных макроблоков). Одна из серий последовательных макроблоков включает в себя блоки 301 (например, древовидные блоки). Здесь, блок 301 является наибольшей единицей в качестве определенной единицы управления, когда серия последовательных макроблоков сегментируется с предварительно определенным размером, и имеет размер корня, когда единица находится в корне в иерархически сегментированной структуре.
[0155] В примере по фиг. 9, серия 2 последовательных макроблоков начинается с блока 301A и состоит из одной последовательности, включающей в себя блоки в нижнем правом углу изображения через заштрихованные блоки 301B и 301C. Один из заштрихованных блоков на фиг. 9 представляет собой один блок (древовидный блок, TreeBlock), который должен быть в данный момент обработан.
[0156] Каждый из блоков 301 включает в себя NxM пикселов. Один из блоков 301 рекурсивно сегментируется внутри (типично на четыре). Другими словами, один TreeBlock концептуально составляет одно дерево квадрантов. В блоке 301B на фиг. 9, верхний правый блок, полученный посредством сегментирования заштрихованного блока 301B на четыре, рекурсивно сегментируется на четыре блока дважды. Другими словами, блок 301B включает в себя 10 логических единиц от верхней левой нулевой единицы до нижней правой девятой единицы, которые сегментируются с определенной перспективой.
[0157] Здесь, перспектива указывает принцип множества деревьев, имеющих различные глубины с корнем в качестве базисной точки, к примеру, дерево, связанное с единицей кодирования (CU), и дерево, связанное с остаточными данными. Здесь, значение каждого параметра управления принадлежит одному из концевых узлов.
[0158] Здесь, то, фактически доступно или нет значение параметра управления определенного типа сигнала, включенного в верхний блок, зависит от типа дерева, которому принадлежит параметр управления. Таким образом, модуль 142 или 242 управления контекстом может изменять критерий определения согласно типу дерева, которому принадлежит параметр управления. Это изменение является эквивалентным изменению единицы синтаксиса. Например, модуль 142 или 242 управления контекстом может использовать шаблон 2 или 3, в котором верхний блок не используется для данных адаптивного фильтра со структурой данных, такой как alf_param, тогда как он может использовать политику контекстной модели (шаблон 1) для других синтаксисов, как традиционно используется. Другими словами, второй тип или третий тип может быть параметром управления, имеющим предварительно определенную структуру данных. Кроме того, это означает то, что критерий определения может быть изменен согласно типу дерева соседнего блока.
[0159] Кроме того, может фактически использоваться или нет либо обеспечивает или нет значение параметра управления преимущество уменьшения использования запоминающего устройства, отличается в зависимости от позиции блока в иерархической взаимосвязи. Другими словами, модуль 142 или 242 управления контекстом может переключаться между использованием или не использованием верхнего блока, согласно глубине блока и иерархической позиции блока.
[0160] Например, на фиг. 9, номера 0-9 в блоке 301B находятся в порядке декодирования. В этом случае, параметры управления блоков 1 и 2 доступны, когда блок 4 кодируется или декодируется.
[0161] Кроме того, чтобы уменьшать использование запоминающего устройства, модуль 142 или 242 управления контекстом может выбирать шаблон 1 с использованием верхнего блока, когда блок не находится на глубине 0, и собственная позиция представляет собой один из второго-последующего элементов при вертикальном сегментировании. Здесь, "глубина" указывает глубину от корня. Другими словами, когда определенный блок задается как блок [xn][y0][глубина], критерий определения может быть изменен согласно тому, удовлетворяет или нет текущий блок блоку [xn][(y0)+1][глубина]. Другими словами, верхние блоки используются для блоков 4-9 на фиг. 9. Когда дерево кодируется или декодируется в порядке, как пронумеровано (начиная с 0 и заканчивая 9), очевидно, что блоки 4-9 могут использовать параметры управления, включенные в верхние блоки. Кроме того, предоставляется такое преимущество, что эти блоки должны только временно хранить данные. Кроме того, это указывает то, что значение контекста определяется согласно трехмерной позиции, включающей в себя глубину в дополнение к координатам X и Y. Кроме того, условное значение блока в верхнем слое может использоваться (применяться) в качестве условного значения блока в нижнем слое.
[0162] Кроме того, модуль 142 или 242 управления контекстом может изменять эти критерии с учетом позиционной взаимосвязи между текущим блоком и другими сериями последовательных макроблоков. В дальнейшем в этом документе описываются три заштрихованных блока 301A, 301B и 301C на фиг. 9.
[0163] Здесь, блок 301A является начальным блоком, и оба из левого блока и верхнего блока относительно блока 301A включаются в другую серию последовательных макроблоков. Верхний блок относительно блока 301B включается в другую серию последовательных макроблоков. Оба из левого блока и верхнего блока относительно блока 301C включаются в идентичную серию последовательных макроблоков, включающую в себя блок 301C. Модуль 142 или 242 управления контекстом может переключать критерий согласно такому условию. Другими словами, модуль 142 или 242 управления контекстом может переключать критерий (i) согласно тому, включается или нет верхний блок в другую серию последовательных макроблоков, (ii) согласно тому, включается или нет левый блок в другую серию последовательных макроблоков, или (iii) согласно как (i), так и (ii). Другими словами, модуль 142 или 242 управления контекстом может определять то, что параметр управления верхнего блока не доступен при декодировании, когда текущий блок находится на границе серии последовательных макроблоков. Соответственно, когда обработка декодирования для верхней серии 1 последовательных макроблоков не завершается, например, можно выполнять обработку декодирования с учетом того, может или нет серия 2 последовательных макроблоков получать информацию отдельно.
[0164] Далее описывается иерархическая единица обработки (многоуровневая блочная структура). Фиг. 10 иллюстрирует иерархическую единицу обработки (многоуровневую блочную структуру).
[0165] Устройство 100 кодирования изображений кодирует движущиеся изображения в расчете на единицу обработки, а устройство 200 кодирования изображений декодирует кодированный поток в расчете на единицу обработки. Единица обработки является многоуровневой посредством сегментирования единицы обработки на небольшие единицы обработки и дополнительного сегментирования небольших единиц обработки на меньшие единицы обработки. Когда единица обработки меньше, глубина единицы обработки больше и является иерархически более низкой, и значение, указывающее глубину, больше. Наоборот, когда единица обработки больше, глубина единицы обработки меньше и является иерархически более высокой, и значение, указывающее глубину, меньше.
[0166] Единица обработки включает в себя единицу кодирования (CU), единицу прогнозирования (PU) и единицу преобразования (TU). CU является блоком в 128x128 пикселов максимум и является единицей, соответствующей традиционному макроблоку. PU является базовой единицей для взаимного прогнозирования. TU является базовой единицей для ортогонального преобразования и имеет размер, идентичный размеру PU или намного меньше размера PU. CU, например, сегментируется на 4 под-CU, и одна из под-CU включает в себя PU и TU, имеющую размер, идентичный размеру под-CU (здесь, PU и TU перекрывают друг друга). Например, PU дополнительно сегментируется на 4 под-PU, и TU дополнительно сегментируется на 4 под-CU. Когда единица обработки сегментируется на меньшие единицы обработки, каждая из меньших единиц обработки упоминается в качестве субединицы обработки. Например, когда единица обработки является CU, субединица обработки является под-CU. Когда единица обработки является PU, субединица обработки является под-PU. Кроме того, когда единица обработки является TU, субединица обработки является под-TU.
[0167] Более конкретно, ниже приведены подробности.
[0168] Одно изображение сегментируется на одну или более серий последовательных макроблоков. Серия последовательных макроблоков является последовательностью наибольшей единицы кодирования. Позиция наибольшей единицы кодирования указывается посредством адреса наибольшей единицы lcuAddr кодирования.
[0169] Каждая из единиц кодирования, включающих в себя соответствующие наибольшие единицы кодирования, сегментируется на четыре единицы кодирования. Как результат, составляется дерево квадрантов, имеющее размер CU. Позиция CU указывается посредством индекса cuIdx единицы кодирования, имеющего выборку (пиксел или коэффициенты) в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0170] Когда сегментирование CU не разрешается, CU обрабатывается в качестве PU. Аналогично CU, позиция PU указывается посредством индекса puIdx единицы прогнозирования, имеющего выборку в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0171] PU может включать в себя сегменты (PU-сегменты или под-PU). PU-сегмент указывается посредством индекса puPartIdx сегмента единиц прогнозирования, имеющего выборку в верхнем левом углу PU в качестве начальной точки.
[0172] PU может включать в себя TU. Аналогично CU, TU может быть сегментирована на четыре меньших TU (под-TU). Это указывает разрешение сегментирования на дерево квадрантов остаточного сигнала. Позиция TU указывается посредством индекса tuIdx единицы преобразования, имеющего выборку в верхнем левом углу PU в качестве начальной точки.
[0173] Здесь, задание каждой из единиц обработки заключается в следующем:
[0174] CTB (блок дерева кодирования): базовая единица для идентификации сегментирования на дерево квадрантов квадратной области, имеющая различные квадратные размеры;
[0175] LCTB (наибольший блок дерева кодирования): наибольший CTB разрешается в серии последовательных макроблоков. Серия последовательных макроблоков включает в себя множество LCTB, которые не перекрывают друг друга;
[0176] SCTB (наименьший блок дерева кодирования): наименьший CTB разрешается в серии последовательных макроблоков. Сегментирование SCTB на меньшие CTB не разрешается;
[0177] PU (единица прогнозирования): базовая единица для идентификации обработки прогнозирования. PU имеет размер CU, в которой не разрешается сегментирование. Хотя сегментирование CU на четыре квадратных области разрешается, PU может быть сегментирована на множество сегментов, имеющих любую форму;
[0178] TU (единица преобразования): базовая единица для идентификации преобразования и квантования;
[0179] CU (единица кодирования): идентична CTB;
[0180] LCU (наибольшая единица кодирования): идентична наибольшему CTB; и
[0181] SCU (наименьшая единица кодирования): идентична наименьшему CTB.
[0182] Кроме того, параметры квантования включают в себя, по меньшей мере, один из масштабного параметра дельта-квантования (дельта-QP или дельта-QP), параметра смещения квантования, индекса (idc выбора Q-матрицы) и параметра смещения мертвой зоны квантования. Индекс служит для выбора одной из квантованных матриц масштабирования.
[0183] Масштабный параметр дельта-квантования (дельта-QP или дельта-QP) является разностью между масштабным параметром квантования, который должен применяться к коэффициентам преобразования, и масштабным параметром квантования, указываемым посредством заголовка последовательности или заголовка серии последовательных макроблоков (или масштабным параметром квантования, непосредственно предшествующим в порядке Z-сканирования).
[0184] Параметр смещения квантования также упоминается как смещение квантования и является регулирующим значением (значением смещения) для округления сигнала при выполнении квантования. Таким образом, когда устройство 100 кодирования изображений выполняет квантование, оно кодирует смещение квантования. Затем, устройство 200 декодирования изображений декодирует кодированное смещение квантования. Затем, устройство 200 декодирования изображений выполняет коррекцию с использованием смещения квантования при обратном квантовании коэффициентов преобразования.
[0185] Индекс (idc выбора Q-матрицы) упоминается в качестве матрицы адаптивного квантования и указывает то, какая матрица масштабирования квантования используется из множества матриц масштабирования квантования. Кроме того, когда существует только одна матрица масштабирования квантования, idc выбора Q-матрицы указывает то, используется или нет матрица масштабирования квантования. Матрица адаптивного квантования может управляться в расчете на единицу блоков (единицу обработки).
[0186] Параметр смещения мертвой зоны квантования упоминается в качестве адаптивной мертвой зоны и является управляющей информацией для адаптивного изменения мертвой зоны в расчете на блок. Мертвая зона является шириной, частотные коэффициенты которой становятся 0 посредством квантования (последняя ширина, которая становится +1 или -1 после квантования).
[0187] Хотя выше описывается случай, в котором шаблон 3, для которого предварительно определенное фиксированное значение используется в качестве значения контекста, случай может осуществляться при условии, что параметры управления верхнего блока и левого блока не используются и дополнительно при условии без использования параметров управления верхнего блока и левого блока в качестве шаблона 3. Например, модуль 142 или 242 управления контекстом может определять контекст согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, в качестве шаблона 3.
[0188] ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Вариант 3 осуществления описывает, какой тип сигнала должен быть использован в качестве первого типа и второго типа (или третьего типа).
[0189] Более конкретно, авторы настоящего изобретения верифицируют каждый из нижеприведенных типов сигналов из типов сигналов, как указано на фиг. 3 (раздел 9.3.3.1.1.1 из NPL 2). Каждый из типов сигналов верифицирован, поскольку существуют различные параметры и трудно прогнозировать, удовлетворяет или нет каждый шаблон других типов сигналов достоверности, на основе результата верификации для одного из типов сигналов (какой из шаблонов 1-3 является надлежащим).
[0190] Верификация в соответствии со структурой (параметрами настройки и версия программного обеспечения HM3.0) описана в JCTVC-E700 "Common test conditions and software reference configurations" (см. NPL 3). Кроме того, каждое из тестовых изображений имеет длину, ограниченную 49 кадрами.
[0191] Способ кодирования изображений и способ декодирования изображений согласно варианту 3 осуществления связаны с CABAC. Таким образом, верификация осуществляется с использованием следующих четырех испытательных шаблонов, которые являются набором значений настроек, указывающих 1 в качестве значения символьного режима (#0:LCEC, 1:CABAC):
[0192] 4.1. Внутренний, высокоэффективное задание;
4.3. Произвольный доступ, высокоэффективное задание;
4.5. Низкая задержка, высокоэффективное задание; и
4.7 Низкая задержка, высокоэффективное задание (только серии последовательных P-макроблоков).
[0193] Оценка выполняется на основе значения оценки, называемого "BD-скоростью", который используется в качестве стандарта оценки, равномерно используемого для оценки реализации в HEVC. Y BD-скорость, U BD-скорость и V BD-скорость являются BD-скоростями для цветового YUV-пространства и являются значениями согласно стандарту оценки. Согласно VCEG-AI11 (NPL 4), BD-скорость является значением оценки, полученным посредством интегрирования двух пар объемов кода с результатом PSNR и представления эффективности кодирования согласно доле площади. Кроме того, BD-скорость, указывающая значение со знаком "минус", означает, что эффективность кодирования повышена. Критерии сравнения основаны на результате вывода эталонной программы, которая реализует шаблон 1. Результаты шаблонов 2 и 3 показаны относительно результата шаблона 1.
[0194] Далее описывается результат верификации по каждому из типов сигналов:
[0195] (Первая верификация) split_coding_unit_flag;
(Вторая верификация) skip_flag; и
(Третья верификация) mvd_l0 (l1, lc).
[0196] (ПЕРВАЯ ВЕРИФИКАЦИЯ) SPLIT_CODING_UNIT_FLAG
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag.
[0197] Верификация осуществляется посредством изменения контекстной модели с шаблона 1 на шаблон 2 или 3 только для типа сигнала, который должен быть верифицирован, без изменения контекстной модели для других типов сигналов и параметра верификации, указываемого в NPL 3. В столбце на фиг. 11, значение "Fixed (Фиксированный)" указывает то, что условие (условие для левого блока или условие для верхнего блока) столбца, указываемого посредством "Фиксированный", не используется, когда извлекается значение контекста (или увеличение). Другими словами, когда только одно из условия для левого блока и условия для верхнего блока является фиксированным, только другое условие используется. Кроме того, когда оба из условия для левого блока и условия для верхнего блока являются фиксированными, предварительно определенное значение (например, 0) используется в качестве значения контекста (или увеличения).
[0198] Значение типа сигнала "split_coding_unit_flag" задается следующим образом.
[0199] split_coding_unit_flag[x0][y0] указывает то, разбивается или нет единица кодирования на единицы кодирования с половиной размера по горизонтали и вертикали. Индексы x0, y0 массива указывают местоположение (x0, y0) верхней левой выборки сигнала яркости рассматриваемого блока кодирования относительно верхней левой выборки сигнала яркости изображения. Другими словами, "split_coding_unit_flag" указывает то, сегментируется или нет целевая CU на четыре. Более конкретно, целевая CU сегментируется, когда split_coding_unit_flag указывает 1, тогда как целевая CU не сегментируется, когда split_coding_unit_flag указывает 0.
[0200] Данные split_coding_unit_flag структурируются в синтаксис дерева кодирования в качестве синтаксиса. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0201] Фиг. 12A и 12B являются таблицами для описания результатов верификации для split_coding_unit_flag.
[0202] Фиг. 12A указывает результат верификации с использованием одного соседнего блока (только значение определения условия L для левого блока) шаблона 2. Фиг. 12B указывает результат верификации с использованием нуля соседних блоков (ни использование условия для верхнего блока L, ни использование условия L для левого блока) шаблона 3.
[0203] Результат верификации на каждом из фиг. 12A и 12B указывает увеличение и уменьшение BD-скорости согласно четырем испытательным шаблонам.
[0204] Кроме того, значение оценки представляется посредством стандарта оценки, указывающего значение относительно значения оценки в случае шаблона 1, в котором используются оба из левого блока и верхнего блока. Более конкретно, когда значение оценки является положительным, результат имеет более низкий приоритет по сравнению со значением оценки (BD-скоростью) в случае шаблона 1. Кроме того, когда значение оценки является отрицательным, результат улучшается в большей степени, чем для значения оценки в случае шаблона 1.
[0205] Результат проясняет, что шаблон 1 имеет более высокий приоритет по сравнению с шаблоном контекстной модели для split_coding_unit_flag. Другими словами, значения оценки, полученные посредством шаблонов 2 и 3, имеют более низкий приоритет по сравнению со значениями шаблона 1.
[0206] Таким образом, когда тип сигнала параметра управления является split_coding_unit_flag, модуль 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном контекстной модели, с точки зрения BD-скорости.
[0207] (ВТОРАЯ ВЕРИФИКАЦИЯ) SKIP_FLAG
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag. Здесь, способ верификации является идентичным способу при первой верификации.
[0208] Значение типа сигнала "skip_flag" задается следующим образом.
[0209] skip_flag[x0][y0] равный 1 указывает то, что для текущей единицы кодирования, при декодировании серии последовательных P- или B-макроблоков, большее число элементов синтаксиса, за исключением индексов предикторов вектора движения, синтаксически анализируются после skip_flag[x0][y0].
skip_flag[x0][y0] равный 1 указывает то, что единица кодирования не должна пропускаться. Индексы x0, y0 массива указывают местоположение (x0, y0) верхней левой выборки сигнала яркости рассматриваемого блока кодирования относительно верхней левой выборки сигнала яркости изображения. Другими словами, skip_flag указывает то, должна или нет целевая CU пропускаться (обрабатываться в качестве пропущенного блока).
[0210] Данные skip_flag структурируются в синтаксис единицы кодирования в качестве синтаксиса. Другими словами, skip_flag задается для каждой CU. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0211] Фиг. 14A и 14B является таблицами для описания результатов верификации для skip_flag.
[0212] Фиг. 14A указывает результат верификации с использованием одного соседнего блока (только значение определения условия L для левого блока) шаблона 2. Фиг. 14B указывает результат верификации с использованием нуля соседних блоков (ни использование условия для верхнего блока L, ни использование условия L для левого блока) шаблона 3.
[0213] Результат верификации на каждом из фиг. 14A и 14B указывает увеличение и уменьшение BD-скорости согласно четырем испытательным шаблонам, как описано для первой верификации. Кроме того, значение значения оценки является идентичным значению оценки первой верификации.
[0214] Результат проясняет, что шаблон 1 имеет более высокий приоритет по сравнению с шаблоном контекстной модели для "skip_flag". Другими словами, значения оценки, полученные посредством шаблонов 2 и 3, имеют более низкий приоритет по сравнению со значениями шаблона 1.
[0215] Таким образом, когда тип сигнала параметра управления является "skip_flag", модуль 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном контекстной модели, с точки зрения BD-скорости.
[0216] (ТРЕТЬЯ ВЕРИФИКАЦИЯ) MVD_L0 (L1, LC)
Фиг. 15 является таблицей, указывающей способ арифметического декодирования для mvd_l0 (l1, lc). Здесь, способ верификации является идентичным способам при первой верификации и второй верификации.
[0217] Значение типа сигнала "mvd_l0 (l1, lc)" задается следующим образом.
[0218] mvd_l0[x0][y0][compIdx] указывает разность между компонентом вектора списка 0, который должен быть использован, и его прогнозированием. Индексы x0, y0 массива указывают местоположение (x0, y0) верхней левой выборки сигнала яркости рассматриваемого прогнозного блока относительно верхней левой выборки сигнала яркости изображения. Разности горизонтального компонента вектора движения назначается compIdx=0, а вертикальному компоненту вектора движения назначается compIdx=1. Когда любой из двух компонентов не присутствует, логически выведенное значение равно 0. Другими словами, mvd_l0 представляет разность между вектором движения в PU-позиции (xP, yP) и прогнозированным вектором с использованием первого компонента (горизонтального компонента compIdx=0) и второго компонента (вертикального компонента compIdx=1).
[0219] mvd_l1[x0][y0][compIdx] имеет семантику, идентичную семантике l0 и списка 0, с заменой на l1 и список 1 в mvd_l0, соответственно. Присутствие или отсутствие mvd_l1 может быть определено на основе типа изображения и т.п.
[0220] Кроме того, mvd_lc[x0][y0][compIdx] имеет семантику, идентичную семантике mvd_l0, с заменой l0 и списка 0 на lc и комбинацию списков, соответственно. Другими словами, mvd_lc формируется посредством комбинирования mvd_l0 и mvd_l1.
[0221] Термин "mvd" включает в себя, по меньшей мере, mvd_l0 и включает в себя, по меньшей мере, один из mvd_l1 и mvd_lc согласно условию изображения.
[0222] Данные mvd структурируются в единицу прогнозирования в качестве синтаксиса. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0223] Фиг. 16A и 16B являются таблицами для описания результатов верификации для mvd.
[0224] Фиг. 16A указывает результат верификации с использованием одного соседнего блока (только значение определения условия L для левого блока) шаблона 2. Фиг. 16B указывает результат верификации с использованием нуля соседних блоков (ни использование условия для верхнего блока L, ни использование условия L для левого блока) шаблона 3.
[0225] Результат верификации на каждом из фиг. 16A и 16B указывает увеличение и уменьшение BD-скорости согласно четырем испытательным шаблонам, как описано для первой верификации. Кроме того, значение значения оценки является идентичным значению оценки первой верификации.
[0226] Результат отличается от результатов первой верификации split_coding_unit_flag и второй верификации skip_flag. Нет существенной разницы в BD-скорости между шаблонами 1 и 2 или 3 в качестве шаблона контекстной модели для mvd.
[0227] Таким образом, в смешанном окружении с множеством параметров управления типов сигналов, модуль 142 или 242 управления контекстом определяет значение контекста без использования верхнего блока в качестве соседнего блока, в частности, когда тип сигнала параметра управления является mvd_l0 (l1, lc). Другими словами, модуль 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 2 или 3, когда тип сигнала параметра управления является mvd_l0 (l1, lc). Другими словами, первый тип включает в себя "split_coding_unit_flag" или "skip_flag", а второй тип или третий тип включает в себя mvd_l0, mvd_l1 или mvd_lc. Соответственно, устройство кодирования изображений и устройство декодирования изображений согласно варианту 3 осуществления могут уменьшать использование запоминающего устройства при подавлении снижения BD-скорости.
[0228] Другими словами, второй тип или третий тип должен включать в себя, по меньшей мере, только один из mvd_l0, mvd_l1 и mvd_lc. Например, второй тип или третий тип может включать в себя mvd_l0 и mvd_l1 без включения mvd_lc.
[0229] Когда шаблон 2 сравнивается с шаблоном 3 для mvd, эти BD-скорости не имеют существенной разницы. Таким образом, предпочтительно использовать шаблон 3 для mvd_l0 (l1, lc). Соответственно, можно дополнительно уменьшать использование запоминающего устройства и объем обработки.
[0230] Здесь, хотя остаточные данные (mvd) вектора движения не передаются в режиме пропуска, остаточные данные (mvd) вектора движения передаются в режиме объединения. Соответственно, даже когда контекст, который должен быть временно использован, не является оптимальным в режиме объединения, ухудшение качества изображений, вызываемое посредством не использования оптимального контекста, может компенсироваться в некоторой степени с помощью обработки с использованием mvd Соответственно, ухудшение качества изображений подавляется, когда окружающий блок для mvd не используется.
[0231] Когда условное значение верхнего блока или левого блока (condA или condL) используется в соответствии с предварительно определенным условием, следующая модификация является применимой.
[0232] Первая модификация является способом использования зависимости между mvd_l0, mvd_l1 и mvd_lc.
[0233] Более конкретно, модуль 142 или 242 управления контекстом может извлекать условное значение другого типа сигнала, имеющего условное значение, зависящее от условных значений (condL или condA) двух типов сигналов из трех типов сигналов mvd_l0, mvd_l1 и mvd_lc, с использованием условных значений.
[0234] Например, когда значение condA для mvd_lc зависит от условных значений (значения condA для l0 и значения condA для l1) двух типов сигналов mvd_l0 и lvd_l1, модуль 142 или 242 управления контекстом не должен обращаться к значению condA для mvd_lc.
[0235] Фиг. 16C является таблицей, указывающей условие A и условие L для mvd, как указано в NPL 2. Фиг. 16D является таблицей, указывающей условие A и условие L для mvd согласно варианту 3 осуществления.
[0236] Как указано на фиг. 16D, модуль 142 и 242 управления контекстом может извлекать условные значения condL и condA для mvd_lc, по меньшей мере, из одного из условных значений mvd_l0 и mvd_l1 в идентичном блоке.
[0237] Здесь, модуль 142 и 242 управления контекстом может использовать эти взаимосвязи с одним или обоими из горизонтального направления (compIdx=0) и вертикального направления (compIdx=1).
[0238] Кроме того, модуль 142 и 242 управления контекстом может использовать зависимость между compIdx=0 и 1. Другими словами, модуль 142 и 242 управления контекстом может приводить к тому, что результат одного из двух условных значений горизонтального направления mvd_l0[ ][ ][0 и вертикального направления mvd_l0[ ][ ][1] зависит от другого. Другими словами, модуль 142 и 242 управления контекстом может извлекать условные значения condL и condA одного из горизонтального направления и вертикального направления для mvd из другого из условных значений для mvd. Здесь, согласно NPL 2, индекс контекста (увеличение индекса + опорное значение) задается равным каждому из горизонтальных направлений mvd_l0[ ][ ][0, mvd_l1[ ][ ][0 и mvd_lc[ ][ ][0 и вертикальных направлений mvd_l0[ ][ ][1], mvd_l1[ ][ ][1] и mvd_lc[ ][ ][1]. Таким образом, можно уменьшать потери с использованием зависимости. Другими словами, число индексов контекстов может сокращаться.
[0239] Здесь, условные значения верхнего блока и левого блока используются только для первого бита mvd согласно NPL 2. Другими словами, модуль 142 и 242 управления контекстом может использовать шаблон 2 или 3 для первого бита mvd. Другими словами, модуль 142 и 242 управления контекстом может использовать шаблон 2 или 3 для abs_mvd_greater0_flag[compIdx], указывающий то, равна или превышает либо нет разность между вектором движения и прогнозированным вектором 0.
[0240] Хотя описываются устройство кодирования изображений и устройство декодирования изображений согласно вариантам 1-3 осуществления настоящего изобретения, настоящее изобретение не ограничено этими вариантами осуществления.
[0241] Например, по меньшей мере, часть устройства кодирования изображений, устройства декодирования изображений и функций модификаций этих устройств согласно вариантам 1-3 осуществления может быть комбинирована.
[0242] Кроме того, все значения и логические значения, описанные выше, являются иллюстрациями для конкретного описания настоящего изобретения, и настоящее изобретение не ограничено посредством проиллюстрированных значений.
[0243] Кроме того, разделения функциональных блоков на блок-схемах являются примерами. Таким образом, функциональные блоки могут быть реализованы как один функциональный блок, один функциональный блок может быть разделен на множество функциональных блоков, и часть функций может переключаться на другой функциональный блок. Кроме того, множество функциональных блоков, имеющих аналогичные функции, может быть обработано только посредством аппаратных средств или программного обеспечения параллельно или с разделением по времени.
[0244] Порядки этапов способа кодирования изображений, выполняемого посредством устройства кодирования изображений, и способа декодирования изображений, выполняемого посредством устройства декодирования изображений, служат для конкретного описания настоящего изобретения и могут представлять собой порядок, отличный от вышеуказанных порядков. Кроме того, часть этапов может быть выполнена одновременно (параллельно) с другими этапами.
[0245] ЧЕТВЕРТЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Обработка, описанная в каждом из вариантов осуществления, может быть просто реализована посредством компьютерной системы посредством записи, на носитель записи, программы для реализации структуры способа кодирования движущихся изображений или способа декодирования движущихся изображений, описанных в варианте осуществления. Носитель записи может быть любым носителем записи при условии, что на него может записываться программа, таким как магнитный диск, оптический диск, магнитооптический диск, IC-карта и полупроводниковое запоминающее устройство.
[0246] В дальнейшем в этом документе описываются варианты применения для способа кодирования движущихся изображений или способа декодирования движущихся изображений, описанных в каждом из вариантов осуществления, и система с их использованием.
[0247] Фиг. 19 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи разделяется на соты требуемого размера, и базовые станции ex106-ex110, которые являются стационарными беспроводными станциями, размещаются в каждой из сот.
[0248] Система ex100 предоставления контента подключается к устройствам, таким как компьютер ex111, персональное цифровое устройство (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110.
[0249] Тем не менее, конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на фиг. 19, и комбинация, в которой подключаются любые из элементов, является допустимой. Помимо этого, каждое из устройств может непосредственно подключаться к телефонной сети ex104, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть подключены друг к другу через беспроводную связь ближнего действия и т.п.
[0250] Камера ex113, такая как цифровая видеокамера, допускает захват движущихся изображений. Камера ex116, такая как цифровая видеокамера, допускает захват как неподвижных изображений, так и движущихся изображений. Кроме того, сотовый телефон ex114 может быть телефоном, который удовлетворяет любому из таких стандартов, как глобальная система мобильной связи (GSM), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), стандарт долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно, сотовый телефон ex114 может соответствовать стандарту системы персональных мобильных телефонов (PHS).
[0251] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и т.п. через телефонную сеть ex104 и базовую станцию ex109, которая предоставляет распространение телепередачи в прямом эфире и т.п. Для такого распространения, контент (например, видео музыкального концерта в прямом эфире), захватываемый пользователем с помощью камеры ex113, кодируется, как описано выше в каждом из вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет потоковое распространение принимаемых данных контента в клиенты при запросах. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые допускают декодирование вышеуказанных кодированных данных. Каждое из устройств, которое принимает распространенные данные, декодирует и воспроизводит кодированные данные.
[0252] Захватываемые данные могут кодироваться посредством камеры ex113 или сервера ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть совместно использованы камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространенные данные могут быть декодированы посредством клиентов или сервера ex103 потоковой передачи, или процессы декодирования могут быть совместно использованы клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и движущихся изображений, захватываемых не только посредством камеры ex113, но также и камеры ex116, могут быть переданы на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться посредством камеры ex116, компьютера ex111 или сервера ex103 потоковой передачи или совместно использоваться ими.
[0253] Кроме того, в общем, компьютер ex111 и LSI ex500, включенные в каждое из устройств, выполняют такие процессы кодирования и декодирования. LSI ex500 может быть сконфигурирована из одного кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования движущихся изображений может быть интегрировано в определенный тип носителя записи (такой как CD-ROM, гибкий диск, жесткий диск), который является читаемым посредством компьютера ex111 и т.п., и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 содержит камеру, могут передаваться видеоданные, полученные посредством камеры. Видеоданные - это данные, кодированные посредством LSI ex500, включенной в сотовый телефон ex114.
[0254] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0255] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления контента, так что пользователь, который не имеет конкретных прав и оборудования, может реализовывать персональную широковещательную передачу.
[0256] Настоящее изобретение не ограничено вышеуказанной системой ex100 предоставления контента, и, по меньшей мере, устройство кодирования движущихся изображений или устройство декодирования движущихся изображений, описанные в каждом из вариантов осуществления, могут быть включены в систему ex200 цифровой широковещательной передачи, как показано на фиг. 20. Более конкретно, широковещательная станция ex201 сообщает или передает, по радиоволнам в широковещательный спутник ex202, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных. Видеоданные являются данными, кодированными согласно способу кодирования движущихся изображений, описанному в каждом из вариантов осуществления. При приеме видеоданных широковещательный спутник ex202 передает радиоволны для передачи в широковещательном режиме. Затем, антенна ex204 для домашнего применения, допускающая прием спутниковой широковещательной передачи, принимает радиоволны. Устройство, такое как телевизионный приемник (приемное устройство) ex300 и абонентская приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит данные.
[0257] Кроме того, модуль ex218 считывания/записи, который (i) считывает и декодирует мультиплексированные данные, записанные на носителях ex215 записи, таких как DVD и BD, или (ii) кодирует видеосигналы на носителе ex215 записи, и в некоторых случаях, записывает данные, полученные посредством мультиплексирования аудиосигнала в кодированных данных, может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, как показано в каждом из вариантов осуществления. В этом случае, воспроизведенные видеосигналы отображаются на мониторе ex219, и другое устройство или система может воспроизводить видеосигналы с использованием носителя ex215 записи, на котором записываются мультиплексированные данные. Кроме того, также можно реализовывать устройство декодирования движущихся изображений в абонентской приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутниковой и/или наземной широковещательной передачи, чтобы воспроизводить видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования движущихся изображений может быть включено не в абонентскую приставку, а в телевизионный приемник ex300.
[0258] Фиг. 21 иллюстрирует телевизионный приемник (приемное устройство) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Телевизионный приемник ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д., который принимает широковещательную передачу; модуль ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны подаваться наружу; и модуль ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные посредством процессора ex306 сигналов, в данные.
[0259] Кроме того, телевизионный приемник ex300 дополнительно включает в себя: процессор ex306 сигналов, включающий в себя процессор ex304 аудиосигналов и процессор ex305 видеосигналов, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно; динамик ex307, который предоставляет декодированный аудиосигнал; и модуль ex309 вывода, включающий в себя модуль ex308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизионный приемник ex300 включает в себя интерфейсный модуль ex317, включающий в себя модуль ex312 функционального ввода, который принимает ввод пользовательской операции. Кроме того, телевизионный приемник ex300 включает в себя модуль ex310 управления, который осуществляет общее управление каждым составляющим элементом телевизионного приемника ex300, и модуль ex311 схемы электропитания, который предоставляет питание в каждый из элементов. Кроме модуля ex312 функционального ввода, интерфейсный модуль ex317 может включать в себя: мост ex313, который подключается к внешнему устройству, такому как модуль ex218 считывания/записи; модуль ex314 гнезда для предоставления возможности присоединения носителя ex216 записи, такого как SD-карта; драйвер ex315 для того, чтобы подключаться к внешнему носителю записи, такому как жесткий диск; и модем ex316 для того, чтобы подключаться к телефонной сети. Здесь, носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимого/энергозависимого полупроводникового запоминающего устройства для хранения. Составляющие элементы телевизионного приемника ex300 подключены друг к другу через синхронную шину.
[0260] Во-первых, описывается конфигурация, в которой телевизионный приемник ex300 декодирует мультиплексированные данные, полученные снаружи, через антенну ex204 и т.п. и воспроизводит декодированные данные. В телевизионном приемнике ex300, при приеме пользовательской операции из удаленного контроллера ex220 и т.п., модуль ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные посредством модуля ex302 модуляции/демодуляции, под управлением модуля ex310 управления, включающего в себя CPU. Кроме того, процессор ex304 аудиосигналов декодирует демультиплексированные аудиоданные, и процессор ex305 видеосигналов декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в варианте осуществления 1, в телевизионном приемнике ex300. Модуль ex309 вывода предоставляет декодированный видеосигнал и аудиосигнал наружу. Когда модуль ex309 вывода предоставляет видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex318 и ex319 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Кроме того, телевизионный приемник ex300 может считывать мультиплексированные данные не через широковещательную передачу и т.п., а из носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и SD-карта. Далее описывается конфигурация, в которой телевизионный приемник ex300 кодирует аудиосигнал и видеосигнал и передает данные наружу или записывает данные на носитель записи. В телевизионном приемнике ex300, при приеме пользовательской операции из удаленного контроллера ex220 и т.п., процессор ex304 аудиосигналов кодирует аудиосигнал, и процессор ex305 видеосигналов кодирует видеосигнал под управлением модуля ex310 управления с использованием способа кодирования изображений, как описано в каждом из вариантов осуществления. Модуль ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет результирующий сигнал наружу. Когда модуль ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут временно сохраняться в буферах ex320 и ex321 и т.п. так, что сигналы воспроизводятся синхронно друг с другом. Здесь, буферов ex318-ex321 могут быть множество, как проиллюстрировано, или, по меньшей мере, один буфер может быть совместно использован в телевизионном приемнике ex300. Кроме того, данные могут быть сохранены в буфере, отличном от буферов ex318-ex321 так, что можно не допускать переполнения и опустошения в системе, например, между модулем ex302 модуляции/демодуляции и модулем ex303 мультиплексирования/демультиплексирования.
[0261] Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода из микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя телевизионный приемник ex300 в описании может кодировать, мультиплексировать и предоставлять данные наружу, он может не допускать выполнение всех процессов, а допускать только одно из приема, декодирования и предоставления данных наружу.
[0262] Кроме того, когда модуль ex218 считывания/записи считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизионного приемника ex300 и модуля ex218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизионный приемник ex300 и модуль ex218 считывания/записи могут совместно использовать декодирование или кодирование.
[0263] В качестве примера, фиг. 22 иллюстрирует конфигурацию модуля ex400 воспроизведения/записи информации, когда данные считываются или записываются с или на оптический диск. Модуль ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401-ex407, которые описаны ниже. Оптическая головка ex401 испускает лазерное пятно на поверхности для записи носителя ex215 записи, который является оптическим диском, чтобы записывать информацию, и обнаруживает отраженный свет от поверхности для записи носителя ex215 записи, чтобы считывать информацию. Модуль ex402 модуляционной записи электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерное излучение согласно записанным данным. Модуль ex403 демодуляции при воспроизведении усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности для записи, с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носитель ex215 записи, чтобы воспроизводить необходимую информацию. Буфер ex404 временно хранит информацию, которая должна записываться на носитель ex215 записи, и информацию, воспроизведенную из носителя ex215 записи. Дисковый электромотор ex405 вращает носитель ex215 записи. Модуль ex406 сервоуправления перемещает оптическую головку ex401 в заранее определенную информационную дорожку при одновременном управлении вращательным приводом дискового электромотора ex405, чтобы следовать лазерному пятну. Модуль ex407 управления системой осуществляет общее управление модулем ex400 воспроизведения/записи информации. Процессы считывания и записи могут реализовываться посредством модуля ex407 управления системой с использованием различной информации, хранимой в буфере ex404, и формирования и добавления новой информации по мере необходимости, и посредством модуля ex402 модуляционной записи, модуля ex403 демодуляции при воспроизведении и модуля ex406 сервоуправления, которые записывают и воспроизводят информацию через оптическую головку ex401 при координированном управлении. Модуль ex407 управления системой включает в себя, например, микропроцессор и выполняет обработку посредством инструктирования компьютеру выполнять программу для считывания и записи.
[0264] Хотя в описании оптическая головка ex401 испускает лазерное пятно, она может выполнять запись с высокой плотностью с использованием света в поле в ближней зоне.
[0265] Фиг. 23 схематично иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности для записи носителя ex215 записи направляющие канавки формируются по спирали, и информационная дорожка ex230 записывает, заранее, информацию адреса, указывающую абсолютную позицию на диске, согласно изменению в форме направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для записи данных. Устройство, которое записывает и воспроизводит данные, воспроизводит информационную дорожку ex230 и считывает информацию адреса, чтобы определять позиции блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных является зоной для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которые находятся внутри и снаружи зоны ex233 записи данных, соответственно, предназначены для конкретного применения за исключением записи пользовательских данных. Модуль 400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудиоданных и кодированных видеоданных, из и в зону ex233 записи данных носителя ex215 записи.
[0266] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается в качестве примера в описании, оптический диск не ограничен таким образом и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, к примеру, записи информации с использованием света цветов с различными длинами волн в одной части оптического диска и записи информации, имеющей различные слои, с различных углов.
[0267] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные из спутника ex202 и т.п. и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой широковещательной системе ex200. Здесь, конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный GPS-модуль, в конфигурации, проиллюстрированной на фиг. 21. То же применимо для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
[0268] Фиг. 24A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; модуль ex365 камеры, допускающий захват движущихся и неподвижных изображений; и модуль ex358 отображения, к примеру, жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захватываемое посредством модуля ex365 камеры или принимаемое посредством антенны ex350. Сотовый телефон ex114 дополнительно включает в себя: модуль основного корпуса, включающий в себя набор функциональных клавиш ex366; модуль ex357 аудиовывода, к примеру, динамик для вывода аудио; модуль ex356 аудиоввода, к примеру, микрофон для ввода аудио; запоминающее устройство ex367 для сохранения захваченного видео или неподвижных изображений, записанного аудио, кодированных или декодированных данных принимаемого видео, неподвижных изображений, почтовых сообщений и т.п.; и модуль ex364 гнезда, который является интерфейсным модулем для носителя записи, который сохраняет данные таким же образом, как запоминающее устройство ex367.
[0269] Далее описывается пример конфигурации сотового телефона ex114 со ссылкой на фиг. 24B. В сотовом телефоне ex114 главный модуль ex360 управления, спроектированный с возможностью полностью управлять каждым модулем основного корпуса, включающим в себя модуль ex358 отображения, а также функциональные клавиши ex366 взаимно соединяются, через синхронную шину ex370, с модулем ex361 схемы электропитания, модулем ex362 управления функциональным вводом, процессором ex355 видеосигналов, модулем ex363 интерфейса камеры, модулем ex359 управления жидкокристаллическим дисплеем (ЖК-дисплеем), модулем ex352 модуляции/демодуляции, модулем ex353 мультиплексирования/демультиплексирования, процессором ex354 аудиосигналов, модулем ex364 гнезда и запоминающим устройством ex367.
[0270] Когда клавиша завершения вызова или клавиша включения питания включается посредством пользовательской операции, модуль ex361 схемы электропитания предоставляет в соответствующие модули питание из аккумуляторной батареи с тем, чтобы активировать сотовый телефон ex114.
[0271] В сотовом телефоне ex114 процессор ex354 аудиосигналов преобразует аудиосигналы, собираемые посредством модуля ex356 аудиоввода в режиме речевой связи, в цифровые аудиосигналы под управлением главного модуля ex360 управления, включающего в себя CPU, ROM и RAM. Затем модуль ex352 модуляции/демодуляции выполняет обработку с расширенным спектром для цифровых аудиосигналов, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для данных, с тем чтобы передавать результирующие данные через антенну ex350. Так же, в сотовом телефоне ex114, приемо-передающий модуль ex351 усиливает данные, принимаемые посредством антенны ex350 в режиме речевой связи, и выполняет преобразование частоты и аналого-цифровое преобразование для данных.
[0272] Затем модуль ex352 модуляции/демодуляции выполняет обработку с обратным расширенным спектром для данных, и процессор ex354 аудиосигналов преобразует их в аналоговые аудиосигналы, с тем чтобы выводить их через модуль ex357 аудиовывода. Кроме того, когда передается почтовое сообщение в режиме передачи данных, текстовые данные почтового сообщения, введенные посредством операций с функциональными клавишами ex366 и т.п. основного корпуса, отправляются в главный модуль ex360 управления через модуль ex362 управления функциональным вводом. Главный модуль ex360 управления инструктирует модулю ex352 модуляции/демодуляции выполнять обработку с расширенным спектром для текстовых данных, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для результирующих данных, чтобы передавать данные в базовую станцию ex110 через антенну ex350. Когда принимается почтовое сообщение, обработка, которая является приблизительно обратной относительно обработки для передачи почтового сообщения, выполняется для принимаемых данных, и результирующие данные предоставляются в модуль ex358 отображения.
[0273] Когда передаются видео, неподвижные изображения или видео и аудио в режиме передачи данных, процессор ex355 видеосигналов и сжимает и кодирует видеосигналы, подаваемые из модуля ex365 камеры, с использованием способа кодирования движущихся изображений, показанного в каждом из вариантов осуществления, и передает кодированные видеоданные в модуль ex353 мультиплексирования/демультиплексирования. В отличие от этого, в течение времени, когда модуль ex365 камеры захватывает видео, неподвижные изображения и т.п., процессор ex354 аудиосигналов кодирует аудиосигналы, собранные посредством модуля ex356 аудиоввода, и передает кодированные аудиоданные в модуль ex353 мультиплексирования/демультиплексирования.
[0274] Модуль ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, подаваемые из процессора ex355 видеосигналов, и кодированные аудиоданные, подаваемые из процессора ex354 аудиосигналов, с использованием предварительно определенного способа. Затем, модуль ex352 модуляции/демодуляции выполняет обработку с расширенным спектром для мультиплексированных данных, и приемо-передающий модуль ex351 выполняет цифро-аналоговое преобразование и преобразование частоты для данных, с тем чтобы передавать результирующие данные через антенну ex350.
[0275] При приеме данных видеофайла, который связывается с веб-страницей и т.п., в режиме передачи данных или при приеме почтового сообщения с присоединенным видео и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, модуль ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов видеоданных и поток битов аудиоданных и предоставляет в процессор ex355 видеосигналов кодированные видеоданные, а в процессор ex354 аудиосигналов кодированные аудиоданные через синхронную шину ex370. Процессор ex355 видеосигналов декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, показанному в каждом из вариантов осуществления, и затем модуль ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через модуль ex359 управления ЖК-дисплеем. Кроме того, процессор ex354 аудиосигналов декодирует аудиосигнал, и модуль ex357 аудиовывода предоставляет аудио.
[0276] Кроме того, аналогично телевизионному приемнику ex300, терминал, такой как сотовый телефон ex114, вероятно, имеет 3 типа реализованных конфигураций, включающих в себя не только (i) приемо-передающий терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в описании, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, связанных с видео, в видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0277] По сути, способ кодирования движущихся изображений и способ декодирования движущихся изображений в каждом из вариантов осуществления могут использоваться в любых из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0278] Кроме того, настоящее изобретение не ограничено вариантами осуществления и различными модификациями, и изменения возможны без отступления от объема настоящего изобретения.
[0279] ПЯТЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Видеоданные могут быть сформированы посредством переключения, по мере необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с другим стандартом, таким как MPEG-2, MPEG4-AVC и VC-1.
[0280] Здесь, когда множество видеоданных, которые соответствуют различным стандартам, формируются, а затем декодируются, способы декодирования должны быть выбраны таким образом, что они соответствуют различным стандартам. Тем не менее, поскольку не может быть обнаружено то, какому стандарту соответствуют каждые из множества видеоданных, которые должны быть декодированы, имеется проблема в том, что не может быть выбран надлежащий способ декодирования.
[0281] Чтобы разрешать проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и т.п. в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую то, какому стандарту соответствуют видеоданные. Далее описывается конкретная структура мультиплексированных данных, включающих в себя видеоданные, сформированные в способе кодирования движущихся изображений и посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортных потоков MPEG-2.
[0282] Фиг. 25 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на фиг. 25, мультиплексированные данные могут быть получены посредством мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна смешиваться с частью первичного аудио, а поток презентационной графики представляет субтитры фильма. Здесь, первичное видео является обычным видео, которое должно отображаться на экране, и вторичное видео является видео, которое должно отображаться в меньшем окне в основном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сформирован посредством размещения GUI-компонентов на экране. Видеопоток кодируется в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, показанных в каждом из вариантов осуществления, либо в способе кодирования движущихся изображений или посредством устройства кодирования движущихся изображений в соответствии с традиционным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии с таким стандартом, как AC-3 Dolby, Dolby Digital Plus, MLP, DTS, DTS-HD и линейная PCM.
[0283] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, который должен быть использован для видео фильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются потокам презентационной графики, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, которые должны быть использованы для вторичного видео фильма, и 0x1A00-0x1A1F выделяются аудиопотокам, которые должны быть использованы для вторичного видео, которое должно смешиваться с первичным аудио.
[0284] Фиг. 26 схематично иллюстрирует то, как мультиплексируются данные. Во-первых, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток PES-пакетов ex236 и поток PES-пакетов ex239 и дополнительно в TS-пакеты ex237 и TS-пакеты ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245 и дополнительно в TS-пакеты ex243 и TS-пакеты ex246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получать мультиплексированные данные ex247.
[0285] Фиг. 27 иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов. Первая панель на фиг. 27 показывает поток видеокадров в видеопотоке. Вторая панель показывает поток PES-пакетов. Как указано посредством стрелок, обозначенных как yy1, yy2, yy3 и yy4 на фиг. 27, видеопоток разделяется на изображения, такие как I-изображения, B-изображения и P-изображения, каждое из которых является единицей видеопредставления, и изображения сохраняются в рабочих данных каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок сохраняет временную метку представления (PTS), указывающую время отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.
[0286] Фиг. 28 иллюстрирует формат TS-пакетов, которые должны быть в итоге записаны в мультиплексированные данные. Каждый из TS-пакетов является 188-байтовым пакетом фиксированной длины, включающим в себя 4-байтовый TS-заголовок, имеющий такую информацию, как PID для идентификации потока, и 184-байтовые рабочие TS-данные для сохранения данных. PES-пакеты разделяются и сохраняются в рабочих данных TS, соответственно. Когда используется BD-ROM, каждому из TS-пакетов присваивается 4-байтовый TP_Extra_Header, тем самым приводя к 192-байтовым исходным пакетам. Исходные пакеты записываются в мультиплексированные данные. TP_Extra_Header хранит такую информацию, как Arrival_Time_Stamp (ATS). ATS показывает время начала передачи, в которое каждый из TS-пакетов должен быть передан в PID-фильтр. Номера, увеличивающиеся с заголовка мультиплексированных данных, называются номерами исходных пакетов (SPN), как показано в нижней части фиг. 28.
[0287] Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и т.п., но также и таблицу ассоциаций программ (PAT), таблицу структуры программ (PMT) и временную отметку программ (PCR). PAT показывает то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самого PAT регистрируется как нуль. PMT сохраняет PID потоков видео, аудио, субтитров и т.п., включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих PID. PMT также имеет различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или нет копирование мультиплексированных данных. PCR сохраняет информацию STC-времени, соответствующую ATS, показывающей, когда PCR-пакет передается в декодер, чтобы достигать синхронизации между таймером поступления (ATC), т.е. временной осью ATS, и системным таймером (STC), т.е. временной осью PTS и DTS.
[0288] Фиг. 29 подробно поясняет структуру данных PMT. PMT-заголовок располагается в верхней части PMT. PMT-заголовок описывает длину данных, включенных в PMT, и т.п. Множество дескрипторов, связанных с мультиплексированными данными, располагается после PMT-заголовка. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов располагается множество фрагментов информации потока, связанных с потоками, включенными в мультиплексированные данные. Каждый фрагмент информации потока включает в себя дескрипторы потоков, каждый из которых описывает такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока и информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в мультиплексированных данных.
[0289] Когда мультиплексированные данные записываются на носителе записи и т.д., они записываются вместе с файлами информации мультиплексированных данных.
[0290] Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на фиг. 30. Файлы информации мультиплексированных данных находятся в соответствии "один-к-одному" с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту вхождений.
[0291] Как проиллюстрировано на фиг. 30, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время завершения воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой декодер системных целевых объектов, который должен быть описан ниже, передает мультиплексированные данные в PID-фильтр. Интервалы ATS, включенных в мультиплексированные данные, задаются не больше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в заголовке мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS задается равным времени завершения воспроизведения.
[0292] Как показано на фиг. 31, фрагмент информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия видеопотока, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые включаются в видеопоток. Каждый фрагмент информации атрибутов аудиопотока переносит информацию, включающую в себя то, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопотока, и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель воспроизводит информацию.
[0293] В варианте 5 осуществления мультиплексированные данные, которые должны быть использованы, имеют тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для выделения уникальных видеоданных, указывающих информацию, сформированную посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, для типа потока, включенного в PMT, или информации атрибутов видеопотока. При этой структуре, видеоданные, сформированные посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0294] Кроме того, фиг. 32 иллюстрирует этапы способа декодирования движущихся изображений согласно варианту 5 осуществления. На этапе exS100, тип потока, включенный в PMT или информацию атрибутов видеопотока, получается из мультиплексированных данных. Затем, на этапе exS101, определяется то, указывает или нет тип потока либо информация атрибутов видеопотока то, что мультиплексированные данные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления. Когда определяется то, что тип потока или информация атрибутов видеопотока указывает то, что мультиплексированные данные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений в каждом из вариантов осуществления, на этапе exS102 тип потока или информация атрибутов видеопотока декодируется посредством способа декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG4-AVC и VC-1, на этапе exS103 тип потока или информация атрибутов видеопотока декодируется посредством способа декодирования движущихся изображений в соответствии с традиционными стандартами.
[0295] Так же, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает определение того, могут или нет выполнять декодирование способ декодирования движущихся изображений или устройство декодирования движущихся изображений, которые описываются в каждом из вариантов осуществления. Даже после ввода мультиплексированных данных, которые соответствуют другому стандарту, могут быть выбраны надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию без ошибок. Кроме того, способ или устройство кодирования движущихся изображений либо способ или устройство декодирования движущихся изображений в варианте 5 осуществления могут быть использованы в устройствах и системах, описанных выше.
[0296] ШЕСТОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Каждый из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления типично осуществляется в форме интегральной схемы или большой интегральной (LSI) схемы. В качестве примера LSI, фиг. 33 иллюстрирует конфигурацию LSI ex500, которая состоит из одного кристалла. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые должны быть описаны ниже, и элементы соединяются друг с другом через шину ex510. Модуль ex505 схемы электропитания активируется посредством предоставления питания в каждый из элементов, когда модуль ex505 схемы электропитания включается.
[0297] Например, когда выполняется кодирование, LSI ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и т.п. через AV-ввод/вывод ex509 под управлением модуля ex501 управления, включающего в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504 и модуль ex512 управления частотой возбуждения. Принимаемый AV-сигнал временно сохраняется во внешнем запоминающем устройстве ex511, к примеру, SDRAM. Под управлением модуля ex501 управления, сохраненные данные сегментируются на части данных согласно объему и скорости обработки так, что они передаются в процессор ex507 сигналов. Затем, процессор ex507 сигналов кодирует аудиосигнал и/или видеосигнал. Здесь, кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, процессор ex507 сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставляемый поток битов передается в базовую станцию ex107 или записывается на носители ex215 записи. Когда наборы данных мультиплексируются, наборы данных должны временно сохраняться в буфере ex508 так, что наборы данных являются синхронизированными друг с другом.
[0298] Хотя запоминающее устройство ex511 является элементом за пределами LSI ex500, оно может быть включено в LSI ex500. Буфер ex508 не ограничен одним буфером, а может состоять из буферов. Кроме того, LSI ex500 может состоять из одного кристалла или множества кристаллов.
[0299] Кроме того, хотя модуль ex501 управления включает в себя CPU ex502, контроллер ex503 запоминающего устройства, потоковый контроллер ex504, модуль ex512 управления частотой возбуждения, конфигурация модуля ex501 управления не ограничена этой. Например, процессор ex507 сигналов дополнительно может включать в себя CPU. Включение другого CPU в процессор ex507 сигналов может повышать скорость обработки. Кроме того, в качестве другого примера, CPU ex502 может выступать в качестве или быть частью процессора ex507 сигналов и, например, может включать в себя процессор аудиосигналов. В таком случае, модуль ex501 управления включает в себя процессор ex507 сигналов или CPU ex502, включающий в себя часть процессора ex507 сигналов.
[0300] Используемым здесь названием является LSI, но она также может называться IC, системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.
[0301] Кроме того, способы достигать интеграции не ограничены LSI, и специальная схема или процессор общего назначения и т.д. также позволяет достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может программироваться после изготовления LSI, или реконфигурируемый процессор, который дает возможность переконфигурирования подключения или конфигурации LSI, может использоваться для аналогичной цели.
[0302] В будущем, с развитием полупроводниковых технологий совершенно новая технология может заменять LSI. Функциональные блоки могут быть интегрированы с использованием этой технологии. Имеется возможность того, что настоящее изобретение применимо к биотехнологии.
[0303] СЕДЬМОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Когда видеоданные декодируются посредством способа кодирования движущихся изображений или посредством устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, по сравнению с тем, когда видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, объем вычислений, вероятно, увеличивается. Таким образом, LSI ex500 должна задаваться на частоте возбуждения, превышающей частоту CPU ex502, которая должна быть использована, когда видеоданные декодируются в соответствии с традиционным стандартом. Тем не менее, когда частота возбуждения задается большей, имеется проблема в том, что возрастает энергопотребление.
[0304] Чтобы разрешать проблему, устройство декодирования движущихся изображений, к примеру, телевизионный приемник ex300 и LSI ex500, выполнено с возможностью определять то, какому стандарту соответствуют видеоданные, и переключаться между частотами возбуждения согласно определенному стандарту. Фиг. 34 иллюстрирует конфигурацию ex800 в варианте 7 осуществления. Модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной большей частоте возбуждения, когда видеоданные формируются посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует процессору ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, модуль ex803 переключения частоты возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения видеоданных, сформированных посредством способа кодирования движущихся изображений или устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует процессору ex802 декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0305] Более конкретно, модуль ex803 переключения частоты возбуждения включает в себя CPU ex502 и модуль ex512 управления частотой возбуждения на фиг. 33. Здесь, каждый из процессора ex801 декодирования, который осуществляет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и процессора ex802 декодирования, который соответствует традиционному стандарту, соответствует процессору ex507 сигналов на фиг. 33. CPU ex502 определяет то, какому стандарту соответствуют видеоданные. Затем, модуль ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, процессор ex507 сигналов декодирует видеоданные на основе сигнала из CPU ex502. Например, идентификационная информация, описанная в варианте 5 осуществления, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничена идентификационной информацией, описанной в варианте 5 осуществления, а может быть любой информацией при условии, что информация указывает то, какому стандарту соответствуют видеоданные. Например, когда то, какому стандарту соответствуют стандартные видеоданные, может быть определено на основе внешнего сигнала для определения того, что видеоданные используются для телевизионного приемника или диска и т.д., определение может выполняться на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, таблицы поиска, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как показано на фиг. 36. Частота возбуждения может быть выбрана посредством сохранения таблицы поиска в буфере ex508 и внутреннем запоминающем устройстве LSI и при обращении к таблице поиска посредством CPU ex502.
[0306] Фиг. 35 иллюстрирует этапы для осуществления способа в варианте 7 осуществления. Во-первых, на этапе exS200, процессор ex507 сигналов получает идентификационную информацию из мультиплексированных данных. Затем, на этапе exS201, CPU ex502 определяет то, формируются или нет видеоданные на основе идентификационной информации посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления. Когда видеоданные формируются посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, на этапе exS202, CPU ex502 передает сигнал для задания частоты возбуждения равной большей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем, модуль ex512 управления частотой возбуждения задает частоту возбуждения равной большей частоте возбуждения. С другой стороны, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, на этапе exS203, CPU ex502 передает сигнал для задания частоты возбуждения равной меньшей частоте возбуждения в модуль ex512 управления частотой возбуждения. Затем, модуль ex512 управления частотой возбуждения задает частоту возбуждения равной меньшей частоте возбуждения, чем частота возбуждения в случае, если видеоданные формируются посредством способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления.
[0307] Кроме того, наряду с переключением частот возбуждения, энергосберегающий эффект может быть повышен посредством изменения напряжения, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500. Например, когда частота возбуждения задается меньшей, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается равным напряжению, меньшему напряжения в случае, если частота возбуждения задается большей.
[0308] Кроме того, когда объем вычислений для декодирования больше, частота возбуждения может задаваться большей, а когда объем вычислений для декодирования меньше, частота возбуждения может задаваться меньшей в качестве способа для задания частоты возбуждения. Таким образом, способ задания не ограничен способами, описанными выше. Например, когда объем вычислений для декодирования видеоданных в соответствии с MPEG4-AVC превышает объем вычислений для декодирования видеоданных, сформированных посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, частота возбуждения, вероятно, задается в обратном порядке относительно задания, описанного выше.
[0309] Кроме того, способ для задания частоты возбуждения не ограничен способом для задания частоты возбуждения меньшей. Например, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, напряжение, которое должно прикладываться к LSI ex500 или к устройству, включающему в себя LSI ex500, вероятно, задается большим. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, напряжение, которое должно прикладываться к LSI ex500 или устройству, включающему в себя LSI ex500, вероятно, задается меньшим. В качестве другого примера, когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, возбуждение CPU ex502, вероятно, не должно приостанавливаться. Когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, возбуждение CPU ex502, вероятно, приостанавливается в данное время, поскольку CPU ex502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает то, что видеоданные формируются посредством способа кодирования движущихся изображений и устройства кодирования движущихся изображений, описанных в каждом из вариантов осуществления, в случае если CPU ex502 может иметь временную задержку, возбуждение CPU ex502, вероятно, приостанавливается в данное время. В таком случае, время приостановки, вероятно, задается меньшим времени приостановки в случае, когда идентификационная информация указывает то, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1.
[0310] Соответственно, энергосберегающий эффект может быть повышен посредством переключения между частотами возбуждения согласно стандарту, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, возбуждается с использованием аккумулятора, время работы от аккумулятора может быть продлено за счет энергосберегающего эффекта.
[0311] ВОСЬМОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Возникают случаи, когда множество видеоданных, которые соответствуют различным стандартам, предоставляются в устройства и системы, такие как телевизионный приемник и сотовый телефон. Чтобы обеспечивать декодирование множества видеоданных, которые соответствуют различным стандартам, процессор ex507 сигналов LSI ex500 должен соответствовать различным стандартам. Тем не менее, проблемы увеличения масштаба схемы LSI ex500 и роста затрат возникают при отдельном использовании процессоров ex507 сигналов, которые соответствуют соответствующим стандартам.
[0312] Чтобы разрешать проблему, задумана конфигурация, в которой частично совместно используются процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и процессор декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1. Ex900 на фиг. 37A показывает пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который соответствует MPEG-4 AVC, имеют, частично совместно, сведения по обработке, такой как энтропийное кодирование, обратное квантование, фильтрация для удаления блочности и прогнозирование с компенсацией движения. Подробности обработки, которая должна совместно использоваться, вероятно, включают в себя использование процессора ex902 декодирования, который соответствует MPEG4-AVC. В отличие от этого, выделенный процессор ex901 декодирования, вероятно, используется для другой обработки, уникальной для настоящего изобретения. Поскольку настоящее изобретение отличается посредством арифметического декодирования, в частности, например, выделенный процессор ex901 декодирования используется для арифметического декодирования. В противном случае, процессор декодирования, вероятно, совместно используется для одного из обратного квантования, фильтрации для удаления блочности и компенсации движения или всей обработки. Процессор декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должна совместно использоваться, и выделенный процессор декодирования может использоваться для обработки, уникальной для MPEG4-AVC.
[0313] Кроме того, ex1000 на фиг. 37B показывает другой пример, в котором частично совместно используется обработка. Этот пример использует конфигурацию, включающую в себя выделенный процессор ex1001 декодирования, который поддерживает обработку, уникальную для настоящего изобретения, выделенный процессор ex1002 декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и процессор ex1003 декодирования, который поддерживает обработку, которая должна совместно использоваться между способом декодирования движущихся изображений в настоящем изобретении и традиционным способом декодирования движущихся изображений. Здесь, выделенные процессоры ex1001 и ex1002 декодирования не обязательно являются специализированными для обработки настоящего изобретения и обработки традиционного стандарта и могут быть процессорами, допускающими реализацию общей обработки. Кроме того, конфигурация варианта 8 осуществления может быть реализована посредством LSI ex500.
[0314] Также, уменьшение масштаба схемы LSI и уменьшение затрат являются возможными посредством совместного использования процессора декодирования для обработки, которая должна совместно использоваться между способом декодирования движущихся изображений в настоящем изобретении и способом декодирования движущихся изображений в соответствии с традиционным стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
[0315] Настоящее изобретение является применимым к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений и устройству декодирования изображений и, в частности, является применимым к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений и устройству декодирования изображений, которые используют арифметическое кодирование и арифметическое декодирование.
СПИСОК НОМЕРОВ ССЫЛОК
[0316] 100 - устройство кодирования изображений
101 - модуль управления
102 - модуль вычитания
103 - модуль преобразования и квантования
104 - модуль кодирования переменной длины
105 - модуль обратного квантования и обратного преобразования
106, 206 - модуль суммирования
107, 207 - модуль внутреннего прогнозирования
108, 208 - модуль взаимного прогнозирования
109, 209 - переключатель
121 - сигнал входного изображения
122, 125, 225 - остаточный сигнал
123, 223 - квантованные коэффициенты преобразования
124 - поток битов
126 - сигнал восстановленного изображения
127, 128, 129, 227, 228 - сигнал прогнозирования изображений
130, 230 - параметр управления
141 - модуль преобразования в двоичную форму
142, 242 - модуль управления контекстом
143 - модуль двоичного арифметического кодирования
151, 251 - двоичная последовательность
152, 252 - индекс контекста
200 - устройство декодирования изображений
201 - модуль управления
202 - модуль декодирования переменной длины
204 - модуль обратного квантования
205 - модуль обратного преобразования
224 - коэффициенты ортогонального преобразования
226 - сигнал декодированного изображения
229 - сигнал изображения
241 - модуль обратного преобразования из двоичной формы
243 - модуль двоичного арифметического декодирования
Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении использования запоминающего устройства. Способ декодирования изображений с использованием арифметического декодирования, в котором определяют контекст для использования в текущем блоке; выполняют арифметическое декодирование в отношении битовой последовательности с использованием определенного контекста, чтобы декодировать двоичную последовательность, причем битовая последовательность получается путем выполнения арифметического кодирования в отношении параметра управления текущего блока; и выполняют обратное преобразование из двоичной формы двоичной последовательности, чтобы декодировать параметр управления текущего блока, при этом определение контекста включает: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что декодированные параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом; и определение контекста при втором условии, что декодированный параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа. 6 н. и 8 з.п. ф-лы, 44 ил.
1. Способ декодирования изображений с использованием арифметического декодирования, при этом способ содержит этапы, на которых:
- определяют контекст для использования в текущем блоке из множества контекстов;
- выполняют арифметическое декодирование в отношении битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста, чтобы декодировать двоичную последовательность, причем битовая последовательность получается посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и
- выполняют обратное преобразование из двоичной формы двоичной последовательности, чтобы декодировать параметр управления текущего блока,
- при этом определение контекста включает в себя этапы, на которых:
- определяют тип сигнала параметра управления текущего блока;
- определяют контекст при первом условии, что декодированные параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и
- определяют контекст при втором условии, что декодированный параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа,
при этом один из «split flag» и "skip_flag" классифицируется под первым типом, причем «split flag» указывает, сегментируется или нет текущий блок на множество блоков, и "skip_flag" указывает должен ли быть пропущен текущий блок, и
при этом параметр разности классифицируется под вторым типом, причем параметр разности указывает на разность между вектором движения и прогнозированным значением вектора движения для текущего блока.
2. Способ декодирования изображений по п. 1,
- в котором второе условие является таким условием, что декодированные параметры управления левого блока и верхнего блока не используются.
3. Способ декодирования изображений по п. 2,
- в котором при определении контекста предварительно определенный контекст определяется при втором условии, в качестве контекста для использования при арифметическом декодировании текущего блока, когда тип сигнала является вторым типом.
4. Способ декодирования изображений по любому из пп. 1-3,
- в котором определение контекста дополнительно включает в себя этапы, на которых:
- определяют то, доступен или нет декодированный параметр управления верхнего блока при декодировании, на основе позиции текущего блока; и
- определяют контекст при втором условии, когда декодированный параметр управления верхнего блока не доступен.
5. Способ декодирования изображений по п. 4,
- в котором при определении контекста определяется то, что декодированный параметр управления верхнего блока не доступен при декодировании, когда текущий блок находится на границе серии последовательных макроблоков.
6. Способ декодирования изображений по п. 4,
- в котором при определении контекста определяется то, доступен или нет декодированный параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
7. Способ декодирования изображений по любому из пп. 1-3,
- в котором второй тип является параметром управления, имеющим предварительно определенную структуру данных.
8. Способ декодирования изображений по любому из пп. 1-3,
- в котором определение контекста дополнительно включает в себя этап, на котором определяют контекст параметра управления единицы, меньшей, чем текущая серия последовательных макроблоков, посредством переключения между первым условием и вторым условием на основе того, является ли текущая серия последовательных макроблоков энтропийной серией последовательных макроблоков.
9. Способ декодирования изображений по любому из пп. 1-3,
- в котором процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом переключаются согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включается в кодированный сигнал, причем каждый из первого стандарта и второго стандарта являются стандартом для декодирования видео, и
- определение контекста, выполнение арифметического декодирования и обратное преобразование из двоичной формы выполняются в качестве процессов декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
10. Способ кодирования изображений с использованием арифметического кодирования, при этом способ содержит этапы, на которых:
- преобразуют в двоичную форму параметр управления текущего блока, чтобы формировать двоичную последовательность;
- определяют контекст для использования в текущем блоке из множества контекстов; и
- выполняют арифметическое кодирование в отношении двоичной последовательности с использованием определенного контекста, чтобы формировать битовую последовательность,
- при этом определение контекста включает в себя этап, на котором:
- определяют тип сигнала параметра управления текущего блока;
- определяют контекст при первом условии, что параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и
- определяют контекст при втором условии, что параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа,
при этом один из «split flag» и "skip_flag" классифицируется под первым типом, причем «split flag» указывает, сегментируется или нет текущий блок на множество блоков, и "skip_flag" указывает, должен ли быть пропущен текущий блок, и
при этом параметр разности классифицируется под вторым типом, причем параметр разности указывает на разность между вектором движения и прогнозированным значением вектора движения для текущего блока.
11. Устройство декодирования изображений с использованием арифметического декодирования, причем устройство содержит:
- модуль управления контекстом, выполненный с возможностью определять контекст для использования в текущем блоке, из множества контекстов;
- модуль арифметического декодирования, выполненный с возможностью выполнять арифметическое декодирование в отношении битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста, чтобы декодировать двоичную последовательность, причем битовая последовательность получается посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и
- модуль обратного преобразования из двоичной формы, выполненный с возможностью обратно преобразовывать из двоичной формы двоичную последовательность, чтобы декодировать параметр управления текущего блока,
- при этом модуль управления контекстом выполнен с возможностью:
- определять тип сигнала параметра управления текущего блока;
- определять контекст при первом условии, что декодированные параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и
- определять контекст при втором условии, что декодированный параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа,
при этом один из «split flag» и "skip_flag" классифицируется под первым типом, причем «split flag» указывает, сегментируется или нет текущий блок на множество блоков, и "skip_flag" указывает, должен ли быть пропущен текущий блок, и
при этом параметр разности классифицируется под вторым типом, причем параметр разности указывает на разность между вектором движения и прогнозированным значением вектора движения для текущего блока.
12. Устройство кодирования изображений с использованием арифметического кодирования, причем устройство содержит:
- модуль преобразования в двоичную форму, выполненный с возможностью преобразовывать в двоичную форму параметр управления текущего блока, чтобы формировать двоичную последовательность;
- модуль управления контекстом, выполненный с возможностью определять контекст для использования в текущем блоке, из множества контекстов; и
- модуль арифметического кодирования, выполненный с возможностью выполнять арифметическое кодирование в отношении двоичной последовательности с использованием определенного контекста, чтобы формировать битовую последовательность,
- при этом модуль управления контекстом выполнен с возможностью:
- определять тип сигнала параметра управления текущего блока;
- определять контекст при первом условии, что параметры управления соседних блоков текущего блока используются, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком для текущего блока; и
- определять контекст при втором условии, что параметр управления верхнего блока не используется, когда тип сигнала является вторым типом, отличающимся от первого типа,
при этом один из «split flag» и "skip_flag" классифицируется под первым типом, причем «split flag» указывает, сегментируется или нет текущий блок на множество блоков, и "skip_flag" указывает, должен ли быть пропущен текущий блок, и
при этом параметр разности классифицируется под вторым типом, причем параметр разности указывает на разность между вектором движения и прогнозированным значением вектора движения для текущего блока.
13. Устройство кодирования и декодирования изображений, содержащее:
- устройство декодирования изображений по п. 11; и
- устройство кодирования изображений по п. 12.
14. Способ декодирования для декодирования параметра управления для управления декодированием изображений, способ декодирования содержит этапы, на которых:
- определяют контекст для текущего блока в изображении из множества контекстов; и
- выполняют арифметическое декодирование в отношении битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста, чтобы получить параметр управления текущего блока,
при этом определение дополнительно включает в себя этапы, на которых:
- определяют тип сигнала, по которому классифицируется параметр управления текущего блока;
- определяют контекст с использованием обоих декодированных параметров управления для левого блока и верхнего блока, когда типом сигнала является первый тип, причем левый блок является соседним блоком слева от текущего блока, и верхний блок является соседним блоком сверху от текущего блока; и
- определяют контекст, используя предварительно определенное фиксированное значение, без использования какого-либо из декодированных параметров управления для левого блока и верхнего блока, когда оба декодированных параметра управления левого блока и верхнего блока недоступны или когда типом сигнала является второй тип, отличный от первого типа,
при этом параметр управления, определенный как первый тип, принадлежит текущему блоку, имеющему размер больше чем или равный размеру блока, которому принадлежит параметр управления, определенный как второй тип,
при этом один из «split flag» и "skip_flag" классифицируется под первым типом, причем «split flag» указывает, сегментируется или нет текущий блок на множество блоков, и "skip_flag" указывает, должен ли быть пропущен текущий блок, и
при этом параметр разности классифицируется под вторым типом, причем параметр разности указывает на разность между вектором движения и прогнозированным значением вектора движения для текущего блока.
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
US 7469070 B2, 23.12.2008 | |||
Колосоуборка | 1923 |
|
SU2009A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
RU 2371881 C1, 27.10.2009. |
Авторы
Даты
2017-01-17—Публикация
2012-06-22—Подача