СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ
IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING AND DECODING DEVICE

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к способу декодирования изображений, способу кодирования изображений, устройству декодирования изображений, устройству кодирования изображений и устройству кодирования и декодирования изображений, и, в частности, к способу декодирования изображений, способу кодирования изображений, устройству декодирования изображений, устройству кодирования изображений, и устройству кодирования и декодирования изображений, которые используют арифметическое кодирование или арифметическое декодирование.
УРОВЕНЬ ТЕХНИКИ
[0002] Естественные сигналы изображения обладают статистической изменчивостью, демонстрирующей нестационарное поведение. Один из способов статистического кодирования с использованием нестационарной статистической изменчивости представляет собой контекстно-адаптивное двоичное арифметическое кодирование (CABAC) (см. NPL 1). CABAC применяется как стандарт ITU-T/ISOIEC для кодирования видеосигнала, H.264/AVC.
[0003] Далее будет описано смысловое значение терминов, используемых в схеме CABAC.
[0004] (1) “Контекстно-адаптивное” означает адаптацию способов кодирования и декодирования к статистической изменчивости. Другими словами, “контекстно-адаптивное” означает прогнозирование надлежащей вероятности как вероятности появления символа совместно с событием условий окружения, когда символ кодируется или декодируется. При кодировании, когда определяется вероятность появления p(x) каждого значения символа S, условная вероятность появления применяется с использованием фактического события или последовательности событий F(z) в качестве условия.
[0005] (2) “Двоичное” означает представление символа с использованием двоичной последовательности. Символ, представляемый множественным значением, однократно отображается в двоичную последовательность, именуемую “строкой ячеек” («bin string»). Прогнозируемая вероятность (условная вероятность) переключается и используется для каждого из элементов последовательности, и появление одного из событий двух значений представляется битовой последовательностью. Соответственно, вероятностью значения можно управлять (инициализировать и обновлять) с использованием единицы (двоичной элементарной единицы), меньшей чем единица типа сигнала (см. Фиг. 2 и пр. NPL 1).
[0006] (3) "Арифметический" означает, что битовая последовательность генерируется не со ссылкой на соответствия в таблице, но посредством вычисления. В схеме кодирования с использованием таблиц кодов с переменной длиной слова, например H.263, MPEG-4 и H.264, даже каждое значение символа с вероятностью появления более 0,5 (50%) должно быть связано с одной двоичной последовательностью (битовой последовательностью). Таким образом, значение с наибольшей вероятностью должно быть связано с минимум одним битом для одного символа. Напротив, арифметическое кодирование может представлять появление события с более высокой вероятностью целым числом, меньшим или равным одному биту. Когда (i) существует тип сигнала, в котором вероятность того, что первое двоичное значение равно 0, превышает 0,9 (90%), и (ii) событие, имеющее первое двоичное значение, равное 0, последовательно происходит N раз, не требуется выводить данные 1 бита N раз для каждого значения “0".
СПИСОК ССЫЛОК
НЕПАТЕНТНЫЕ ИСТОЧНИКИ
[0007] [NPL 1] Detlev Marpe, et. al., "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, Vol. 13, No.7, July 2003.
[NPL 2] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 4th Meeting: Daegu, KR, 20-28 January, 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: Daegu, KR, 20-28 January, 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 Document, VCEG-AI11, Berlin, July 2008.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
[0008] В таком способе кодирования изображений и способе декодирования изображений, желательно снижать использование памяти (емкости памяти, подлежащей использованию).
[0009] При этом задачей настоящего изобретения является обеспечение способа кодирования изображений или способа декодирования изображений, который может снижать использование памяти.
РЕШЕНИЕ ПРОБЛЕМЫ
[0010] Для решения этой задачи способ декодирования изображений согласно аспекту настоящего изобретения представляет собой способ декодирования изображений с использованием арифметического декодирования, причем способ включает в себя: определение контекста для использования в текущем блоке, среди множества контекстов; осуществление арифметического декодирования в отношении битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем битовая последовательность получается путем осуществления арифметического кодирования в отношении параметра управления текущего блока; и осуществление обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, причем определение контекста включает в себя определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком текущего блока; и определение контекста при втором условии, что не используется декодированный параметр управления верхнего блока, когда тип сигнала является вторым типом, отличным от первого типа, причем первый тип является одним из “split_coding_unit_flag” и “skip_flag”, и второй тип является “no_residual_data_flag”.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
[0011] Настоящее изобретение позволяет обеспечить способ кодирования изображений или способ декодирования изображений, который может снижать использование памяти.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Фиг. 1 - функциональная блок-схема устройства кодирования изображений согласно варианту осуществления 1.
Фиг. 2 - функциональная блок-схема блока кодирования с переменной длиной слова согласно варианту осуществления 1.
Фиг. 3 - таблица контекстной модели параметра управления согласно варианту осуществления 1.
Фиг. 4 - блок-схема операций, описывающая способ арифметического кодирования согласно варианту осуществления 1.
Фиг. 5 - функциональная блок-схема устройства декодирования изображений согласно варианту осуществления 2.
Фиг. 6 - функциональная блок-схема блока декодирования с переменной длиной слова согласно варианту осуществления 2.
Фиг. 7 - блок-схема операций, описывающая способ арифметического декодирования согласно варианту осуществления 2.
Фиг. 8 - блок-схема операций, описывающая модификацию способа арифметического декодирования согласно варианту осуществления 2.
Фиг. 9 иллюстрирует разделенные блоки (древовидную структуру) в соответствии с HEVC согласно варианту осуществления 2.
Фиг. 10 иллюстрирует многоуровневую структуру блоков согласно варианту осуществления 2.
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12A - таблица, указывающая результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12B - таблица, указывающая результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag согласно варианту осуществления 3.
Фиг. 14A - таблица, указывающая результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 14B - таблица, указывающая результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 15A - таблица, указывающая способ арифметического декодирования для no_residual_data_flag согласно варианту осуществления 3.
Фиг. 15B - таблица, указывающая синтаксис для no_residual_data_flag согласно варианту осуществления 3.
Фиг. 16A - таблица, указывающая результат проверки в отношении no_residual_data_flag согласно варианту осуществления 3.
Фиг. 16B - таблица, указывающая результат проверки в отношении no_residual_data_flag согласно варианту осуществления 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”, и второй тип является “no_residual_data_flag”.
[0034] Благодаря структуре, способ декодирования изображений может снижать использование памяти. В частности, в способе декодирования изображений, поскольку параметр управления верхнего блока не используется в качестве параметра управления второго типа, нет нужды поддерживать параметр управления второго типа верхнего блока. Благодаря структуре, по сравнению со случаем, когда левый блок и верхний блок используются как однородные “с использованием контекстной модели на основании значений параметров управления соседних блоков”, использование памяти можно сократить согласно способу декодирования изображений. Кроме того, способ декодирования изображений может надлежащим образом снижать использование памяти параметра управления второго типа в отсутствие, например, невозможности оценки BD-рейтинга изображения.
[0035] Кроме того, согласно способу декодирования изображений, можно использовать контекст, пригодный для иерархической древовидной структуры, которая представляет собой структуру данных, не предусмотренную в традиционном H.264 и характерную для нового стандарта HEVC. Альтернативно, можно осуществлять обращение к памяти.
[0036] Кроме того, вторым условием может быть условие, что не используются декодированные параметры управления левого блока и верхнего блока.
[0037] Благодаря структуре, способ декодирования изображений может снижать использование памяти без использования параметра управления левого блока помимо параметра управления верхнего блока.
[0038] Кроме того, при определении контекста, заранее определенный контекст можно определять при втором условии, как контекст для использования при арифметическом декодировании текущего блока, когда тип сигнала является вторым типом.
[0039] Благодаря структуре, способ декодирования изображений может снижать объем обработки.
[0040] Кроме того, определение контекста может дополнительно включать в себя определение, доступен ли декодированный параметр управления верхнего блока при декодировании, на основании позиции текущего блока; и определение контекста при втором условии, когда декодированный параметр управления верхнего блока не является доступным.
[0041] Благодаря структуре, способ декодирования изображений может снижать объем обработки.
[0042] Кроме того, при определении контекста, можно определять, что декодированный параметр управления верхнего блока не является доступным при декодировании, когда текущий блок находится на границе среза.
[0043] Кроме того, при определении контекста, можно определять, доступен ли декодированный параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
[0044] Кроме того, второй тип может быть параметром управления, имеющим заранее определенную структуру данных.
[0045] Кроме того, определение контекста может дополнительно включать в себя определение контекста параметра управления второй единицы, которая меньше первой единицы, путем переключения между первым условием и вторым условием, на основании параметра управления первой единицы.
[0046] Кроме того, “split_coding_unit_flag” может указывать, делится ли текущий блок на множество блоков, “skip_flag” может указывать, должен ли быть пропущен текущий блок, и “no_residual_data_flag” может указывать, существуют ли остаточные данные для текущего блока.
[0047] Кроме того, процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом можно переключать согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включен в кодированный сигнал, и определение контекста, осуществление и обратную бинаризацию можно осуществлять как процессы декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
[0048] Кроме того, способ кодирования изображений согласно аспекту настоящего изобретения является способом кодирования изображений с использованием арифметического кодирования, и способ включает в себя: выполнение бинаризации параметра управления текущего блока для генерирования двоичной последовательности; определение контекста для использования в текущем блоке, среди множества контекстов; и осуществление арифметического кодирования в отношении двоичной последовательности с использованием определенного контекста для генерирования битовой последовательности, причем определение контекста включает в себя определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком текущего блока; и определение контекста при втором условии, что не используется параметр управления верхнего блока, когда тип сигнала является вторым типом, отличным от первого типа, причем первый тип является одним из “split_coding_unit_flag” и “skip_flag”, и второй тип является “no_residual_data_flag”.
[0049] Благодаря этой структуре, способ кодирования изображений может снижать использование памяти. В частности, в способе кодирования изображений, поскольку параметр управления верхнего блока не используется в качестве параметра управления второго типа, нет нужды поддерживать параметр управления второго типа верхнего блока. Благодаря этой структуре, по сравнению со случаем, когда левый блок и верхний блок используются как однородные “с использованием контекстной модели на основании значений параметров управления соседних блоков”, использование памяти можно снизить согласно способу кодирования изображений. Кроме того, способ кодирования изображений может надлежащим образом снижать использование памяти параметра управления второго типа в отсутствие, например, невозможности оценки BD-рейтинга изображения.
[0050] Кроме того, согласно способу кодирования изображений, можно использовать контекст, пригодный для иерархической древовидной структуры, которая представляет собой структуру данных, не предусмотренную в традиционном H.264 и характерную для нового стандарта HEVC. Альтернативно, можно осуществлять обращение к памяти.
[0051] Кроме того, устройство декодирования изображений согласно аспекту настоящего изобретения является устройством декодирования изображений с использованием арифметического декодирования, и устройство включает в себя: блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке, среди множества контекстов; блок арифметического декодирования, выполненный с возможностью осуществления арифметического декодирования в отношении битовой последовательности, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем битовая последовательность получается путем осуществления арифметического кодирования в отношении параметра управления текущего блока; и блок обратной бинаризации, выполненный с возможностью обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, причем блок управления контекстом выполнен с возможностью: определять тип сигнала параметра управления текущего блока; определять контекст при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком текущего блока; и определять контекст при втором условии, что не используется декодированный параметр управления верхнего блока, когда тип сигнала является вторым типом, отличным от первого типа, причем первый тип является одним из “split_coding_unit_flag” и “skip_flag”, и второй тип является “no_residual_data_flag”.
[0052] Благодаря этой конфигурации, устройство декодирования изображений может снижать использование памяти.
[0053] Кроме того, устройство кодирования изображений согласно аспекту настоящего изобретения является устройством кодирования изображений с использованием арифметического кодирования, и устройство включает в себя: блок бинаризации, выполненный с возможностью бинаризации параметра управления текущего блока для генерирования двоичной последовательности; блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке, среди множества контекстов; и блок арифметического кодирования, выполненный с возможностью осуществления арифметического кодирования в отношении двоичной последовательности с использованием определенного контекста для генерирования битовой последовательности, причем блок управления контекстом выполнен с возможностью: определять тип сигнала параметра управления текущего блока; определять контекст при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседние блоки являются левым блоком и верхним блоком текущего блока; и определять контекст при втором условии, что не используется параметр управления верхнего блока, когда тип сигнала является вторым типом, отличным от первого типа, причем первый тип является одним из “split_coding_unit_flag” и “skip_flag”, и второй тип является “no_residual_data_flag”.
[0054] Благодаря этой конфигурации, устройство кодирования изображений может снижать использование памяти.
[0055] Кроме того, устройство кодирования и декодирования изображений согласно аспекту настоящего изобретения является устройством кодирования и декодирования изображений, включающим в себя устройство декодирования изображений и устройство кодирования изображений.
[0056] Общие или конкретные аспекты можно реализовать посредством системы, способа, интегральной схемы, компьютерной программы или носителя записи, или посредством произвольной комбинации системы, способа, интегральной схемы, компьютерной программы и носителя записи.
[0057] Устройство декодирования изображений и устройство кодирования изображений согласно аспекту настоящего изобретения будут конкретно описаны со ссылкой на чертежи.
[0058] Варианты осуществления, описанные далее, указывают конкретные примеры настоящего изобретения. Значения, формы, материалы, составные элементы, позиции и соединения составных элементов, этапы, и порядки выполнения этапов, указанные в вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составные элементы в вариантах осуществления, которые не описаны в независимых пунктах формулы изобретения, которые описывают наиболее обобщенный принцип настоящего изобретения, описываются как произвольные составные элементы.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1
[0059] Опишем устройство кодирования изображений согласно варианту осуществления 1 настоящего изобретения. Устройство кодирования изображений согласно варианту осуществления 1 определяет контекст путем переключения между (1) использованием верхнего блока и (2) неиспользованием верхнего блока, согласно типу сигнала параметра управления при арифметическом кодировании. Благодаря структуре, можно противодействовать снижению качества изображения, и можно снизить использование памяти.
[0060] В первую очередь, опишем конфигурацию устройства кодирования изображений согласно варианту осуществления 1.
[0061] На фиг. 1 показана блок-схема, иллюстрирующая устройство 100 кодирования изображений согласно варианту осуществления 1.
[0062] Устройство 100 кодирования изображений на фиг. 1 является устройством кодирования изображений с использованием арифметического кодирования и кодирует сигнал 121 входного изображения для генерирования битового потока 124. Устройство 100 кодирования изображений включает в себя блок 101 управления, блок 102 вычитания, блок 103 преобразования и квантования, блок 104 кодирования с переменной длиной слова, блок 105 обратного квантования и обратного преобразования, блок 106 суммирования, блок 107 внутреннего прогнозирования, блок 108 внешнего прогнозирования и переключатель 109.
[0063] Блок 101 управления вычисляет параметр 130 управления на основании сигнала 121 входного изображения, который должен быть кодирован. Например, параметр 130 управления включает в себя информацию о типе изображения сигнала 121 входного изображения, который должен быть кодирован, размер единицы прогнозирования движения (единицы прогнозирования, PU) текущего блока, который должен быть кодирован, и информацию управления единицы прогнозирования движения. При этом параметр 130 управления (данные управления) сам должен быть кодирован. Таким образом, блок 101 управления выводит параметр 130 управления на блок 104 кодирования с переменной длиной слова.
[0064] Блок 102 вычитания вычисляет остаточный сигнал 122, который представляет собой разность (остаточное значение) между сигналом 121 входного изображения и сигналом 129 прогнозирования изображения на поблочной основе.
[0065] Блок 103 преобразования и квантования преобразует остаточный сигнал 122 в значения частотного коэффициента и квантует полученные значения частотного коэффициента в квантованные коэффициенты 123 преобразования (остаточные данные).
[0066] Блок 105 обратного квантования и обратного преобразования подвергает обратному квантованию квантованные коэффициенты 123 преобразования в значения частотного коэффициента и подвергает обратному преобразованию полученные значения частотного коэффициента в реконструированный остаточный сигнал 125.
[0067] Блок 106 суммирования суммирует остаточный сигнал 125 с сигналом 129 прогнозирования изображения и выводит сигнал 126 реконструированного изображения.
[0068] Блок 107 внутреннего прогнозирования осуществляет внутреннее прогнозирование с использованием сигнала 126 реконструированного изображения для генерирования сигнала 127 прогнозирования изображения. Блок 108 внешнего прогнозирования осуществляет внешнее прогнозирование с использованием сигнала 126 реконструированного изображения для генерирования сигнала 128 прогнозирования изображения.
[0069] Переключатель 109 выбирает один из сигнала 127 прогнозирования изображения и сигнала 128 прогнозирования изображения, и выводит выбранный сигнал в качестве сигнала 129 прогнозирования изображения.
[0070] Блок 104 кодирования с переменной длиной слова кодирует, с использованием CABAC, квантованные коэффициенты 123 преобразования и параметр 130 управления для каждого входного блока для генерирования битового потока 124.
[0071] Теперь опишем конфигурацию блока 104 кодирования с переменной длиной слова.
[0072] На фиг. 2 показана функциональная блок-схема блока 104 кодирования с переменной длиной слова. Блок 104 кодирования с переменной длиной слова включает в себя блок 141 бинаризации, блок 142 управления контекстом и блок 143 двоичного арифметического кодирования. Ниже описан процесс кодирования с переменной длиной слова в отношении параметра 130 управления. Хотя описание процесса кодирования с переменной длиной слова в отношении квантованных коэффициентов 123 преобразования опущено, процесс можно реализовать, например, с использованием известного метода.
[0073] Блок 141 бинаризации осуществляет бинаризацию параметра 130 управления для генерирования двоичной последовательности 151. В частности, блок 141 бинаризации является блоком обработки, который осуществляет “II.1) обработку бинаризации” согласно NPL 1. Блок 141 бинаризации преобразует параметр 130 управления в двоичную последовательность 151, именуемую "строкой ячеек" для каждого типа сигнала, согласно заранее определенному способу бинаризации. Соответствие между типами сигнала и способами бинаризации будет описано ниже. Когда входной параметр 130 управления представляет собой одно двоичное значение, например флаг, блок 141 бинаризации выводит параметр 130 управления в качестве двоичной последовательности 151 как есть.
[0074] Блок 142 управления контекстом определяет контекст для использования при арифметическом кодировании параметра 130 управления, включенного в текущий блок, который должен быть обработан, среди множества контекстов (таблицы вероятностных состояний). Кроме того, блок 142 управления контекстом выводит индекс 152 контекста, указывающий определенный контекст блоку 143 двоичного арифметического кодирования.
[0075] В частности, блок 142 управления контекстом является блоком обработки, который осуществляет “2) контекстное моделирование” согласно NPL 1. Блок 142 управления контекстом последовательно принимает множество элементов, включенных в двоичную последовательность 151, выводимую из блока 143 двоичного арифметического кодирования. Блок 142 управления контекстом выбирает один из контекстов, который должен быть использован для двоичного элемента параметра 130 управления, согласно типу сигнала параметра 130 управления и позиции двоичного элемента в двоичной последовательности 151, и выводит, на блок 143 двоичного арифметического кодирования, индекс 152 контекста, который представляет собой индекс, указывающий выбранный контекст.
[0076] Кроме того, блок 142 управления контекстом поддерживает таблицу вероятностных состояний, где содержатся значения (значения индекса контекста), полученные делением элементов в двоичной последовательности параметра 130 управления на условия условных вероятностей, в качестве состояний контекста, и инициализирует и обновляет таблицу вероятностных состояний.
[0077] Кроме того, блок 142 управления контекстом поддерживает состояние (индекс вероятностного состояния) для каждого условия τ появления (для каждого контекста), в качестве дополнительного разделения типа сигнала (для каждого номера элемента в двоичной последовательности параметра 130 управления, когда количество элементов в двоичной последовательности равно двум или более; то же самое будет применяться ниже). Состояние представляется полным 7-битовым значением путем объединения вероятности P появления (внутренней пропорции, обычно 6-битового значения), которая является более низкой вероятностью одного из двух значений 0 и 1, и 1-битового значения, указывающего, какое из значений имеет более высокую вероятность. Кроме того, поддержание состояния означает инициализацию и обновление состояния. Например, обновление соответствует изменению индексации, которая указывает текущее вероятностное состояние (то есть вероятность) в качестве перехода между 64 конечными состояниями, как в H.264.
[0078] Когда происходит событие X на наиболее вероятной стороне, имеющей наивысшую вероятность между двумя значениями, отношение вероятности на наиболее вероятной стороне немного возрастает. Например, блок 142 управления контекстом может немного увеличивать отношение вероятности на наиболее вероятной стороне, увеличивая или уменьшая, на 1, значение индекса вероятностного состояния, соответствующего 64 таблицам. С другой стороны, когда происходит событие не-X, имеющее более низкую вероятность (относительно прогнозируемой вероятности), блок 142 управления контекстом значительно снижает отношение поддерживаемой наиболее вероятной вероятности на основании заранее определенного масштабного коэффициента α (например, ≈ 0,95) (см. Фиг. 6 NPL 1). Блок 142 управления контекстом согласно варианту осуществления 1 переводит и поддерживает состояние, на основании соответствующего значения изменения индекса таблицы, связывая его с изменением с учетом α, как в H.264.
[0079] Блок 143 двоичного арифметического кодирования осуществляет арифметическое кодирование в отношении двоичной последовательности 151 с использованием контекста, определенного блоком 142 управления контекстом для генерирования битового потока 124 (битовой последовательности).
[0080] В частности, блок 143 двоичного арифметического кодирования является блоком обработки, который осуществляет “3) двоичное арифметическое кодирование” согласно NPL 1. Блок 143 двоичного арифметического кодирования осуществляет арифметическое кодирование в отношении двоичной последовательности 151 с использованием контекста, указанного индексом 152 контекста, для генерирования битового потока 124. При этом арифметическое кодирование должно обрабатывать происходящие события для параметров 130 управления различных типов сигнала как накопленную сумму вероятностей, и определять соответствия между событиями, сужая диапазон до заранее определенного диапазона на одной числовой прямой.
[0081] Прежде всего, блок 143 двоичного арифметического кодирования делит одну числовую прямую на две полусекции, согласно вероятностям появления двух возможных значений двоичного элемента, полученного от блока 142 управления контекстом. Когда фактическое значение, возникающее для двоичного элемента (например, 0) является значением с более высокой вероятностью (превышающей 0,5 (например, 0,75)), блок 143 двоичного арифметического кодирования поддерживает нижний предел “низкое” в диапазоне на числовой прямой без изменения и задает значение, соответствующее результату умножения, один раз, масштабного коэффициента 0,95 на вероятность 0,75, на этот раз, на новый диапазон. С другой стороны, когда фактически сгенерированное двоичное значение является прогнозируемым значением с более низкой вероятностью, блок 143 двоичного арифметического кодирования сдвигает нижний предел “низкое” на более высокую вероятность и изменяет диапазон согласно более низкой вероятности. Секции поддерживаются согласно накопленной сумме результатов умножений диапазонов вероятности. Когда затем возникает значение с более низкой вероятностью, точность длины диапазона вскоре становится ниже, чем точность, которую можно гарантировать посредством вычисления. При этом блок 143 двоичного арифметического кодирования увеличивает (перенормирует) диапазон для поддержания точности и выводит битовую последовательность, указывающую текущий диапазон. Напротив, когда затем возникает значение с более высокой вероятностью (0,95, и т.д.), значения вероятности могут приводить к ряду вычислений (переходам между состояниями в случае реализации посредством таблицы), пока длина диапазона не станет короче заранее определенной длины даже с умножением значений. Таким образом, можно накопить большое количество символов до вывода бита.
[0082] На фиг. 3 приведена таблица, в которой рассортированы параметры 130 управления, каждый из которых использует контекстную модель на основании значения параметра 130 управления соседнего блока.
[0083] Смысловое значение каждого столбца будет описано от левого края таблицы.
[0084] (c2) тип сигнала (элемент синтаксиса) указывает конкретное имя типа сигнала параметра 130 управления. Ниже будет описано смысловое значение каждого из типов сигнала.
[0085] (c3) схема бинаризации указывает схему бинаризации, которая должна быть применена к параметру 130 управления (SE), указанному в самом левом столбце. Блок 141 бинаризации осуществляет процесс бинаризации. В столбце, “фиксированная длина” означает, что блок 141 бинаризации выводит значение параметра 130 управления в самой левой секции в виде двоичной последовательности (строки ячеек) фиксированной длины. В HEVC, тип сигнала параметра 130 управления, имя которого заканчивается словом "flag", представляет собой одно двоичное значение, равное 0 или 1. Таким образом, блок 141 бинаризации выводит только первый элемент (binIdx=0) в качестве элемента двоичной последовательности 151, и не выводит элементы после второго элемента (binIdx>=1). Другими словами, блок 141 бинаризации выводит значение параметра 130 управления в качестве двоичной последовательности 151 как есть.
[0086] Кроме того, “переменная длина" в столбце означает, что блок 141 бинаризации отображает, в двоичную последовательность, значение параметра 130 управления с использованием двоичных последовательностей с соответствующими переменными длинами, значения которых связаны, чтобы иметь длины двоичных элементов в порядке возрастания частот появления (строка ячеек или двоичные последовательности, в каждой из которых количество элементов ≥1), и выводит двоичную последовательность. Например, блок 141 бинаризации применяет и выводит схему согласно типу сигнала, например (усеченную) унарную схему, и комбинацию унарной и других экспоненциальных схем Голомба (см. “A. Бинаризация” NPL 1). В случае "переменной длины", количество элементов двоичной последовательности 151 иногда ограничивается 1 или больше или равно 2. Блок обратной бинаризации в устройстве декодирования изображений, которое будет описан ниже, осуществляет преобразование, обратное схеме бинаризации, для реконструкции входной двоичной последовательности в множественное значение или значение флага.
[0087] Что касается (c4) индекс контекста первого элемента (binIdx=0), блок 142 управления контекстом указывает выбор индекса (приращения) контекста, который должен быть применен к первому элементу, включенному в двоичную последовательность, генерируемую согласно схеме бинаризации, указанной в столбце c3. В столбце, “0, 1, 2” указывает, что блок 142 управления контекстом выбирает и применяет одну из трех таблиц вероятностного состояния (контекстов). Например, три индекса контекста с уточненными условиями подготавливается для одного типа сигнала “skip_flag”, то есть подготавливается три контекста, и арифметическое кодирование осуществляется в отношении индексов контекста.
[0088] Аналогично, “0, 1, 2, 3” в столбце c4 указывает, что контекст, который должен быть применен к первому элементу (binIdx=0), включенному в двоичную последовательность 151, выбран из одного из четырех значений, 0, 1, 2 или 3. Двоичная последовательность 151 получается путем отображения, в двоичную последовательность, значения параметра 130 управления типа сигнала, указанного в столбце c2, согласно схеме бинаризации в столбце c3. Условные выражения в столбце будут описаны ниже.
[0089] Что касается (c5), условие L левого блока (condL), блок 142 управления контекстом указывает условие левого блока для выбора одного из 0, 1 и 2 в столбце c4. Условие L левого блока имеет значение "истина" или "ложь", определенное согласно значению параметра управления левого блока, соответствующему параметру управления, который должен быть кодирования (или который должен быть декодирован).
[0090] Например, в случае, когда параметром управления (SE) является skip_flag, условие L левого блока имеет значение "истина", когда skip_flag[xL][yL] указывает истину (например, 1), и имеет значение "ложь", когда он указывает ложь (например, 0).
[0091] Что касается (c6), условие A верхнего блока, блок 142 управления контекстом указывает условие верхнего блока для выбора одного из 0, 1 и 2 при кодировании или декодировании элементов последовательности, указанных в столбце c4. Условие A верхнего блока имеет значение "истина" или "ложь", определенное согласно значению параметра управления верхнего блока, соответствующему параметру управления, который должен быть кодирован (или который должен быть декодирован). Например, в случае, когда параметром управления (SE) является skip_flag, условие A верхнего блока имеет значение "истина", когда skip_flag[xA][yA] указывает истину (например, 1), и имеет значение "ложь", когда он указывает ложь (например, 0).
[0092] Хотя это не показано, тип сигнала, выражаемый более чем двух битов, связан с “(c7), приращением контекста, которое должно быть применено к binIdx >=1”. Этот (c7) указывает контекстную модель, применяемую блоком 142 управления контекстом к двоичному после второго элемента в двоичной последовательности (двоичного значения элемента двоичной последовательности, включающего в себя значение индекса binIdx >=1).
[0093] В способе кодирования варианта осуществления 1, следующие операции переключаются согласно типу сигнала параметра 130 управления для условия L левого блока и условия A верхнего блока (применяемых с использованием разных шаблонов):
[0094] (Шаблон 1) Использование двух соседних блоков (значение определения условия L левого блока и значение определения условия A верхнего блока);
[0095] (Шаблон 2) Использование одного соседнего блока (только значения определения условия L левого блока); и
[0096] (Шаблон 3) Использование нулевого соседнего блока (не используется ни значение определения условия L левого блока, ни значение определения условия A верхнего блока).
[0097] На фиг. 4 показана блок-схема операций, описывающая способ кодирования изображений согласно варианту осуществления 1, который осуществляется блоком 104 кодирования с переменной длиной слова на фиг. 2.
[0098] Прежде всего, блок 141 бинаризации отображает значение параметра 130 управления в двоичную последовательность согласно схеме, соответствующей типу сигнала параметра 130 управления (S101).
[0099] Затем блок 142 управления контекстом получает основное значение контекста для использования при арифметическом кодировании параметра 130 управления (S102). Например, блок 142 управления контекстом определяет основное значение согласно типу изображения (I, P или B).
[0100] Затем блок 142 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3, на основании типа сигнала параметра 130 управления (S103). При этом определения значения контекста эквивалентно определению значения регулировки (подстройки) (значения приращения CtxIdxInc) для основного значения контекста.
[0101] Прежде всего, блок 142 управления контекстом определяет тип сигнала параметра 130 управления (S103). Когда тип сигнала параметра 130 управления является первым типом, соответствующим шаблону 1 (первый тип на этапе S104), блок 142 управления контекстом определяет значение контекста с использованием значения определения, полученного из значений параметров управления двух соседних блоков (блока A и блока B) (S105). Другими словами, блок 142 управления контекстом определяет контекст при условии, что используются параметры управления двух соседних блоков левого блока и верхнего блока. При этом блок 142 управления контекстом использует, как результат определения (c5) condL, так и результат определения (c6) condA на фиг. 3. Соответственно, данные одной строки изображений поддерживаются для параметров управления первого типа.
[0102] С другой стороны, когда тип сигнала параметра 130 управления является вторым типом, соответствующим шаблону 2 (второй тип на этапе S104), блок 142 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседствующего блока в порядке кодирования) (S106). Другими словами, блок 142 управления контекстом определяет значение контекста при условии, что не используется параметр управления верхнего блока.
[0103] С другой стороны, когда тип сигнала параметра 130 управления является третьим типом, соответствующим шаблону 3 (третий тип на этапе S104), блок 142 управления контекстом строго определяет значение контекста без использования параметров управления верхнего блока и левого блока (S107).
[0104] Затем блок 142 управления контекстом суммирует приращение, определенное на этапе S103 с основным значением индекса контекста, определенного на этапе S102 для определения значения индекса контекста (S108).
[0105] Наконец, блок 143 двоичного арифметического кодирования осуществляет арифметическое кодирование в отношении двоичного значения первого элемента с использованием значения контекста, указанного значением индекса контекста, определенным на этапе S108, для генерирования битовой последовательности (битового потока 124) (S109).
[0106] Затем, когда процессы, предусмотренные на этапах S102 - S109 не выполняются в отношении всех элементов, включенных в двоичную последовательность ("нет" на этапе S110), блок 104 кодирования с переменной длиной слова осуществляет процессы, предусмотренные на этапах S102-S109 в отношении следующего элемента, включенного в двоичную последовательность. С другой стороны, когда процессы, предусмотренные на этапах S102-S109 завершены в отношении всех элементов, включенных в двоичную последовательность ("да" на этапе S110), блок 104 кодирования с переменной длиной слова заканчивает обработку кодирования в отношении параметра управления текущего блока.
[0107] Как описано выше, устройство 100 кодирования изображений согласно варианту осуществления 1 определяет контекст с использованием верхнего блока при осуществлении арифметического кодирования в отношении параметра управления первого типа, и определяет контекст без использования верхнего блока для параметров управления второго и третьего типов.
[0108] По сравнению со случаем, когда левый блок и верхний блок используются как однородные “с использованием контекстной модели на основании значений параметров управления соседних блоков”, устройство 100 кодирования изображений может снижать использование памяти благодаря этой конфигурации. Таким образом, устройство 100 кодирования изображений может противодействовать снижению качества изображения и снижать использование памяти.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 2
[0109] Вариант осуществления 2 демонстрирует устройство декодирования изображений, которое декодирует битовый поток 12, генерируемый устройством 100 кодирования изображений.
[0110] На фиг. 5 показана блок-схема, иллюстрирующая устройство 200 декодирования изображений согласно варианту осуществления 2. Устройство 200 декодирования изображений является устройством декодирования изображений с использованием арифметического декодирования и декодирует битовый поток 124 для генерирования сигнала 229 изображения. При этом битовый поток 124 генерируется, например, устройством 100 кодирования изображений.
[0111] Устройство 200 декодирования изображений включает в себя блок 201 управления, блок 202 декодирования с переменной длиной слова, блок 204 обратного квантования, блок 205 обратного преобразования, блок 206 суммирования, блок 207 внутреннего прогнозирования и блок 208 внешнего прогнозирования.
[0112] Устройство 200 декодирования изображений осуществляет обработку декодирования для каждого битового потока заранее определенной единицы обработки. Единицей обработки является, например, единица среза или единица блока.
[0113] Блок 202 декодирования с переменной длиной слова осуществляет арифметическое декодирование в отношении битового потока 124 для генерирования параметра 230 управления (элемент синтаксиса данных управления) и квантованных коэффициентов 223 преобразования (значений элемента синтаксиса остаточных данных). Блок 201 управления принимает генерируемый параметр 230 управления.
[0114] Блок 201 управления управляет каждой из единиц обработки, включенных в устройство 200 декодирования изображений, согласно параметру 230 управления.
[0115] Блок 204 обратного квантования подвергает обратному квантованию квантованные коэффициенты 223 преобразования в ортогональные коэффициенты преобразования 224.
[0116] Блок 205 обратного преобразования подвергает обратному преобразованию ортогональные коэффициенты преобразования 224 для реконструкции остаточного сигнала 225. Блок 206 суммирования суммирует остаточный сигнал 225 с сигналом прогнозирования изображения (сигналом 229 изображения) для генерирования сигнала 226 декодированного изображения.
[0117] Блок 207 внутреннего прогнозирования осуществляет внутреннее (intra-) прогнозирование с использованием сигнала 226 декодированного изображения для генерирования сигнала 227 прогнозирования изображения. Блок 208 внешнего прогнозирования осуществляет внешнее (inter-) прогнозирование с использованием сигнала 226 декодированного изображения для генерирования сигнала 228 прогнозирования изображения.
[0118] Переключатель 209 выбирает один из сигнала 227 прогнозирования изображения и сигнала 228 прогнозирования изображения, и выводит выбранный сигнал как сигнал 229 изображения (сигнал прогнозирования изображения).
[0119] Далее будет описана конфигурация блока 202 декодирования с переменной длиной слова.
[0120] На фиг. 6 показана функциональная блок-схема, иллюстрирующая конфигурацию блока 202 декодирования с переменной длиной слова. Блок 202 декодирования с переменной длиной слова включает в себя блок 243 двоичного арифметического декодирования, блок 242 управления контекстом и блок 241 обратной бинаризации. Ниже описан процесс декодирования с переменной длиной слова в отношении параметра 230 управления. Хотя описание процесса декодирования с переменной длиной слова в отношении квантованных коэффициентов 223 преобразования опущено, процесс можно реализовать, например, с использованием известного метода.
[0121] Блок 242 управления контекстом определяет контекст для использования при арифметическом декодировании параметра 230 управления текущего блока, среди множества контекстов. Кроме того, блок 242 управления контекстом выводит индекс 252 контекста, указывающий определенный контекст блоку 243 двоичного арифметического декодирования.
[0122] В частности, блок 242 управления контекстом использует такую же контекстную модель, как у блока 142 управления контекстом на фиг. 2, в качестве поддерживаемой вероятностной модели переходов. Когда блок 143 арифметического кодирования использует 64 вероятностных состояний, блок 243 двоичного арифметического декодирования также поддерживает 64 вероятностных состояний. Дело в том, что кодеру и декодеру необходимо интерпретировать диапазон числовой прямой, который должен быть кодирован точно таким же образом. Таким образом, декодер использует тот же шаблон, что и шаблон, выбранный кодером из трех шаблонов 1-3.
[0123] Блок 243 арифметического декодирования осуществляет арифметическое декодирование в отношении битовой последовательности (битового потока 124) с использованием контекста, определенного блоком 242 управления контекстом для реконструкции двоичной последовательности 251. В частности, блок 243 арифметического декодирования реконструирует входную битовую последовательность в двоичную последовательность 251, согласно контексту (таблице вероятностных состояний), указанному индексом контекста, полученным от блока 242 управления контекстом.
[0124] Блок 241 обратной бинаризации, при необходимости, реконструирует двоичную последовательность 251 в параметр 230 управления посредством процесса обратной бинаризации. Таким образом, блок 142 управления контекстом, включенный в устройство 100 кодирования изображений, и блок 242 управления контекстом, включенный в устройство 200 декодирования изображений, используют одну и ту же контекстную модель при арифметическом кодировании и арифметическом декодировании параметра управления некоторого типа сигнала.
[0125] На фиг. 7 показана блок-схема операций, описывающая способ декодирования изображений согласно варианту осуществления 2, который осуществляется блоком 202 декодирования с переменной длиной слова.
[0126] Прежде всего, блок 202 декодирования с переменной длиной слова получает битовый поток 124 (S201).
[0127] Затем блок 242 управления контекстом определяет тип сигнала параметра управления, который должен быть декодирован, согласно структуре данных битового потока 124 (S202).
[0128] Затем блок 242 управления контекстом определяет основное значение контекста для использования при арифметическом декодировании параметра управления, который должен быть декодирован (S203). Например, блок 242 управления контекстом определяет основное значение согласно типу изображения (I, P или B).
[0129] Затем блок 242 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3, на основании типа сигнала параметра управления (S204). При этом определения значения контекста эквивалентно определению значения регулировки (значения приращения CtxIdxInc) для основного значения контекста. Например, блок 242 управления контекстом статически определяет один из шаблонов 1-3 на основании типа сигнала параметра управления согласно заранее определенной таблице.
[0130] Блок 242 управления контекстом переключается между соседними блоками для использования при определении контекста для получения двоичного значения первого элемента, включенного в двоичную последовательность 251, с использованием арифметического декодирования, согласно типу сигнала параметра управления.
[0131] Сначала блок 242 управления контекстом определяет тип сигнала параметра 230 управления (S205). Когда тип сигнала является первым типом, соответствующим шаблону 1 (первый тип на этапе S205), блок 242 управления контекстом определяет значение контекста с использованием параметров управления двух соседних блоков (S206). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что используются декодированные параметры управления двух соседних блоков левого блока и верхнего блока.
[0132] С другой стороны, когда тип сигнала является вторым типом, соответствующим шаблону 2 (второй тип на этапе S205), блок 242 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседствующего блока в порядке кодирования) (S207). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что не используется декодированный параметр управления верхнего блока.
[0133] С другой стороны, когда тип сигнала является третьим типом, соответствующим шаблону 3 (третий тип на этапе S205), блок 242 управления контекстом строго определяет значение контекста (S208). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что декодированные параметры управления верхнего блока и левого блока не используются.
[0134] Затем блок 242 управления контекстом суммирует приращение, определенное на этапе S204, с основным значением индекса контекста, определенного на этапе S203, для определения значения индекса контекста (S209).
[0135] Затем блок 243 двоичного арифметического декодирования определяет один из элементов двоичной последовательности путем декодирования с использованием значения контекста, указанного значением индекса контекста, полученного от блока 242 управления контекстом (S210).
[0136] Затем, когда процессы, предусмотренные на этапах S203 - S210, не выполняются в отношении всех элементов, включенных в двоичную последовательность ("нет" на этапе S211), блок 202 декодирования с переменной длиной слова осуществляет процессы, предусмотренные на этапах S203-S210, в отношении следующего элемента, включенного в двоичную последовательность.
[0137] С другой стороны, когда процессы, предусмотренные на этапах S203-S210, завершены в отношении всех элементов, включенных в двоичную последовательность ("да" на этапе S211), блок 241 обратной бинаризации изменяет один или более из элементов двоичной последовательности 251, полученных путем повторения процессов, предусмотренных на этапах S203-S210 более одного раза для генерирования параметра 230 управления (S212).
[0138] Как описано выше, устройство 200 декодирования изображений согласно варианту осуществления 2 определяет контекст с использованием верхнего блока при осуществлении арифметического декодирования в отношении параметра управления первого типа, и определяет контекст без использования верхнего блока для параметров управления второго и третьего типов.
[0139] По сравнению со случаем, когда левый блок и верхний блок используются как однородные “с использованием контекстной модели на основании значений параметров управления соседних блоков”, устройство 200 декодирования изображений может снижать использование памяти благодаря конфигурации. Таким образом, устройство 200 декодирования изображений может противодействовать снижению качества изображения и снижать использование памяти.
[0140] Например, когда двоичная последовательность 251 представляет собой флаг и имеет только один элемент, то есть двоичная последовательность 251 состоит из 1 двоичного, блок 241 обратной бинаризации может выводить двоичную последовательность 251 как есть.
[0141] Помимо вышеприведенного описания, блок 101 или 201 управления может управлять каждой из единиц обработки или обращаться к значению памяти, по сигнальной линии, которая не показана.
[0142] Хотя блок 142 или 242 управления контекстом переключается между тремя шаблонами 1-3 согласно типу сигнала параметра управления в вышеприведенном описании, он может переключаться между двумя из шаблонов 1-3 согласно типу сигнала. Другими словами, блок 142 или 242 управления контекстом может переключаться между использованием и неиспользованием условия верхнего блока, согласно типу сигнала параметра управления.
[0143] Кроме того, блок 142 или 242 управления контекстом может изменять способ переключения между выбранными контекстными моделями таким образом (включая случай, когда приращение контекстной модели изменяется; то же самое будет применяться ниже) согласно заранее определенной информации изображения. Например, блок 142 или 242 управления контекстом может дополнительно переключать саму политику переключения, согласно объему памяти или размеру ширины по горизонтали или формату дискретизации изображения, что влияет на количество обучений каждого контекста.
[0144] Хотя блок 142 или 242 управления контекстом переключается между использованием и неиспользованием условия верхнего блока в качестве упрощенного описания, блок 142 или 242 управления контекстом может комбинировать случай, когда верхний блок не является доступным переключению и применять комбинированный случай. Например, блок 142 или 242 управления контекстом может изменять саму политику переключения, в зависимости от того, является ли срез, который должен быть обработан, энтропийным срезом (entropy_slice_flag указывает 1 или 0). Аналогично, когда невозможно гарантировать доступность верхнего соседнего блока, блок 142 или 242 управления контекстом может изменять политику переключения, чтобы не использовать верхний блок.
[0145] Например, как показано на фиг. 8, блок 142 или 242 управления контекстом может переключать политику определения контекстной модели между первым критерием определения (S302) и вторым критерием определения (S303), согласно значению параметра заранее определенной единицы. При этом, смысл выражения “согласно значению параметра заранее определенной единицы” зависит от того, является ли срез энтропийным срезом, как описано выше. Кроме того, первый критерий определения является критерием, основанным на том, какие процессы, показанные на фиг. 7, осуществляются. Второй критерий определения является критерием, исключающим этап S204 на фиг. 7, и является, например, традиционным критерием. Это эквивалентно определению приращению индекса контекста, с использованием параметра заранее определенной локальной единицы и значения параметра единицы, большей, чем заранее определенная локальная единица.
[0146] Другими словами, блок 142 или 242 управления контекстом может переключаться с критерия определения, который должен быть применен к единице, меньшей первой единице, на другой критерий определения на основании значения параметра управления первой единицы.
[0147] Кроме того, блок 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно характеристикам системы изображения. Например, блок 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно интервалам I-изображений (установочным значениям IntraPeriod).
[0148] Хотя блок 142 или 242 управления контекстом переключается между критериями определения согласно вышеописанным условиям, он может переключаться в зависимости от использования верхнего блока.
[0149] Кроме того, блок 142 или 242 управления контекстом может определять, используется ли параметр управления верхнего блока, в зависимости от того, доступен ли параметр управления верхнего блока при кодировании или декодировании, на основании позиции параметра управления. Другими словами, блок 142 или 242 управления контекстом может определять, доступен ли параметр управления верхнего блока при декодировании, на основании позиции текущего блока, и определять контекст с использованием одного из шаблонов 2 и 3, когда параметр управления верхнего блока не является доступным. Кроме того, блок 142 или 242 управления контекстом может определять, доступно ли опорное значение верхнего блока, на основании древовидной структуры для разбиения блоков TU, CU или PU. Другими словами, блок 142 или 242 управления контекстом может определять, доступен ли параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, которые должны быть обработаны.
[0150] Фиг. 9 иллюстрирует соотношение между изображением, срезами и блоками в соответствии со стандартом HEVC. Одно изображение делится на один или более срезов. В примере, показанном на фиг. 9, изображение делится на два среза (срез 1 и срез 2). Один из срезов включает в себя блоки 301 (например, древовидные блоки). При этом блок 301 является наибольшей единицей в качестве определенной единицы управления, когда срез делится на блоки заранее определенного размера, и имеет размер корня, когда единица находится в корне структуры иерархического разбиения.
[0151] В примере, показанном на фиг. 9, срез 2 начинается с блока 301A и состоит из одной последовательности, включающей в себя блоки до нижнего правого угла изображения через заштрихованные блоки 301B и 301C. Одним из заштрихованных блоков на фиг. 9 является один блок (TreeBlock), который должен быть обработан в данный момент.
[0152] Каждый из блоков 301 включает в себя N×M пикселей. Один из блоков 301 подвергается рекурсивному разбиению внутри (обычно на четыре). Другими словами, один TreeBlock принципиально образует одно квадродерево. В блоке 301B на фиг. 9, верхний правый блок, полученный разбиением заштрихованного блока 301B на четыре, получен двукратным рекурсивным разбиением на четыре блока. Другими словами, блок 301B включает в себя 10 логические единицы от верхней левой нулевой единицы до нижней правой девятой единицы, которые секционируются с некоторой перспективой.
[0153] При этом, перспектива указывает принцип множества деревьев, имеющих разные глубины, с корнем в качестве отправной точки, например, дерева, относящегося к единице кодирования (CU), и дерева, относящегося к residual_data. При этом значение каждого параметра управления принадлежит одному из листовых узлов.
[0154] При этом, фактическая доступность значения параметра управления некоторого типа сигнала, включенного в верхний блок, зависит от типа дерева, которому принадлежит параметр управления. Таким образом, блок 142 или 242 управления контекстом может изменять критерий определения согласно типу дерева, которому принадлежит параметр управления. Это изменение эквивалентно изменению единицы синтаксиса. Например, блок 142 или 242 управления контекстом может использовать шаблон 2 или 3, в котором верхний блок не используется, для данных адаптивного фильтра с такой структурой данных, как alf_param, и в то же время может использовать политика контекстной модели (шаблон 1) для других традиционно используемых синтаксисов. Другими словами, второй тип или третий тип может быть параметром управления, имеющим заранее определенную структуру данных. Кроме того, это означает, что критерий определения может изменяться согласно типу дерева соседнего блока.
[0155] Кроме того, можно ли фактически использовать значение параметра управления, и дает ли оно преимущество снижения использования памяти, в зависит от позиции блока в иерархическом соотношении. Другими словами, блок 142 или 242 управления контекстом может переключаться между использованием и неиспользованием верхнего блока, согласно глубине блока и иерархической позиции блока.
[0156] Например, на фиг. 9, числа от 0 до 9 в блоке 301B следуют в порядке декодирования. В этом случае, параметры управления блоков 1 и 2 доступны когда блок 4 кодируется или декодируется.
[0157] Кроме того, для снижения использования памяти, блок 142 или 242 управления контекстом может выбирать шаблон 1 с использованием верхнего блока, когда блок не находится на глубине 0, и собственная позиция является одним из второго и далее элементов в вертикальном разбиении. При этом “глубина” указывает глубину от корня. Другими словами, когда некоторый блок определяется как block[xn], [y0][depth], критерий определения может изменяться в зависимости от того, удовлетворяет ли текущий блок условию block[xn][(y0)+1][depth]. Другими словами, верхние блоки используются для блоков 4-9 на фиг. 9. Когда дерево кодируется или декодируется в пронумерованном порядке (начиная с 0 и заканчивая 9), ясно, что блоки 4-9 могут использовать параметры управления, включенные в верхние блоки. Кроме того, преимущество состоит в том, что эти блоки должны лишь временно удерживать данные. Кроме того, это указывает, что значение контекста определяется согласно 3D позиции, включающей в себя глубину, помимо координаты x и y. Кроме того, условное значение блока на более высоком уровне можно использовать (сохранять) как условное значение блока на более низком уровне.
[0158] Кроме того, блок 142 или 242 управления контекстом может изменять эти критерии с учетом позиционного соотношения между текущим блоком и другими срезами. Далее будут описаны три заштрихованных блока 301A, 301B и 301C на фиг. 9.
[0159] В данном случае блок 301A является начальным блоком, и оба из левого блока и верхнего блока для блока 301A включены в другой срез. Верхний блок блока 301B включен в другой срез. Оба из левого блока и верхнего блока для блока 301C включены в тот же срез, который включает в себя блок 301C. Блок 142 или 242 управления контекстом может переключать критерий согласно такому условию. Другими словами, блок 142 или 242 управления контекстом может переключать критерий (i) в зависимости от того, включен ли верхний блок в другой срез, (ii) в зависимости от того, включен ли левый блок в другой срез, или (iii) согласно обоим (i) и (ii). Другими словами, блок 142 или 242 управления контекстом может определять, что параметр управления верхнего блока не является доступным при декодировании, когда текущий блок находится на границе среза. Соответственно, когда обработка декодирования на верхнем срезе 1 не завершена, например, можно осуществлять обработку декодирования с учетом того, может ли срез 2 самостоятельно получать информацию.
[0160] Далее будет описана иерархическая единица обработки (многоуровневая структура блоков). Фиг. 10 иллюстрирует иерархическую единицу обработки (многоуровневую структуру блоков).
[0161] Устройство 100 кодирования изображений кодирует движущиеся изображения для каждой единицы обработки, и устройство 200 декодирования изображений декодирует кодированный поток для каждой единицы обработки. Единица обработки делится на слои разбиением единиц обработки на малые единицы обработки и дополнительным разбиением малых единиц обработки на меньшие единицы обработки. Чем меньше единица обработки, тем больше глубина единицы обработки, и она располагается иерархически ниже, и тем больше значение, указывающее глубину. Напротив, чем больше единица обработки, тем меньше глубина единицы обработки, и она располагается иерархически выше, и тем меньше значение, указывающее глубину.
[0162] Единица обработки включает в себя единицу кодирования (CU), единицу прогнозирования (PU) и единицу преобразования (TU). CU представляет собой блок, максимум, из 128×128 пикселей и является единицей, соответствующей традиционному макроблоку. 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.
[0163] Ниже приведены конкретные детали.
[0164] Одно изображение делится на один или более срезов. Срез это последовательность наибольшей единицы кодирования. Позиция наибольшей единицы кодирования указана адресом lcuAddr наибольшей единицы кодирования.
[0165] Каждая из единиц кодирования, включающих в себя соответствующие наибольшие единицы кодирования, делится на четыре единицы кодирования. В результате, строится квадродерево, имеющее размер CU. Позиция CU указана индексом cuIdx единицы кодирования, имеющим выборку (пиксель или коэффициенты) в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0166] Когда разбиение CU не разрешено, CU обрабатывается как PU. По аналогии с CU, позиция PU указана индексом puIdx единицы прогнозирования, имеющим выборку в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0167] PU может включать в себя разбиения (разбиения PU или под-PU). Разбиение PU указано индексом puPartIdx разбиения единицы прогнозирования, имеющим выборку в верхнем левом углу PU в качестве начальной точки.
[0168] PU может включать в себя несколько TU. По аналогии с CU, TU может делиться на четыре меньших TU (под-TU). Это указывает возможность разбиения квадродерева остаточного сигнала. Позиция TU указана индексом tuIdx единицы преобразования, имеющим выборку в верхнем левом углу PU в качестве начальной точки.
[0169] При этом каждая из единиц обработки определяется следующим образом:
[0170] CTB (блок дерева кодирования): основная единица для идентификации разбиения квадродерева квадратной области. Имеет различные размеры квадрата;
[0171] LCTB (наибольший блок дерева кодирования): наибольший CTB, разрешенный в срезе. Срез включает в себя множество LCTB, не перекрывающихся друг с другом;
[0172] SCTB (наименьший блок дерева кодирования): наименьший CTB, разрешенный в срезе. Разбиение SCTB на меньшие CTB не разрешено;
[0173] PU (единица прогнозирования): основная единица для идентификации обработки прогнозирования. PU столь же велика, как CU, в котором не разрешено разбиение. Хотя разбиение CU на четыре квадратные области разрешено, PU можно делить на множество разбиений любой формы;
[0174] TU (единица преобразования): основная единица для идентификации преобразования и квантования;
[0175] CU (единица кодирования): то же, что CTB;
[0176] LCU (наибольшая единица кодирования): то же, что наибольший CTB; и
[0177] SCU (наименьшая единица кодирования): то же, что наименьший CTB.
[0178] Кроме того, параметры квантования включают в себя по меньшей мере один из дельта-параметра масштаба квантования (дельта QP или QP дельта), параметра смещения квантования, индекса (Qmatrix select idc) и параметра смещения мертвой зоны квантования. Индекс служит для выбора одной из квантованных масштабирующих матриц.
[0179] Дельта-параметр масштаба квантования (дельта QP или QP дельта) представляет собой разность между параметром масштаба квантования, который должен быть применен к коэффициентам преобразования, и параметром масштаба квантования, указанным в заголовке последовательности или заголовке среза (или параметром масштаба квантования, непосредственно предшествующим в порядке сканирования Z).
[0180] Параметр смещения квантования также именуется смещением квантования и является значением регулировки (значением смещения) для округления сигнала при осуществлении квантования. Таким образом, когда устройство 100 кодирования изображений осуществляет квантование, оно кодирует смещение квантования. Затем устройство 200 декодирования изображений декодирует кодированное смещение квантования. Затем устройство 200 декодирования изображений осуществляет коррекцию с использованием смещения квантования при обратном квантовании коэффициентов преобразования.
[0181] Индекс (Qmatrix select idc) именуется матрицей адаптивного квантования и указывает, какая масштабирующая матрица квантования используется среди множества масштабирующих матриц квантования. Кроме того, при наличии только одной масштабирующей матрицы квантования, Qmatrix select idc указывает, используется ли масштабирующая матрица квантования. Матрицей адаптивного квантования можно управлять для каждой единицы блока (единицы обработки).
[0182] Параметр смещения мертвой зоны квантования именуется адаптивной мертвой зоной и является информацией управления для адаптивного изменения мертвой зоны для каждого блока. Мертвая зона это ширина, частотные коэффициенты которой обнуляются при квантовании (последняя ширина, которая принимает значение +1 или -1 после квантования).
[0183] Хотя выше описан случай, когда шаблон 3, с которым заранее определенное фиксированное значение используется в качестве значения контекста, этот случай может осуществляться при условии, что параметры управления верхнего блока и левого блока не используются, и, дополнительно, при условии неиспользования параметров управления верхнего блока и левого блока в качестве шаблона 3. Например, блок 142 или 242 управления контекстом может определять контекст согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, в качестве шаблона 3.
[0184] ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 3
Вариант осуществления 3 демонстрирует, какой тип сигнала следует использовать в качестве первого типа и второго типа (или третьего типа).
[0185] В частности, авторы настоящего изобретения проверили каждый из ниже перечисленных типов сигнала среди типов сигнала, указанных на фиг. 3 (раздел 9.3.3.1.1.1 NPL 2). Каждый из типов сигнала был проверен, поскольку существуют различные параметры, и трудно прогнозировать, пригоден ли каждый шаблон других типов сигнала, на основании результата проверки в отношении одного из типов сигнала (какой из шаблонов 1 - 3 является правильным).
[0186] Проверяется соответствие структуре (параметр настройки и версия программного обеспечения HM3.0), описанное в JCTVC-E700, "Common test conditions and software reference configurations" (см. NPL 3). Кроме того, каждое из пробных изображений имеет длину, ограниченную 49 кадрами.
[0187] Способ кодирования изображений и способ декодирования изображений согласно варианту осуществления 3 относятся к CABAC. Таким образом, проверка проводилась с использованием следующих четырех пробных шаблонов, которые представляют собой набор установочных значений, каждое из которых указывает 1 как значение Symbol Mode (#0:LCEC, 1:CABAC):
[0188] 4.1 внутренняя, высокоэффективная настройка;
4.3 произвольный доступ, высокоэффективная настройка;
4.5 низкая задержка, высокоэффективная настройка; и
4.7 низкая задержка, высокоэффективная настройка (только P-срезы).
[0189] Оценка производится на основании значения оценки, именуемого “BD-рейтингом”, которое используется как стандарт оценки, однородно используемый для оценки реализации в HEVC. BD-рейтинг Y, BD-рейтинг U и BD-рейтинг V являются BD-рейтингами для цветового пространства YUV и являются значениями стандарта оценки. Согласно VCEG-AI11 (NPL 4), BD-рейтинг является значением оценки, полученным путем интегрирования двух пар кодовых величин с результатом PSNR, и представляющим эффективность кодирования согласно отношению площадей. Кроме того, BD-рейтинг, указывающий отрицательное значение означает, что эффективность кодирования повысилась. Критерии сравнения основаны на результате выхода опорной программы, которая реализует шаблон 1. Результаты шаблонов 2 и 3 показаны в отношении результата шаблона 1.
[0190] Ниже описан результат проверки в отношении каждого из типов сигнала:
[0191] (первая проверка) split_coding_unit_flag;
(вторая проверка) skip_flag; и
(третья проверка) no_residual_data_flag.
[0192] (Первая проверка) split_coding_unit_flag
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag.
[0193] Проверка осуществляется путем изменения контекстной модели от шаблона 1 к шаблону 2 или 3 только для типа сигнала, который должен быть проверен, без изменения контекстной модели для других типов сигнала, и параметра проверки, указанного в NPL 3. В столбце на фиг. 11 значение “фиксированный” указывает, что условие (условие левого блока или условие верхнего блока) столбца, указанного как “фиксированный”, не используется при получении значения (или приращения) контекста. Другими словами, когда только одно из условия левого блока и условия верхнего блока является “фиксированным”, используется только другое условие. Кроме того, когда оба из условия левого блока и условия верхнего блока являются “фиксированными”, в качестве значения (или приращения) контекста используется заранее определенное значение (например, 0).
[0194] Смысловое значение типа сигнала “split_coding_unit_flag” определяется следующим образом.
[0195] 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.
[0196] Данные split_coding_unit_flag структурируются в синтаксис дерева кодирования в качестве синтаксиса. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0197] На фиг. 12A и 12B показаны таблицы для описания результатов проверки в отношении split_coding_unit_flag.
[0198] Фиг. 12A указывает результат проверки с использованием одного соседнего блока (только значения определения условия L левого блока) шаблона 2. Фиг. 12B указывает результат проверки с использованием нулевого соседнего блока (без использования условия A верхнего блока и условия L левого блока) шаблона 3.
[0199] Результат проверки на каждой из фиг. 12A и 12B указывает приращение и отрицательное приращение BD-рейтинга согласно четырем пробным шаблонам.
[0200] Кроме того, значение оценки представлено стандартом оценки, указывающим значение относительно значения оценки в случае шаблона 1, в котором используются оба из левого блока и верхнего блока. В частности, когда значение оценки положительно, результат ниже значения оценки (BD-рейтинга) в случае шаблона 1. Кроме того, когда значение оценки отрицательно, результат еще выше, чем значение оценки в случае шаблона 1.
[0201] Результат поясняет, что шаблон 1 выше, чем шаблон контекстной модели для split_coding_unit_flag. Другими словами, значения оценки, полученные шаблонами 2 и 3, ниже, чем у шаблона 1.
[0202] Таким образом, когда типом сигнала параметра управления является split_coding_unit_flag, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном контекстной модели, в отношении BD-рейтинга.
[0203] (Вторая проверка) skip_flag
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag. При этом способ проверки такой же, как при первой проверке.
[0204] Смысловое значение типа сигнала “skip_flag” определяется следующим образом.
[0205] skip_flag[x0][y0], равный 1, указывает, что для текущей единицы кодирования, при декодировании P- или B-среза, никакие другие элементы синтаксиса, кроме индексов предиктора вектора движения, не анализируются после skip_flag[x0][y0]. skip_flag[x0][y0], равный 1, указывает, что единицу кодирования не следует пропускать. Индексы массива x0, y0 указывают положение (x0, y0) верхней левой выборки яркости рассматриваемого блока кодирования относительно верхней левой выборки яркости изображения. Другими словами, skip_flag указывает, должна ли быть пропущена целевая CU (обработана как пропущенный блок).
[0206] Данные skip_flag структурируются в синтаксис единицы кодирования в качестве синтаксиса. Другими словами, skip_flag устанавливается для каждой CU. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0207] На фиг. 14A и 14B показаны таблицы для описания результатов проверки в отношении skip_flag.
[0208] Фиг. 14A указывает результат проверки с использованием одного соседнего блока (только значения определения условия L левого блока) шаблона 2. Фиг. 14B указывает результат проверки с использованием нулевого соседнего блока (без использования условия A верхнего блока и условия L левого блока) шаблона 3.
[0209] Результат проверки на каждой из фиг. 14A и 14B указывает приращение и отрицательное приращение BD-рейтинга согласно четырем пробным шаблонам, как описано для первой проверки. Кроме того, смысловое значение значения оценки такое же, как в первой проверке.
[0210] Результат поясняет, что шаблон 1 выше, чем шаблон контекстной модели для “skip_flag”. Другими словами, значения оценки, полученные шаблонами 2 и 3, ниже, чем у шаблона 1.
[0211] Таким образом, когда тип сигнала параметра управления представляет собой “skip_flag”, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном контекстной модели, в отношении BD-рейтинга.
[0212] (Третья проверка) “no_residual_data_flag”
На фиг. 15A показана таблица, указывающая способ арифметического декодирования для no_residual_data_flag.
[0213] Смысловое значение типа сигнала “no_residual_data_flag” определяется следующим образом.
[0214] no_residual_data_flag, равный 1, указывает отсутствие остаточных данных для текущей единицы кодирования. no_residual_data_flag, равный 0, указывает присутствие остаточных данных для текущей единицы кодирования. Когда no_residual_data_flag отсутствует, его значение полагается равным 0.
[0215] Данные no_residual_data_flag структурируются в дерево преобразования среди типов деревьев. На Фиг. 15B показана таблица, указывающая синтаксис дерева преобразования. Устройство декодирования изображений синтаксически анализирует битовую последовательность в соответствии с синтаксисом этой структуры данных.
[0216] На фиг. 16A и 16B показаны таблицы для описания результатов проверки в отношении no_residual_data_flag.
[0217] Фиг. 16A указывает результат проверки с использованием одного соседнего блока (только значения определения условия L левого блока) шаблона 2. Фиг. 16B указывает результат проверки с использованием нулевого соседнего блока (без использования условия A верхнего блока и условия L левого блока) шаблона 3.
[0218] Результат проверки на каждой из фиг. 16A и 16B указывает приращение и отрицательное приращение BD-рейтинга согласно четырем пробным шаблонам как описано для первой проверки. Кроме того, смысловое значение значения оценки такое же, как в первой проверке.
[0219] Результат отличается от результатов первой проверки split_coding_unit_flag и второй проверки skip_flag. Не существует значительного различия в BD-рейтинге между шаблонами 1 и 2 или 3 в качестве шаблона контекстной модели для no_residual_data_flag.
[0220] Таким образом, в смешанных условиях с множеством параметров управления типов сигнала, блок 142 или 242 управления контекстом определяет значение контекста без использования верхнего блока в качестве соседнего блока, особенно, когда тип сигнала параметра управления представляет собой no_residual_data_flag. Другими словами, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 2 или 3, когда тип сигнала параметра управления представляет собой no_residual_data_flag. Другими словами, первый тип включает в себя "split_coding_unit_flag” или “skip_flag”, и второй тип или третий тип включает в себя “no_residual_data_flag”. Соответственно, устройство кодирования изображений и устройство декодирования изображений согласно варианту осуществления 3 может снижать использование памяти, одновременно препятствуя отрицательному приращению BD-рейтинга.
[0221] Когда шаблон 2 сравнивается с шаблоном 3 для no_residual_data_flag, эти BD-рейтинги незначительно различаются. Таким образом, предпочтительно использовать шаблон 3 для no_residual_data_flag. Соответственно, можно дополнительно снизить использование памяти и объем обработки.
[0222] При этом, no_residual_data_flag указывает присутствие или отсутствие коэффициентов (остаточных данных) яркости и цветности. Кроме того, остаточные данные увеличиваются при внутреннем прогнозировании, и уменьшаются при внешнем прогнозировании. Таким образом, эффективность кодирования снижается, когда режим окружающего блока отличается от режима текущего блока (окружающий блок отличается признаками от текущего блока). Например, когда внутреннее прогнозирование осуществляется в отношении текущего блока, и внешнее прогнозирование осуществляется в отношении окружающего блока, остаточные данные текущего блока уменьшаются, и остаточные данные окружающего блока увеличиваются. Соответственно, эффективность кодирования снижается при использовании контекста окружающего блока. Таким образом, блок 142 и 242 управления контекстом может повышать эффективность кодирования с использованием контекста текущего блока независимо от окружающего блока.
[0223] Хотя описаны устройство кодирования изображений и устройство декодирования изображений согласно вариантам осуществления 1-3 настоящего изобретения, настоящее изобретение не ограничивается этими вариантами осуществления.
[0224] Например, можно комбинировать, по меньшей мере, часть устройства кодирования изображений, устройства декодирования изображений, и функции модификаций этих устройств согласно вариантам осуществления 1-3.
[0225] Кроме того, все описанные выше значения и логические значения представлены для конкретного описания настоящего изобретения, и настоящее изобретение не ограничивается представленными значениями.
[0226] Кроме того, разделения функциональных блоков в блок-схемах приведены в порядке примера. Таким образом, функциональные блоки можно реализовать как один функциональный блок, один функциональный блок может делиться на множество функциональных блоков, и часть функций можно переключать на другой функциональный блок. Кроме того, множество функциональных блоков, имеющих аналогичные функции, может обрабатываться единым аппаратным или программным обеспечением параллельно или с временным разделением.
[0227] Порядки выполнения этапов способа кодирования изображений, осуществляемого устройством кодирования изображений, и способа декодирования изображений, осуществляемого устройством декодирования изображений, приведены для конкретного описания настоящего изобретения, и могут отличаться от вышеописанных порядков. Кроме того, часть этапов можно осуществлять одновременно (параллельно) с другими этапами.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 4
[0228] Обработку, описанную в каждом из вариантов осуществления, просто реализовать посредством компьютерной системы, записывая на носитель записи программу для реализации структуры способа кодирования движущихся изображений или способа декодирования движущихся изображений, описанного в варианте осуществления. Носителем записи может быть любой носитель записи при условии, что на него можно записать программу, например, магнитный диск, оптический диск, магнитооптический диск, плата ИС и полупроводниковую память.
[0229] Далее будут описаны применения к способу кодирования движущихся изображений или способу декодирования движущихся изображений, описанным в каждом из вариантов осуществления, и к системе с их использованием.
[0230] Фиг. 19 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для обеспечения услуг связи делится на соты желаемого размера, и в каждой из сот располагаются базовые станции ex106-ex110, которые являются стационарными станциями беспроводной связи.
[0231] Система ex100 предоставления контента подключена к устройствам, например компьютеру ex111, карманному персональному компьютеру (КПК) ex112, камере ex113, сотовому телефону ex114 и игровой машине ex115, через интернет ex101, поставщика ex102 услуг интернета, телефонную сеть ex104, а также базовые станции ex106 - ex110.
[0232] Однако, конфигурация системы ex100 предоставления контента не ограничивается конфигурацией, показанной на фиг. 19, и допустима комбинация, в которой соединены любые из элементов. Кроме того, каждое из устройств может быть непосредственно подключено к телефонной сети ex104, а не через базовые станции ex106-ex110, которые являются стационарными станциями беспроводной связи. Кроме того, устройства могут соединяться между собой через короткодействующую беспроводную связь и пр.
[0233] Камера ex113, например цифровая видеокамера, способна захватывать движущиеся изображения. Камера ex116, например, цифровая видеокамера, способна захватывать как неподвижные изображения, так и движущиеся изображения. Кроме того, сотовый телефон ex114 может отвечать любому из стандартов, например, глобальная система мобильной связи (GSM), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), Проект долгосрочного развития систем связи (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно, сотовый телефон ex114 может относиться к системе персональных переносных телефонов (PHS).
[0234] В системе ex100 предоставления контента, сервер ex103 потоковой передачи подключен к камере ex113 и пр. через телефонную сеть ex104 и базовую станцию ex109, что позволяет вещать шоу в прямом эфире и пр. Для такого вещания, контент (например, видеосигнал музыкального шоу в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируется, как описано выше в каждом из вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет потоковое вещание принятых данных контента на клиенты по их запросам. Клиенты включают в себя компьютер ex111, КПК ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые способны декодировать вышеупомянутые кодированные данные. Каждое из устройств, принявшее распространяемые данные, декодирует и воспроизводит кодированные данные.
[0235] Захваченные данные могут кодироваться камерой ex113 или сервером ex103 потоковой передачи, которая/ый передает данные, или процессы кодирования могут обобществляться между камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространяемые данные могут декодироваться клиентами или сервером ex103 потоковой передачи, или процессы декодирования могут обобществляться между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и движущихся изображений, захваченные не только камерой ex113, но и камерой ex116, могут передаваться на сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут осуществляться камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи или обобществляться между ними.
[0236] Кроме того, в общем случае, компьютер ex111 и БИС ex500, включенная в каждое из устройств, осуществляют такие процессы кодирования и декодирования. БИС ex500 может быть сконфигурирована в виде единого кристалла или множества кристаллов. Программное обеспечение для кодирования и декодирования движущихся изображений может интегрироваться в тот или иной тип носителя записи (например, CD-ROM, гибкий диск, жесткий диск), считываемый компьютером ex111 и пр., и процессы кодирования и декодирования могут осуществляться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут передаваться. Видеоданные представляют собой данные, кодированные БИС ex500, включенной в сотовый телефон ex114.
[0237] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров, и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0238] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в реальном времени в системе ex100 предоставления контента, что позволяет пользователю, не обладающему каким-либо конкретным правом и оборудованием, осуществлять персональное вещание.
[0239] Настоящее изобретение не ограничивается вышеупомянутой системой ex100 предоставления контента, и, по меньшей мере, одно из устройства кодирования движущихся изображений и устройства декодирования движущихся изображений описанный в каждом из вариантов осуществления может входить в состав системы ex200 цифрового вещания, показанной на фиг. 20. В частности, широковещательная станция ex201 сообщает или передает, посредством радиоволн, на вещательный спутник ex202, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и видеоданных. Видеоданные представляют собой данные, кодированные согласно способу кодирования движущихся изображений, описанному в каждом из вариантов осуществления. Приняв видеоданные, вещательный спутник ex202 передает радиоволны для вещания. Затем, домашняя антенна ex204, способная принимать спутниковую широковещательную передачу, принимает радиоволны. Устройство, например телевизор (приемник) ex300 и телевизионная приставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит данные.
[0240] Кроме того, устройство ex218 чтения/записи, которое (i) считывает и декодирует мультиплексированные данные, записанные на носители ex215 записи, например, DVD и BD, или (ii) кодирует видеосигналы на носителе ex215 записи, и, в ряде случаев, записывает данные, полученные путем мультиплексирования аудиосигнала на кодированные данные, может включать в себя устройство декодирования движущихся изображений или устройство кодирования движущихся изображений, как показано в каждом из вариантов осуществления. В этом случае, воспроизводимые видеосигналы отображаются на мониторе ex219, и другое устройство или система может воспроизводить видеосигналы, с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. Кроме того, устройство декодирования движущихся изображений также можно реализовать в телевизионной приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или антенне ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора ex300. Устройство декодирования движущихся изображений может быть включено не в телевизионную приставку, а в телевизор ex300.
[0241] Фиг. 21 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Телевизор ex300 включает в себя: блок ex301 настройки, который получает или выдает мультиплексированные данные, полученные путем мультиплексирования аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д., которая/ый принимает широковещательную программу; блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в выводимые мультиплексированные данные; и блок ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные, или мультиплексирует видеоданные и аудиоданные, кодированные блоком ex306 обработки сигнала, в данные.
[0242] Кроме того, телевизор 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 соединены друг с другом через синхронную шину.
[0243] Прежде всего, будет описана конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и пр. и воспроизводит декодированные данные. В телевизоре ex300, приняв пользовательской операции от пульта ex220 дистанционного управления и пр., блок ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, включающего в себя ЦП. Кроме того, блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизоре 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 мультиплексирования/демультиплексирования.
[0244] Кроме того, телевизор ex300 может включать в себя конфигурацию для приема входного сигнала AV от микрофона или камеры, отличную от конфигурации для получения аудио- и видеоданных из широковещательной передачи или носителя записи, и может кодировать полученные данные. Хотя, согласно описанию, телевизор ex300 может кодировать, мультиплексировать и выдавать данные, он может быть неспособен к осуществлению всех процессов, но способный только к одному из приема, декодирования и выдачи данных.
[0245] Кроме того, когда устройство ex218 чтения/записи считывает или записывает мультиплексированные данные с носителя записи или на него, один из телевизора ex300 и устройства ex218 чтения/записи может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и устройство ex218 чтения/записи могут совместно использовать декодирование или кодирование.
[0246] В порядке примера, фиг. 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 управления включает в себя, например, микропроцессор, и выполняет обработку, предписывая компьютеру выполнять программу для чтения и записи.
[0247] Хотя, согласно описанию, оптическая головка ex401 создает пятно лазерного излучения, она может осуществлять запись высокой плотности с использованием света ближнего поля.
[0248] Фиг. 23 схематически иллюстрирует носитель ex215 записи, который представляет собой оптический диск. На рабочей поверхности носителя ex215 записи сформированы спиральные направляющие канавки, и на информационной дорожке ex230 заранее записана информация адреса, указывающая абсолютную позицию на диске согласно изменению формы направляющих канавок. Информация адреса включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицами записи данных. Устройство для записи и воспроизведения данных воспроизводит информационную дорожку ex230 и считывает информацию адреса для определения позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутреннего периметра и область ex234 внешнего периметра. Область ex233 записи данных это область для использования при записи пользовательских данных. Область ex232 внутреннего периметра и область ex234 внешнего периметра, которые находятся внутри и вне области ex233 записи данных, соответственно, предназначены для конкретного использования за исключением записи пользовательских данных. Блок 400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные путем мультиплексирования кодированных аудиоданных и кодированных видеоданных, из области ex233 записи данных носителя ex215 записи и в нее.
[0249] Хотя в описании в порядке примера описан оптический диск, имеющий слой, например, DVD и BD, оптический диск этим не ограничивается, и может представлять собой оптический диск, имеющий многослойную структуру и позволяющий производить запись на часть, отличную от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием света цветов с разными длинами волны на одном и том же участке оптического диска и записи информации, имеющей разные слои, с различных углов.
[0250] Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные от спутника ex202 и пр. и воспроизводить видео на устройстве отображения, например, автомобильной навигационной системе ex211, установленной в автомобиле ex210, в системе ex200 цифрового вещания. При этом, конфигурация автомобильной навигационной системы ex211 будет, например, включать в себя GPS-приемник в конфигурации, представленной на фиг. 21. То же самое будет справедливо в отношении конфигурации компьютера ex111, сотового телефона ex114, и пр.
[0251] Фиг. 24A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущихся изображений и способ декодирования движущихся изображений, описанные в каждом из вариантов осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный захватывать движущиеся и неподвижные изображения; и блок ex358 отображения, например жидкокристаллический дисплей, для отображения данных, например декодированного видео, захваченного блоком ex365 камеры или принятого антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: блок основного отдела, включающий в себя набор операционных клавиш ex366; блок ex357 вывода аудиосигнала, например громкоговоритель для вывода аудио; блок ex356 ввода аудиосигнала, например, микрофон для ввода аудио; блок ex367 памяти для хранения захваченного видео или неподвижных изображений, аудиозаписей, кодированных или декодированных данных принятого видео, неподвижных изображений, сообщений электронной почты и пр.; и щелевой блок ex364, который представляет собой блок интерфейса для носителя записи, где хранятся данные, таким же образом, как в блоке ex367 памяти.
[0252] Далее, со ссылкой на фиг. 24B, будет описан пример конфигурации сотового телефона ex114. В сотовом телефоне ex114, главный блок ex360 управления, предназначенный для общего управления каждым блоком основного отдела, включая блок ex358 отображения, а также операционные клавиши ex366, соединен, взаимно, через синхронную шину ex370, с блоком ex361 питания, блок ex362 управления вводом операций, блоком ex355 обработки видеосигнала, блоком ex363 интерфейса камеры, блоком ex359 управления жидкокристаллическим дисплеем (ЖКД), блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки аудиосигнала, щелевым блоком ex364 и блоком ex367 памяти.
[0253] Когда, в результате операции пользователя клавиша окончания вызова или клавиша питания переводится в состояние включения, блок ex361 питания подает питание на соответствующие блоки от аккумуляторной батареи для активации сотового телефона ex114.
[0254] В сотовом телефоне ex114, блок ex354 обработки аудиосигнала преобразует аудиосигналы, собранные блоком ex356 ввода аудиосигнала в режиме речевой связи, в цифровые аудиосигналы под управлением главного блока ex360 управления, включающего в себя ЦП, ПЗУ и ОЗУ. Затем блок ex352 модуляции/демодуляции осуществляет обработку расширения по спектру в отношении цифровых аудиосигналов, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты в отношении данных, для передачи результирующих данных через антенну ex350. Также, в сотовом телефоне ex114, блок ex351 передачи и приема усиливает данные, принятые антенной ex350 в режиме речевой связи, и осуществляет преобразование частоты и аналого-цифровое преобразование в отношении данных.
[0255] Затем блок ex352 модуляции/демодуляции осуществляет обратную обработку расширения по спектру в отношении данных, и блок ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, для вывода их через блок ex357 вывода аудиосигнала. Кроме того, при передаче электронной почты в режиме передачи данных, текстовые данные электронной почты, введенные с помощью операционных клавиш ex366 и пр. основного отдела, отправляются на главный блок ex360 управления через блок ex362 управления вводом операций. Главный блок ex360 управления предписывает блоку ex352 модуляции/демодуляции осуществлять обработку расширения по спектру в отношении текстовых данных, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты в отношении результирующих данных для передачи данных на базовую станцию ex110 через антенну ex350. При приеме электронной почты, обработка, приблизительно обратная обработке для передачи электронной почты, осуществляется в отношении принятых данных, и результирующие данные поступают на блок ex358 отображения.
[0256] При передаче видео, неподвижных изображений или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала сжимает и кодирует видеосигналы, поступающие от блока ex365 камеры, с использованием способа кодирования движущихся изображений, представленного в каждом из вариантов осуществления, и передает кодированные видеоданные на блок ex353 мультиплексирования/демультиплексирования. Напротив, когда блок ex365 камеры захватывает видео, неподвижные изображения и пр., блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ex356 ввода аудиосигнала, и передает кодированные аудиоданные на блок ex353 мультиплексирования/демультиплексирования.
[0257] Блок ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, поступающие от блока ex355 обработки видеосигнала, и кодированные аудиоданные, поступающие от блока ex354 обработки аудиосигнала, с использованием заранее определенного способа. Затем блок ex352 модуляции/демодуляции осуществляет обработку расширения по спектру в отношении мультиплексированных данных, и блок ex351 передачи и приема осуществляет цифро-аналоговое преобразование и преобразование частоты в отношении данных для передачи результирующих данных через антенну ex350.
[0258] При приеме данных видеофайла, который связан с веб-страницей и пр., в режиме передачи данных или при приеме электронная почта с присоединенным видео и/или аудио, для декодирования мультиплексированных данных, принятых через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных, и подает на блок ex355 обработки видеосигнала кодированные видеоданные и на блок ex354 обработки аудиосигнала кодированные аудиоданные, через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущихся изображений, соответствующего способу кодирования движущихся изображений, представленному в каждом из вариантов осуществления, после чего, блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, через блок ex359 управления ЖКД. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудиосигнала выдает аудио.
[0259] Кроме того, аналогично телевизору ex300, терминал, например сотовый телефон ex114, вероятно имеет 3 типа конфигураций реализации, включающих в себя не только (i) передающий и приемный терминал, включающий в себя устройство кодирования и устройство декодирования, но и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя, согласно описанию, система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования аудиоданных на видеоданные, мультиплексированные данные могут представлять собой данные, полученные путем мультиплексирования не аудиоданных, а символьных данных, связанных с видео, на видеоданные, и могут быть не мультиплексированными данными, а самими видеоданными.
[0260] Таким образом, способ кодирования движущихся изображений и способ декодирования движущихся изображений в каждом из вариантов осуществления можно использовать в любом/ой из описанных устройств и систем. Таким образом, можно получить преимущества, описанные в каждом из вариантов осуществления.
[0261] Кроме того, настоящее изобретение не ограничивается вариантами осуществления, и возможны различные модификации и ревизии, не выходящие за рамки объема настоящего изобретения.
[0262] Вариант осуществления 5
Видеоданные могут генерироваться путем переключения, при необходимости, между (i) способом кодирования движущихся изображений или устройством кодирования движущихся изображений, представленным в каждом из вариантов осуществления, и (ii) способом кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с различными стандартами, например MPEG-2, MPEG4-AVC и VC-1.
[0263] При этом, когда множество видеоданных, которое согласуется с разными стандартами, генерируется и затем декодируется, способы декодирования необходимо выбирать в соответствии с разными стандартами. Однако, поскольку невозможно определить, с каким стандартом согласуется каждое из множества видеоданных, подлежащих декодированию, существует проблема в том, что невозможно выбрать надлежащий способ декодирования.
[0264] Для решения проблемы, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и пр. на видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую, с каким стандартом согласуются видеоданные. Далее будет описана конкретная структура мультиплексированных данных, включающих в себя видеоданные, генерируемые в способе кодирования движущихся изображений и устройством кодирования движущихся изображений, представленным в каждом из вариантов осуществления. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока MPEG-2.
[0265] Фиг. 25 иллюстрирует структуру мультиплексированных данных. Как показано на фиг. 25, мультиплексированные данные можно получить путем мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео кинофильма, аудиопоток (IG) представляет первичную аудио-часть и вторичную аудио-часть, подлежащую смешиванию с первичной аудио-частью, и поток презентационной графики представляет субтитры кинофильма. В данном случае, первичное видео это нормальное видео, которое должно быть отображено на экране, и вторичное видео это видео, подлежащее отображению в меньшем окне в основном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, подлежащий генерации путем размещения компонентов ГИП на экране. Видеопоток кодируется в способе кодирования движущихся изображений или устройством кодирования движущихся изображений представленный в каждом из вариантов осуществления, или в способе кодирования движущихся изображений или устройством кодирования движущихся изображений в соответствии с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, например Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, и линейный PCM.
[0266] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, значение 0x1011 выделяется видеопотоку, подлежащему использованию для видео кинофильма, значения от 0x1100 до 0x111F выделяются аудиопотокам, значения от 0x1200 до 0x121F выделяются потокам презентационной графики, значения от 0x1400 до 0x141F выделяются потокам интерактивной графики, значения от 0x1B00 до 0x1B1F выделяются видеопотокам, подлежащим использованию для вторичного видео кинофильма, и значения от 0x1A00 до 0x1A1F выделяются аудиопотокам, подлежащим использованию для вторичного видео, подлежащего смешиванию с первичным аудио.
[0267] Фиг. 26 схематически иллюстрирует мультиплексирование данных. Прежде всего, видеопоток ex235 состоящий из кадров видео, и аудиопоток ex238, состоящий из кадров аудио, преобразуются в поток пакетов PES ex236 и поток пакетов PES ex239 и, дополнительно, в пакеты TS ex237 и пакеты TS ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток пакетов PES ex242 и поток пакетов PES ex245 и, дополнительно, в пакеты TS ex243 и пакеты TS ex246, соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.
[0268] Фиг. 27 более подробно иллюстрирует, как видеопоток сохраняется в потоке пакетов PES. Первая полоска на фиг. 27 демонстрирует поток кадров видео в видеопотоке. Вторая полоска демонстрирует поток пакетов PES. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на фиг. 27, видеопоток делится на изображения, а именно, I-изображения, B-изображения и P-изображения, каждое из которых является единицей презентации видео, и изображения хранятся в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и в заголовке PES хранятся метка времени презентации (PTS), указывающая время отображения изображения, и метка времени декодирования (DTS), указывающая время декодирования изображения.
[0269] Фиг. 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.
[0270] Каждый из пакетов TS, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и пр., но и таблицу ассоциаций программы (PAT), таблицу карт программы (PMT) и временную отметку программы (PCR). PAT указывает, какой PID указан в PMT, используемой в мультиплексированных данных, и PID самой PAT регистрируется как нуль. В PMT хранятся PID потоков видео, аудио, субтитров и пр., включенные в мультиплексированные данные, и информация атрибутов потоков, соответствующих PID. PMT также имеют различные описатели, относящиеся к мультиплексированным данным. Описатели имеют такую информацию, как информация контроля копирования, указывающая, разрешено ли копирование мультиплексированных данных. В PCR хранится информация времени STC, соответствующая ATS, указывающему, когда пакет PCR переносится на декодер, для достижения синхронизации между отсчетом времени прихода (ATC), который представляет собой временную ось ATS, и отсчетом системного времени (STC), который представляет собой временную ось PTS и DTS.
[0271] Фиг. 29 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается в верхней части PMT. Заголовок PMT описывает длину данных, включенных в PMT и пр. Множество описателей, относящихся к мультиплексированным данным, располагается после заголовка PMT. В описателях описана такая информация, как информация контроля копирования. После описателей, располагается множество фрагментов информации потока, относящихся к потокам, включенным в мультиплексированные данные. Каждый фрагмент информации потока включает в себя описатели потока, каждый из которых описывает такую информацию, как тип потока для идентификации сжимающего кодека потока, PID потока и информацию атрибутов потока (например, частоту кадров или аспектное отношение). Количество описателей потока равно количеству потоков в мультиплексированных данных.
[0272] При записи мультиплексированных данных на носитель записи и пр., они записываются совместно с информационными файлами мультиплексированных данных.
[0273] Каждый из информационных файлов мультиплексированных данных является информацией управления мультиплексированных данных, как показано на фиг. 30. Информационные файлы мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту записей.
[0274] Как показано на фиг. 30, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость переноса, с которой системный целевой декодер, который будет описан ниже, переносит мультиплексированные данные на фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, задаются не превышающими системную скорость. Время начала воспроизведения указывает PTS в кадре видео в начале мультиплексированных данных. Интервал одного кадра прибавляется к PTS в кадре видео в конце мультиплексированных данных, и PTS устанавливается равной времени окончания воспроизведения.
[0275] Как показано на фиг. 31, фрагмент информации атрибутов регистрируется в информации атрибутов потока, для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов имеет разную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока несет информацию, указывающую, какого рода сжимающий кодек используется для сжатия видеопотока, и разрешение, аспектное отношение и частоту кадров фрагментов данных изображения, которые включены в видеопоток. Каждый фрагмент информации атрибутов аудиопотока несет информацию, указывающую, какого рода сжимающий кодек используется для сжатия аудиопотока, сколько каналов включено в аудиопоток, какой язык поддерживает аудиопоток, и насколько высока частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера до того, как проигрыватель станет воспроизводить информацию.
[0276] Согласно варианту осуществления 5, мультиплексированные данные, подлежащие использованию, относятся к типу потока, включенному в PMT. Кроме того, при записи мультиплексированных данных на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. В частности, способ кодирования движущихся изображений или устройство кодирования движущихся изображений, описанные в каждом из вариантов осуществления, включает в себя этап или блок для выделения уникальной информации, указывающей видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления, типу потока, включенный в PMT, или информации атрибутов видеопотока. Благодаря структуре, видеоданные, генерируемые способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в каждом из вариантов осуществления, можно отличать от видеоданных, которые согласуются с другим стандартом.
[0277] Кроме того, фиг. 32 иллюстрирует этапы способа декодирования движущихся изображений согласно варианту осуществления 5. На этапе exS100, тип потока, включенный в PMT, или информация атрибутов видеопотока, получается из мультиплексированных данных. Затем, на этапе exS101, определяется, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные генерируется способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления. Когда на этапе exS102 определено, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные генерируется способом кодирования движущихся изображений или устройством кодирования движущихся изображений в каждом из вариантов осуществления, тип потока или информация атрибутов видеопотока декодируется способом декодирования движущихся изображений в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывает согласование с общепринятыми стандартами, например, MPEG-2, MPEG4-AVC и VC-1, на этапе exS103, тип потока или информация атрибутов видеопотока декодируется способом декодирования движущихся изображений в соответствии с общепринятыми стандартами.
[0278] Таким образом, выделение нового уникального значения типу потока или информации атрибутов видеопотока позволяет определять, может ли способ декодирования движущихся изображений или устройство декодирования движущихся изображений, который/ое описан/о в каждом из вариантов осуществления, осуществлять декодирование. Даже после ввода мультиплексированных данных, которые согласуются с другим стандартом, можно выбирать надлежащий способ или устройство декодирования. Таким образом, появляется возможность декодировать информацию безо всякой ошибки. Кроме того, способ или устройство кодирования движущихся изображений или способ или устройство декодирования движущихся изображений согласно варианту осуществления 5 можно использовать в описанных выше устройствах и системах.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 6
[0279] Каждый/ое из способа кодирования движущихся изображений, устройства кодирования движущихся изображений, способа декодирования движущихся изображений и устройства декодирования движущихся изображений в каждом из вариантов осуществления обычно реализуется в форме интегральной схемы или большой интегральной схемы (БИС). В порядке примера БИС, фиг. 33 иллюстрирует конфигурацию БИС ex500, выполненной на одном кристалле. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и элементы соединены друг с другом шиной ex510. Блок ex505 питания активируется путем подачи мощности на каждый из элементов при включении блока ex505 питания.
[0280] Например, при осуществлении кодирования, БИС ex500 принимает AV-сигнал от микрофона ex117, камеры ex113 и пр. через устройство ex509 ввода/вывода AV под управлением блока ex501 управления, включающего в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков и блок ex512 управления рабочей частотой. Принятый AV-сигнал временно сохраняется во внешней памяти ex511, например SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на фрагменты данных согласно объему обработки и скорости для передачи на блок ex507 обработки сигнала. Затем блок ex507 обработки сигнала кодирует аудиосигнал и/или видеосигнал. При этом, кодирование видеосигнала представляет собой кодирование, описанное в каждом из вариантов осуществления. Кроме того, блок ex507 обработки сигнала иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и блок ex506 ввода/вывода потока выдает мультиплексированные данные. Выдаваемые мультиплексированные данные передаются на базовую станцию ex107 или записываются на носители ex215 записи. При мультиплексировании массивов данных, массивы данных должны временно храниться в буфере ex508, чтобы массивы данных синхронизировались друг с другом.
[0281] Хотя память ex511 является элементом, внешним по отношению к БИС ex500, она может входить в состав БИС ex500. Буфер ex508 не ограничивается одним буфером, но может состоять из буферов. Кроме того, БИС ex500 может быть выполнена на одном кристалле или множестве кристаллов.
[0282] Кроме того, хотя блок ex501 управления включает в себя ЦП ex502, контроллер ex503 памяти, контроллер ex504 потоков, блок ex512 управления рабочей частотой, конфигурация блока ex501 управления этим не ограничивается. Например, блок ex507 обработки сигнала может дополнительно включать в себя ЦП. Включение другого ЦП в блоке ex507 обработки сигнала может повышать скорость обработки. Кроме того, в порядке другого примера, ЦП ex502 может выступать в роли или входить в состав блока ex507 обработки сигнала и, например, может включать в себя блок обработки аудиосигнала. В таком случае, блок ex501 управления включает в себя блок ex507 обработки сигнала или ЦП ex502, включающий в себя часть блока ex507 обработки сигнала.
[0283] Здесь используется название БИС, но ее также можно именуемый ИС, системной БИС, супер-БИС или ультра-БИС в зависимости от степени интеграции.
[0284] Кроме того, пути достижения интеграции не ограничиваются БИС, и особая схема или процессор общего назначения и т.д. также позволяет обеспечивать интеграцию. С этой целью можно использовать вентильную матрицу, программируемую пользователем (FPGA), которая может быть запрограммирована после изготовления БИС, или переконфигурируемый процессор который допускает изменение конфигурации соединения или конфигурации БИС.
[0285] В будущем, с развитием полупроводниковой технологии, совершенно новый технология может заменить БИС. Функциональные блоки можно интегрировать с использованием такой технологии. Существует возможность применения настоящего изобретения к биотехнологии.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 7
[0286] При декодировании видеоданных способом кодирования движущихся изображений или устройством кодирования движущихся изображений описанный в каждом из вариантов осуществления, по сравнению с декодированием видеоданных, которые согласуются с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1, объем вычислений, вероятно, возрастает. Таким образом, БИС ex500 должна устанавливаться на более высокую рабочую частоту, чем ЦП ex502, который должен быть использован при декодировании видеоданных в соответствии с традиционным стандартом. Однако при установке более высокой рабочей частоты, существует проблема увеличения энергопотребления.
[0287] Для решения проблемы, устройство декодирования движущихся изображений, например телевизор ex300 и БИС ex500 выполнен/а с возможностью определения, с каким стандартом согласуются видеоданные, и переключения между рабочими частотами согласно определенному стандарту. Фиг. 34 иллюстрирует конфигурацию ex800 согласно варианту осуществления 7. Блок ex803 переключения рабочей частоты задает более высокую рабочую частоту, когда видеоданные генерируется способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в каждом из вариантов осуществления. Затем блок ex803 переключения рабочей частоты предписывает блоку ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные согласуются с традиционным стандартом, блок ex803 переключения рабочей частоты задает более низкую рабочую частоту, чем для видеоданных, генерируемых способом кодирования движущихся изображений или устройством кодирования движущихся изображений, описанным в каждом из вариантов осуществления. Затем блок ex803 переключения рабочей частоты предписывает блоку ex802 обработки декодирования, который согласуется с традиционным стандартом, декодировать видеоданные.
[0288] В частности, блок ex803 переключения рабочей частоты включает в себя ЦП ex502 и блок ex512 управления рабочей частотой, показанный на фиг. 33. При этом, каждый из блока ex801 обработки декодирования, который выполняет способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и блока ex802 обработки декодирования, который согласуется с традиционным стандартом, соответствует блоку ex507 обработки сигнала, показанному на фиг. 33. ЦП ex502 определяет, с каким стандартом согласуются видеоданные. Затем блок ex512 управления рабочей частотой определяет рабочую частоту на основании сигнала от ЦП ex502. Кроме того, блок ex507 обработки сигнала декодирует видеоданные на основании сигнала от ЦП ex502. Например, идентификационная информация, описанная в варианте осуществления 5, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничивается описанной в варианте осуществления 5, но может быть любой информацией, при условии, что информация указывает, с каким стандартом согласуются видеоданные. Например, когда, с каким стандартом согласуются видеоданные, можно определить на основании внешнего сигнала, для определения, что видеоданные используются для телевизора или диска и т.д., определение можно производить на основании такого внешнего сигнала. Кроме того, ЦП ex502 выбирает рабочую частоту на основании, например, поисковой таблицы, в которой стандарты видеоданных связаны с рабочими частотами, как показано на фиг. 36. Рабочую частоту можно выбирать с помощью поисковой таблицы, хранящейся в буфере ex508 и внутренней памяти БИС, к которой может обращаться ЦП ex502.
[0289] Фиг. 35 иллюстрирует этапы для выполнения способа согласно варианту осуществления 7. Прежде всего, на этапе exS200, блок ex507 обработки сигнала получает идентификационную информацию из мультиплексированных данных. Затем, на этапе exS201, ЦП ex502 определяет сгенерированы ли видеоданные на основании идентификационной информации способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления. Когда видеоданные генерируется способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления, на этапе exS202, ЦП ex502 передает сигнал для задания более высокой рабочей частоты на блок ex512 управления рабочей частотой. Затем блок ex512 управления рабочей частотой задает более высокую рабочую частоту. С другой стороны, когда идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1, на этапе exS203, ЦП ex502 передает сигнал для задания более низкой рабочей частоты на блок ex512 управления рабочей частотой. Затем блок ex512 управления рабочей частотой задает более низкую рабочую частоту, чем в случае, когда видеоданные генерируется способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления.
[0290] Кроме того, благодаря переключению рабочих частот, можно повысить энергосберегающий эффект путем изменения напряжения, подаваемого на БИС ex500 или устройство, включающее в себя БИС ex500. Например, при установлении более низкой рабочей частоты, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500 вероятно, устанавливается более низким, чем в случае, когда устанавливается более высокая рабочая частота.
[0291] Кроме того, при увеличении объема вычислений для декодирования, можно устанавливать более высокую рабочую частоту, и при уменьшении объема вычислений для декодирования, можно устанавливать более низкую рабочую частоту, согласно способу задания рабочей частоты. Таким образом, способ задания не ограничивается вышеописанными способами. Например, когда объем вычислений для декодирования видеоданных в соответствии с MPEG4-AVC больше объема вычислений для декодирования видеоданных, генерируемых способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, рабочая частота, вероятно, устанавливается в обратном порядке вышеописанной установке.
[0292] Кроме того, способ задания рабочей частоты не ограничивается способом задания более низкой рабочей частоты. Например, когда идентификационная информация указывает, что видеоданные генерируется способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно, устанавливается более высоким. Когда идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1, напряжение, подаваемое на БИС ex500 или устройство, включающее в себя БИС ex500, вероятно, устанавливается более низким. В порядке другого примера, когда идентификационная информация указывает, что видеоданные генерируется способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, работа ЦП ex502, вероятно, не должна приостанавливаться. Когда идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1, работа ЦП ex502, вероятно, приостанавливается на заданное время, поскольку ЦП ex502 имеет дополнительную производительность обработки. Даже когда идентификационная информация указывает, что видеоданные генерируется способом кодирования движущихся изображений и устройством кодирования движущихся изображений, описанными в каждом из вариантов осуществления, в случае, когда ЦП ex502 может иметь задержку по времени, работа ЦП ex502, вероятно, приостанавливается на заданное время. В таком случае, время приостановки, вероятно, устанавливается более коротким, чем в случае, когда идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1.
[0293] Соответственно, энергосберегающий эффект можно повысить путем переключения между рабочими частотами в соответствии со стандартом, с которым согласуются видеоданные. Кроме того, когда БИС ex500 или устройство, включающее в себя БИС ex500, возбуждается с использованием батареи, время работы батареи можно продлить благодаря энергосберегающему эффекту.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 8
[0294] Возможны случаи, когда множество видеоданных, согласующихся с разными стандартами, поступает на устройства и системы, например, телевизор и сотовый телефон. Для обеспечения возможности декодирования множества видеоданных, которое согласуется с разными стандартами, блок ex507 обработки сигнала БИС ex500 должен соответствовать разным стандартам. Однако проблемы увеличения масштаба схемы БИС ex500 и увеличения стоимости усугубляются с индивидуальным использованием блоков ex507 обработки сигнала, которые согласуются с соответствующими стандартами.
[0295] Для решения проблемы, предусмотрена конфигурация, в которой блок обработки декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, и блок обработки декодирования, который согласуется с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1, частично обобществлены. Ex900 на фиг. 37A демонстрирует пример конфигурации. Например, способ декодирования движущихся изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся изображений, который согласуется с MPEG4-AVC, имеют, частично общие, детали обработки, например статистическое кодирование, обратное квантование, противоблоковую фильтрацию и прогнозирование с компенсацией движения. Детали обработки, подлежащие обобществлению, вероятно, включают в себя использование блока ex902 обработки декодирования, который согласуется с MPEG4-AVC. Напротив, специализированный блок ex901 обработки декодирования, вероятно, используется для другой обработки, уникальной для настоящего изобретения. Поскольку настоящее изобретение характеризуется, в частности, арифметическим декодированием, для арифметического декодирования используется, например, специализированный блок ex901 обработки декодирования. В противном случае, блок обработки декодирования, вероятно, обобществляется для одного из обратного квантования, противоблоковой фильтрации и компенсация движения, или всей обработки. Блок обработки декодирования для реализации способа декодирования движущихся изображений, описанного в каждом из вариантов осуществления, может обобществляться для обработки, подлежащей обобществлению, и специализированный блок обработки декодирования может использоваться для обработки, уникальной для MPEG4-AVC.
[0296] Кроме того, ex1000 на фиг. 37B демонстрирует другой пример, в котором обработка частично обобществлена. Этот пример использует конфигурацию, включающую в себя специализированный блок ex1001 обработки декодирования, который поддерживает обработку, уникальную для настоящего изобретения, специализированный блок ex1002 обработки декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и блок ex1003 обработки декодирования, который поддерживает обработку, подлежащую обобществлению между способом декодирования движущихся изображений согласно настоящему изобретению и традиционным способом декодирования движущихся изображений. При этом специализированные блоки ex1001 и ex1002 обработки декодирования не обязательно являются специализированными для обработки настоящего изобретения и обработки традиционного стандарта, и могут быть способны осуществлять общую обработку. Кроме того, конфигурацию варианта осуществления 8 можно реализовать посредством БИС ex500.
[0297] Таким образом, уменьшение масштаба схемы БИС и снижение стоимости возможны благодаря совместному использованию блока обработки декодирования для обработки, подлежащей обобществлению между способом декодирования движущихся изображений согласно настоящему изобретению и способом декодирования движущихся изображений в соответствии с традиционным стандартом.
ПРОМЫШЛЕННОЕ ПРИМЕНЕНИЕ
[0298] Настоящее изобретение применимо к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений и устройству декодирования изображений, и, в частности, применим к способу кодирования изображений, способу декодирования изображений, устройству кодирования изображений и устройству декодирования изображений, которые используют арифметическое кодирование и арифметическое декодирование.
ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ПОЗИЦИЙ
[0299] 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 блок двоичного арифметического декодирования.