СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ
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) "Двоичное" означает представление символа с использованием двоичной последовательности. Символ, представленный множественным значением, один раз отображается в двоичную последовательность, называемую как "двоичная строка". Предсказанная вероятность (условная вероятность) переключается и используется для каждого из элементов последовательности, и возникновение одного из событий упомянутых двух значений представлено последовательностью битов. Соответственно, вероятностью значения можно управлять (инициализировать и обновлять) используя единицу (единицу двоичного элемента) меньшую, чем единица типа сигнала (см. Фиг. 2 и другие из NPL1).
[0006] (3) "Арифметическое" означает, что последовательность битов генерируется не со ссылкой на соответствия в таблице, а посредством вычисления. В схеме кодирования с использованием таблиц кодов с переменной длиной кодового слова, такой как H.263, MPEG-4, и H.264, даже каждое значение символа с вероятностью возникновения большей, чем 0,5 (50%), должно быть связано с одной двоичной последовательностью (последовательностью битов). Таким образом, значение с наибольшей вероятностью должно быть связано минимум с одним битом для одного символа. В отличие от этого, арифметическое кодирование может представлять возникновение события с большей вероятностью посредством целого числа, равного или меньшего, чем один бит. Когда (i) есть тип сигнала, при котором вероятность возникновения того, что имеется 0 в качестве первого двоичного значения, превышает 0,9 (90%) и (ii) событие, имеющее 0 в качестве первого двоичного значения, возникает N раз подряд, нет необходимости выводить данные 1 бита N раз для каждого значения "0".
[СПИСОК ЦИТИРУЕМОЙ ЛИТЕРАТУРЫ]
[НЕПАТЕНТНАЯ ЛИТЕРАТУРА]
[0007] [NPL1] Detlev Marpe, и другие, "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, том 13, № 7, июль 2003.
[NPL 2] Объединенная команда по видеокодированию (JCT-VC) ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 4ая встреча: Daegu, KR, 20-28 январь, 2011 "WD2: Working Draft 2 of High-Efficiency Video Coding", JCTVC-D503
http://wftp3.itu.int/av-arch/jctvc-site/2011_01_D_Daegu/JCTVC-D5 03.doc
[NPL 3] Объединенная команда по видеокодированию (JCT-VC) ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 4ая встреча: Daegu, KR, 20-28 январь, 2011, "Common test conditions and software reference configurations", JCTVC-E700
[NPL 4] Gisle Bjøntegaard, "Improvements of the BD-PSNR model", документ ITU-T SG16 Q.6, VCEG-AI11, Берлин, июль 2008.
[СУЩНОСТЬ ИЗОБРЕТЕНИЯ]
[ТЕХНИЧЕСКАЯ ПРОБЛЕМА]
[0008] При таком способе кодирования изображения и способе декодирования изображения, желательно, чтобы использование памяти (емкости памяти, которая должна быть использована) было уменьшено.
[0009] Здесь, настоящее изобретение имеет цель предоставления способа кодирования изображения или способа декодирования изображения, который может уменьшить использование памяти.
[РЕШЕНИЕ ПРОБЛЕМЫ]
[0010] Для того, чтобы достигнуть данной цели, способом декодирования изображения, согласно аспекту настоящего изобретения, является способ декодирования изображения с использованием арифметического декодирования, и данный способ включает в себя этапы, на которых: определяют контекст для использования в текущем блоке из числа множества контекстов; выполняют арифметическое декодирование в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и осуществляют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag", причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ]
[0011] Настоящее изобретение может предоставить способ кодирования изображения или способ декодирования изображения, который может уменьшить использование памяти.
[КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ]
[0012] Фиг. 1 является функциональной блок-схемой устройства кодирования изображения согласно варианту осуществления 1.
Фиг. 2 является функциональной блок-схемой блока кодирования с переменной длиной (кодового) слова согласно варианту осуществления 1.
Фиг. 3 является таблицей модели контекста параметра управления согласно варианту осуществления 1.
Фиг. 4 является схемой последовательности операций, указывающей способ арифметического кодирования согласно варианту осуществления 1.
Фиг. 5 является функциональной блок-схемой устройства декодирования изображения согласно варианту осуществления 2.
Фиг. 6 является функциональной блок-схемой блока декодирования с переменной длиной кодового слова согласно варианту осуществления 2.
Фиг. 7 является схемой последовательности операций, указывающей способ арифметического декодирования согласно варианту осуществления 2.
Фиг. 8 является схемой последовательности операций, указывающей модификацию способа арифметического декодирования согласно варианту осуществления 2.
Фиг. 9 иллюстрирует разбитые блоки (древовидную структуру) в соответствии с HEVC согласно варианту осуществления 2.
Фиг. 10 иллюстрирует многослойную структуру блока согласно варианту осуществления 2.
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12A является таблицей, указывающей результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 12B является таблицей, указывающей результат проверки в отношении split_coding_unit_flag согласно варианту осуществления 3.
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag согласно варианту осуществления 3.
Фиг. 14A является таблицей, указывающей результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 14B является таблицей, указывающей результат проверки в отношении skip_flag согласно варианту осуществления 3.
Фиг. 15 является таблицей, указывающей способ арифметического декодирования для inter_pred_flag согласно варианту осуществления 3.
Фиг. 16A является таблицей, указывающей результат проверки в отношении inter_pred_flag согласно варианту осуществления 3.
Фиг. 16B является таблицей, указывающей результат проверки в отношении inter_pred_flag согласно варианту осуществления 3.
Фиг. 17 иллюстрирует модели контекста, использующие значения параметров управления, соответствующих двум соседним блокам, согласно вариантам осуществления.
Фиг. 18 иллюстрирует увеличение использования памяти, когда используется блок сверху, согласно вариантам осуществления.
Фиг. 19 иллюстрирует общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 20 иллюстрирует общую конфигурацию системы цифрового вещания.
Фиг. 21 показывает блок-схему, иллюстрирующую пример конфигурации телевизора.
Фиг. 22 является блок-схемой, иллюстрирующей примерную конфигурацию блока воспроизведения/записи информации, который считывает и записывает информацию с и на носитель записи, которым является оптический диск.
Фиг. 23 иллюстрирует пример конфигурации носителя записи, которым является оптический диск.
Фиг. 24A иллюстрирует пример сотового телефона.
Фиг. 24B иллюстрирует блок-схему, показывающую пример конфигурации сотового телефона.
Фиг. 25 иллюстрирует структуру мультиплексированных данных.
Фиг. 26 схематично иллюстрирует как каждый поток мультиплексируется в мультиплексированных данных.
Фиг. 27 более подробно иллюстрирует как видеопоток хранится в потоке PES-пакетов.
Фиг. 28 иллюстрирует структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 29 иллюстрирует структуру данных PTM.
Фиг. 30 иллюстрирует внутреннюю структуру информации мультиплексированных данных.
Фиг. 31 иллюстрирует внутреннюю структуру информации атрибутов потока.
Фиг. 32 иллюстрирует этапы для идентификации видеоданных.
Фиг. 33 является блок-схемой, иллюстрирующей пример конфигурации интегральной схемы для реализации способа кодирования движущегося изображения и способа декодирования движущегося изображения согласно каждому из вариантов осуществления.
Фиг. 34 иллюстрирует конфигурацию для переключения между частотами возбуждения.
Фиг. 35 иллюстрирует этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 36 иллюстрирует пример таблицы поиска, в которой стандарты видеоданных связаны с частотами возбуждения.
Фиг. 37A иллюстрирует пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг. 37B иллюстрирует другой пример конфигурации для совместного использования модуля блока обработки сигналов.
[ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ]
[0013] (ЗНАНИЕ, НА КОТОРОМ ОСНОВАНО НАСТОЯЩЕЕ ИЗОБРЕТЕНИЕ)
Настоящие авторы изобретения обнаружили следующие проблемы.
[0014] При высокоэффективном кодировании видео (HEVC), которое является схемой кодирования видео следующего поколения, изучается модель контекста при кодировании и декодировании различных параметров управления (NPL 2). Параметр управления включен в кодированный битовый поток, и является параметром (флагом и т.д.), используемым при обработке кодирования и декодирования. Более конкретно, параметр управления является синтаксическим элементом.
[0015] Модель контекста является информацией, указывающей (i) какое условие учитывается для (ii) сигнала какой единицы (каждого элемента множественного значения, двоичного значения, двоичной последовательности (двоичной строки)). Здесь, "какое условие" указывает какое применяется условие с определенным числом условных элементов, или какой тип сигнала параметра управления, который должен быть учтен в качестве условия, является подходящим. По мере деления условий на меньшие категории, то есть, по мере увеличения числа условий τ, число случаев, которые справедливы для данных условий, уменьшается. В результате, так как число обучений уменьшается, точность предсказанной вероятности уменьшается (например, см. "эффект размывания" в NPL 1).
[0016] К тому же, уменьшение числа условий указывает отсутствие учета контекста (окружающих условий), и отсутствие адаптивности к статистическим вариациям.
[0017] При проектировании модели контекста, после определения норм для проектирования модели, необходимо учитывать достоверность модели посредством проведения проверок, специализированных для изображения, таких как проверки статистических вариаций в деталях изображения и в параметре управления для управления кодированием и декодированием изображения.
[0018] В H.264, использование усовершенствованных событий ограниченного числа для кодирования символа является критерием правила, и модели контекста классифицируются на четыре основных типа проектных решений.
[0019] Первый и второй типы относятся к кодированию и декодированию параметра управления.
[0020] Первая модель контекста использует кодированные значения до двух соседних кодированных значений (см. NPL 1). Хотя определение двух соседних кодированных значений зависит от каждого типа сигнала, обычно используются значения соответствующих параметров управления, включенных в соседние блоки слева и сверху от текущего блока.
[0021] Вторым типом моделей контекста является тип для определения контекста на основе двоичного дерева в качестве вероятности возникновения. Более конкретно, второй тип моделей контекста применяется к параметрам управления mb_type и sub_mb_type.
[0022] Третий и четвертый типы моделей контекста относятся к кодированию и декодированию остаточных значений (остаточных данных), таких как данные изображения. Третий тип использует только прошлые кодированные и декодированные значения в порядке сканирования частотных коэффициентов (или квантованных коэффициентов). Четвертый тип определяет контекст согласно декодированным и накопленным значениям (уровням).
[0023] Преимущества принципа проектирования и реализации вероятностной модели переходов в H.264, такой как первый тип, были давно изучены и будут применены к HEVC, которое изучается (см. NPL2). Например, первый тип (модель контекста, использующая соседние синтаксические элементы) изучается на предмет использования для параметров управления alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, intra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1, mvd_lc, no_residual_data_flag, cbf_luma, cbf_cb, и cbf_cr (см. 9.3.3.1.1 NPL 2).
[0024] Однако, настоящие авторы изобретения обнаружили, что существует проблема в использовании памяти при кодировании с использованием "модели контекста, использующей два соседних блока" первого типа.
[0025] Фиг. 17 иллюстрирует модели контекста, использующие значения параметров управления, соответствующих двум соседним блокам. [0031] К тому же, Фиг. 17 иллюстрирует модели контекста, использующие соседние блоки в H.264.
[0026] Блок C на Фиг. 17 включает в себя значение параметра SE управления, которое в текущий момент должно быть кодировано или декодировано. Когда кодируется значение параметра SE управления, используются значения параметров управления SE того же типа, включенные в блок A сверху и блок B слева, которые уже кодированы. Более конкретно, вероятность p(x), указывающая составляет ли значение x параметра SE управления блока C (или первое двоичное значение двоичной строки параметра SE управления) 1 или 0, предсказывается на основе условной вероятности p(x|(условие A (значение блока сверху) и условие В (значение блока слева)) с использованием, в качестве условий, значения параметра SE управления блока A сверху и значения параметра SE управления блока B слева.
[0027] Фиг. 18 иллюстрирует увеличение использования памяти, когда используется блок сверху.
[0028] На Фиг. 18 (xP, yP) является положением пикселя сверху слева единицы предсказания (PU, единицы предсказания движения), включающей в себя блок C. Здесь, блок C является блоком, включающим в себя параметр управления (например, skip_flag), который должен быть кодирован в текущий момент. К тому же, (xP, yA) на Фиг. 18 является положением пикселя, который включен в блок B и используется в качестве условия A (значения параметра управления skip_flag блока сверху). К тому же, (xL, yP) на Фиг. 18 является положением пикселя, который включен в блок A и используется в качестве условия B (значения параметра управления skip_flag блока слева).
[0029] Для того, чтобы кодировать или декодировать значение параметра управления skip_flag блока C, устройство кодирования или устройство декодирования должно удерживать значение skip_flag для PU (или результат определения условия), соответствующее положению (xP, yA), включенному в блок B сверху, и положению (xL, yP), включенному в блок A слева. Предполагая, что картинка имеет горизонтальную ширину 4096 пикселей, для того, чтобы кодировать один параметр управления skip_flag, необходимо удерживать все значения определения, включенные в верхний ряд (строка L на Фиг. 18). Другими словами, одному параметру управления нужна емкость памяти, полученная за счет размера 4096 пикселей/блока.
[0030] Здесь блок C, который должен быть кодирован, имеет переменные размеры, например, 64 x 64, 16 x 16 или 4 x 4. К тому же, размер блока для блока C, который должен быть кодирован или декодирован позднее, не может быть предсказан, когда кодируются или декодируются блоки в верхнем ряду (строка L), включающие в себя (xP, xA). Это потому, что размер каждого из блоков в нижнем ряду (ряду, включающем в себя блок C) не известен, когда кодируется или декодируется верхний ряд (ряд, включающий в себя блок A). Таким образом, устройство кодирования или устройство декодирования должно удерживать значение параметра управления (или значение определения) для каждого минимального размера блока, предполагая, что наименьший размер блока из числа всех размеров, применяемых к параметрам управления, используется в качестве размера блока нижнего ряда. Положения черных кругов на Фиг. 18 указывают условия, которые должны быть соблюдены, хотя условные значения в действительности не являются необходимыми, когда кодируется или декодируется нижний ряд (ряд, включающий в себя блок C).
[0031] К тому же, два соседних блока на Фиг. 18 (блок A слева и блок B сверху) следуют концепции соседних блоков в H.264, и новая перспектива по делению иерархических блоков не вводится. Как описано ниже, есть случаи, когда такие условные значения, на которые должны ссылаться на Фиг. 18, не всегда имеют смысл для параметров управления, адаптированных для рекурсивного разбиения на четыре квадрата, которое должно быть введено в HEVC, так как параметры управления следуют рекурсивному порядку управления, иерархической глубине или положениям блоков.
[0032] В этой связи, настоящие авторы изобретения обнаружили, что использование памяти увеличивается посредством использования условных значений верхних блоков при выполнении арифметического кодирования или декодирования параметров управления. К тому же, настоящие авторы изобретения обнаружили, что использование памяти дополнительно увеличивается в HEVC.
[0033] В отличие от этого, способом декодирования изображения, согласно аспекту настоящего изобретения, является способ декодирования изображения с использованием арифметического декодирования, и данный способ включает в себя этапы, на которых: определяют контекст для использования в текущем блоке из числа множества контекстов; выполняют арифметическое декодирование в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и осуществляют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0034] При данной структуре, способ декодирования изображения может уменьшить использование памяти. Более конкретно, в способе декодирования изображения, так как параметр управления блока сверху не используется для параметра управления второго типа, нет необходимости удерживать (хранить) параметр управления второго типа блока сверху. При данной структуре, по сравнению со случаем, когда блок слева и блок сверху используются в качестве единообразного "использования модели контекста на основе значений параметров управления соседних блоков", использование памяти может быть уменьшено согласно способу декодирования изображения. К тому же, способ декодирования изображения может соответствующим образом уменьшить использование памяти параметра управления второго типа без, например, потери возможности оценки BD-показателя изображения.
[0035] К тому же, согласно способу декодирования изображения, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не учитывается в традиционном H.264 и является уникальной для нового стандарта HEVC. В качестве альтернативы, может быть выполнена ссылка на память.
[0036] К тому же, второе условие может быть условием, что декодированные параметры управления блока слева и блока сверху не используются.
[0037] При данной структуре, способ декодирования изображения может уменьшить использование памяти за счет неиспользования параметра управления блока слева в дополнение к параметру управления блока сверху.
[0038] К тому же, при определении контекста, предварительно определенный контекст может быть определен при втором условии, в качестве контекста для использования в арифметическом декодировании текущего блока, когда тип сигнала является вторым типом.
[0039] При данной структуре, способ декодирования изображения может уменьшить объем обработки.
[0040] К тому же, контекст может быть определен при втором условии согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока, когда тип сигнала является вторым типом.
[0041] При данной структуре, способ декодирования изображения может выбрать подходящий контекст, в то же время уменьшая использование памяти.
[0042] К тому же, определение контекста может дополнительно включать в себя: определение того, доступен ли при декодировании декодированный параметр управления блока сверху или нет, на основе положения текущего блока; и определение контекста при втором условии, когда декодированный параметр управления блока сверху не доступен.
[0043] При данной структуре, способ декодирования изображения может уменьшить объем обработки.
[0044] К тому же, при определении контекста, может быть определено, что декодированный параметр управления блока сверху не доступен при декодировании, когда текущий блок находится на границе фрагмента (вырезки).
[0045] К тому же, при определении контекста, может быть определено, доступен ли декодированный параметр управления блока сверху при декодировании или нет, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
[0046] К тому же, вторым типом может быть параметр управления, имеющий предварительно определенную структуру данных.
[0047] К тому же, определение контекста может дополнительно включать в себя определение контекста параметра управления второй единицы, меньшей, чем первая единица, посредством переключения между первым условием и вторым условием, на основе параметра управления первой единицы.
[0048] К тому же, "split_coding_unit_flag" может указывать разбит ли текущий блок на множество блоков или нет, "skip_flag" может указывать должен ли быть пропущен текущий блок или нет, и “inter_pred_flag” может указывать одно из унипредсказания и бипредсказания, которое должно быть использовано для текущего блока.
[0049] К тому же, процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом могут переключаться согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включен в кодированный сигнал, и определение контекста, выполнение и осуществление обратной бинаризации может быть выполнено как процессы декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
[0050] К тому же, способом кодирования изображения, согласно аспекту настоящего изобретения, является способ кодирования изображения с использованием арифметического кодирования, и данный способ включает в себя этапы, на которых: осуществляют бинаризацию параметра управления текущего блока, чтобы сгенерировать двоичную последовательность; определяют контекст для использования в текущем блоке из числа множества контекстов; и выполняют арифметическое кодирование в отношении двоичной последовательности с использованием определенного контекста, чтобы сгенерировать последовательность битов, при этом определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определение контекста при втором условии, что параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0051] При данной структуре, способ кодирования изображения может уменьшить использование памяти. Более конкретно, в способе кодирования изображения, так как параметр управления блока сверху не используется для параметра управления второго типа, нет необходимости удерживать параметр управления второго типа блока сверху. При данной структуре, по сравнению со случаем, когда блок слева и блок сверху используются в качестве единообразного "использования модели контекста на основе значений параметров управления соседних блоков", использование памяти может быть уменьшено согласно способу кодирования изображения. К тому же, способ кодирования изображения может соответствующим образом уменьшить использование памяти параметра управления второго типа без, например, потери возможности оценки BD-показателя изображения.
[0052] К тому же, согласно способу кодирования изображения, может быть использован контекст, подходящий для иерархической древовидной структуры, которая является структурой данных, которая не учитывается в традиционном H.264 и является уникальной для нового стандарта HEVC. В качестве альтернативы, может быть выполнена ссылка на память.
[0053] К тому же, устройством декодирования изображения, согласно аспекту настоящего изобретения, является устройство декодирования изображения, использующее арифметическое декодирование, и данное устройство включает в себя: блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке из числа множества контекстов; блок арифметического декодирования, выполненный с возможностью выполнения арифметического декодирования в отношении последовательности битов, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем последовательность битов получена посредством выполнения арифметического кодирования в отношении параметра управления текущего блока; и блок обратной бинаризации, выполненный с возможностью осуществления обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, при этом блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определения контекста при втором условии, что декодированный параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0054] При данной конфигурации, устройство декодирования изображения может уменьшить использование памяти.
[0055] К тому же, устройством кодирования изображения, согласно аспекту настоящего изобретения, является устройство кодирования изображения, использующее арифметическое кодирование, и данное устройство включает в себя: блок бинаризации, выполненный с возможностью осуществления бинаризации параметра управления текущего блока, чтобы сгенерировать двоичную последовательность; блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке из числа множества контекстов; и блок арифметического кодирования, выполненный с возможностью выполнения арифметического кодирования в отношении двоичной последовательности с использованием определенного контекста, чтобы сгенерировать последовательность битов, при этом блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала является первым типом, причем соседними блоками являются блок слева и блок сверху для текущего блока; и определения контекста при втором условии, что параметр управления блока сверху не используется, когда тип сигнала является вторым типом, отличным от первого типа, причем первым типом является один из "split_coding_unit_flag" и "skip_flag", и вторым типом является "inter_pred_flag".
[0056] При данной конфигурации, устройство кодирования изображения может уменьшить использование памяти.
[0057] К тому же, устройством кодирования и декодирования изображения, согласно аспекту настоящего изобретения, является устройство кодирования и декодирования изображения, включающее в себя устройство декодирования изображения и устройство кодирования изображения.
[0058] Основные или конкретные аспекты могут быть реализованы посредством системы, способа, интегральной микросхемы, компьютерной программы или носителя записи, или посредством произвольной комбинации системы, способа, интегральной микросхемы, компьютерной программы и носителя записи.
[0059] Устройство декодирования изображения и устройство кодирования изображения, согласно аспекту настоящего изобретения, будут конкретно описаны со ссылкой на чертежи.
[0060] Варианты осуществления, описанные в дальнейшем, указывают конкретные примеры настоящего изобретения. Значения, формы, материалы, составляющие элементы, положения и соединения составляющих элементов, этапы и порядок этапов, указанные в вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составляющие элементы в вариантах осуществления, которые не описаны в независимых пунктах формулы изобретения, которые описывают наиболее общую идею настоящего изобретения, описаны как произвольные составляющие элементы.
[0061] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1)
Будет описано устройство кодирования изображения согласно варианту осуществления 1 настоящего изобретения. Устройство кодирования изображения согласно варианту осуществления 1 определяет контекст посредством переключения между (1) использованием блока сверху и (2) неиспользованием блока сверху, согласно типу сигнала параметра управления при арифметическом кодировании. При данной структуре, ухудшение качества изображения может быть подавлено, и использование памяти может быть уменьшено.
[0062] Сначала будет описана конфигурация устройства кодирования изображения согласно варианту осуществления 1.
[0063] На Фиг. 1 является блок-схемой, иллюстрирующей устройство 100 кодирования изображения согласно варианту осуществления 1.
[0064] Устройство 100 кодирования изображения на Фиг. 1 является устройством кодирования изображения, использующим арифметическое кодирование, и кодирует входной сигнал 121 изображения, чтобы сгенерировать битовый поток 124. Устройство 100 кодирования изображения включает в себя блок 101 управления, блок 102 вычитания, блок 103 преобразования и квантования, блок 104 кодирования с переменной длиной кодового слова, блок 105 обратного квантования и обратного преобразования, блок 106 сложения, блок 107 внутреннего (intra) предсказания, блок 108 внешнего (inter) предсказания и переключатель 109.
[0065] Блок 101 управления вычисляет параметр 130 управления на основе входного сигнала 121 изображения, который должен быть кодирован. Например, параметр 130 управления включает в себя информацию о типе картинки входного сигнала 121 изображения, который должен быть кодирован, размере единицы предсказания движения (единицы предсказания, PU) текущего блока, который должен быть кодирован, и об управляющей информации единицы предсказания движения. Здесь, параметр 130 управления (данные управления) сам по себе должен быть кодирован. Таким образом, блок 101 управления выводит параметр 130 управления в блок 104 кодирования с переменной длиной кодового слова.
[0066] Блок 102 вычитания вычисляет остаточный сигнал 122, который является разностью (остаточным значением) между входным сигналом 121 изображения и сигналом 129 предсказания изображения на основании единицы блока.
[0067] Блок 103 преобразования и квантования преобразует остаточный сигнал 122 в значения частотных коэффициентов и квантует полученные значения частотных коэффициентов в квантованные коэффициенты 123 преобразования (остаточные данные).
[0068] Блок 105 обратного квантования и обратного преобразования осуществляет обратное квантование квантованных коэффициентов 123 преобразования в значения частотных коэффициентов и осуществляет обратное преобразование полученных значений частотных коэффициентов в реконструированный остаточный сигнал 125.
[0069] Блок 106 сложения прибавляет остаточный сигнал 125 к сигналу 129 предсказания изображения и выводит реконструированный сигнал 126 изображения.
[0070] Блок 107 внутреннего предсказания выполняет внутреннее предсказание с использованием реконструированного сигнала 126 изображения, чтобы сгенерировать сигнал 127 предсказания изображения. Блок 108 внешнего предсказания выполняет внешнее предсказание с использованием реконструированного сигнала 126 изображения, чтобы сгенерировать сигнал 128 предсказания изображения.
[0071] Переключатель 109 выбирает один из сигнала 127 предсказания изображения и сигнала 128 предсказания изображения и выводит выбранный сигнал в качестве сигнала 129 предсказания изображения.
[0072] Блок 104 кодирования с переменной длиной кодового слова кодирует, с использованием CABAC, квантованные коэффициенты 123 преобразования и параметр 130 управления для каждого входного блока, чтобы сгенерировать битовый поток 124.
[0073] Далее, будет описана конфигурация блока 104 кодирования с переменной длиной кодового слова.
[0074] Фиг. 2 является функциональной блок-схемой блока 104 кодирования с переменной длиной кодового слова. Блок 104 арифметического кодирования включает в себя блок 141 бинаризации, блок 142 управления контекстом и блок 143 двоичного арифметического кодирования. Нижеследующее описывает процесс кодирования с переменной длиной кодового слова в отношении параметра 130 управления. Хотя описание процесса кодирования с переменной длиной кодового слова в отношении квантованных коэффициентов 123 преобразования опущено, процесс может быть реализован, например, с использованием известного метода.
[0075] Блок 141 бинаризации осуществляет бинаризацию параметра 130 управления, чтобы сгенерировать двоичную последовательность 151. Более конкретно, блок 141 бинаризации является блоком обработки "II.1) обработка бинаризации" согласно NPL 1. Блок 141 бинаризации преобразует параметр 130 управления в двоичную последовательность 151, называемую "двоичной строкой", для каждого типа сигнала, согласно предварительно определенному способу бинаризации. Соответствие между типами сигналов и способами бинаризации будет описано ниже по тексту. Когда входным параметром 130 управления является одно бинарное значение, такое как флаг, блок 141 бинаризации выводит параметр 130 управления в виде двоичной последовательности 151 как она есть.
[0076] Блок 142 управления контекстом определяет контекст для использования в арифметическом кодировании параметра 130 управления, включенного в текущий блок, который должен быть обработан, из числа множества контекстов (таблицы состояний вероятности). К тому же, блок 142 управления контекстом выводит индекс 152 контекста, точно определяющий определенный контекст, в блок 143 двоичного арифметического кодирования.
[0077] Более конкретно, блок 142 управления контекстом является блоком обработки, который выполняет "2) моделирование контекста" согласно NPL 1. Блок 142 управления контекстом последовательно принимает множество элементов, включенных в двоичную последовательность 151, выводимую из блока 143 двоичного арифметического кодирования. Блок 142 управления контекстом выбирает один из контекстов, которые должны быть использованы для двоичного элемента параметра 130 управления, согласно типу сигнала параметра 130 управления и положению элемента двоичного элемента в двоичной последовательности 151, и выводит, в блок 143 двоичного арифметического кодирования, индекс 152 контекста, который является индексом, указывающим выбранный контекст.
[0078] К тому же, блок 142 управления контекстом удерживает таблицу состояний вероятности из значений (значений индекса контекста), полученных посредством разделения элементов в двоичной последовательности параметра 130 управления на условия условных вероятностей, в качестве состояний контекста, и инициализирует и обновляет таблицу состояний вероятности.
[0079] К тому же, блок 142 управления контекстом удерживает состояние (индекс состояния вероятности) для каждого возникновения условия τ (для каждого контекста), в качестве дополнительного разделения типа сигнала (для каждого числа элемента в двоичной последовательности параметра 130 управления, когда число элементов в двоичной последовательности составляет два или больше; то же самое будет применимо в дальнейшем). Состояние представлено в общем 7-битным значением посредством объединения вероятности возникновения P (внутреннее соотношение, обычно, 6-битное значение), которая является более низкой вероятностью одного из двух значений 0 и 1, и 1-битного значения, указывающего, какое из значений имеет более высокую вероятность. К тому же, удержание состояния означает инициализацию и обновление состояния. Например, обновление соответствует изменению индексирования, которое указывает текущее состояние вероятности (то есть, вероятность) в качестве смены среди 64 конечных состояний как в H.264.
[0080] Когда возникает событие X с наиболее вероятной стороны, имеющее наивысшую вероятность между двумя значениями, соотношение вероятностей с наиболее вероятной стороны немного увеличивается. Например, блок 142 управления контекстом может немного увеличить соотношение вероятности с наиболее вероятной стороны посредством повышения или понижения, на 1, значения индекса состояния вероятности, соответствующего 64 таблицам. С другой стороны, когда возникает событие не X, имеющее более низкую вероятность (по сравнению с предсказанной вероятностью), блок 142 управления контекстом сильно уменьшает соотношение удерживаемой наиболее вероятной вероятности на основе предварительно определенного масштабного коэффициента a (например, ≈ 0,95) (см. Фиг. 6 по NPL 1). Блок 142 управления контекстом согласно варианту осуществления 1 меняет и удерживает состояние, на основе соответствующего значения изменения индекса таблицы, так чтобы было связано с изменением с учетом a, как в H.264.
[0081] Блок 143 двоичного арифметического кодирования выполняет арифметическое кодирование в отношении двоичной последовательности 151 с использованием контекста, определенного блоком 142 управления контекстом, чтобы сгенерировать битовый поток 124 (последовательность битов).
[0082] Более конкретно, блок 143 двоичного арифметического кодирования является блоком обработки, который выполняет "3) двоичное арифметическое кодирование" согласно NPL 1. Блок 143 двоичного арифметического кодирования выполняет арифметическое кодирование в отношении двоичной последовательности 151 с использованием контекста, точно определенного индексом 152 контекста, чтобы сгенерировать битовый поток 124. Здесь, арифметическое кодирование служит для обработки событий, возникающих для параметров 130 управления различных типов сигналов, как накопленной суммы вероятностей, и определения соответствий между событиями посредством сужения диапазона до предварительно определенного диапазона на одной числовой прямой.
[0083] Сначала, блок 143 двоичного арифметического кодирования разделяет одну числовую прямую на две полусекции, согласно вероятностям возникновения двух возможных значений двоичного элемента, поданного из блока 142 управления контекстом. Когда действительное значение, возникающее для двоичного элемента (например, 0), является значением с более высокой вероятностью (превышающей 0,5 (например, 0,75)), блок 143 двоичного арифметического кодирования поддерживает нижнее ограничение "низким" в диапазоне на числовой прямой без изменения, и задает значение, соответствующее результату умножения один раз масштабного коэффициента 0,95 на вероятность 0,75 на этот раз, для нового диапазона. С другой стороны, когда действительно сгенерированное двоичное значение является предсказанным значением с более низкой вероятностью, блок 143 двоичного арифметического кодирования смещает нижнее ограничение "низкое" на более высокую вероятность и изменяет диапазон согласно более низкой вероятности. Секции удерживаются согласно накопленной сумме результатов умножений диапазонов вероятности. Когда последовательно возникает значение с более низкой вероятностью, точность длины диапазона становится скорее более низкой, чем точность, которая может быть гарантирована вычислением. Здесь, блок 143 двоичного арифметического кодирования расширяет (перенормирует) диапазон для поддержания точности и выводит последовательность битов, указывающую текущий диапазон. И наоборот, когда последовательно возникает значение с более высокой вероятностью (0,95 и т.д.), значения вероятности могут перенести некоторое число вычислений (переходов состояния в случае реализации посредством таблицы) пока длина диапазона не станет короче, чем предварительно определенная длина, даже при умножении данных значений. Таким образом, число символов, которые могут быть накоплены пока не выведен бит, является большим.
[0084] Фиг. 3 является таблицей, в которой отсортированы параметры 130 управления, где каждое использует модель контекста, основанную на значении параметра 130 управления соседнего блока.
[0085] Значение каждого столбца будет описано с левой стороны таблицы.
[0086] (c2) Тип сигнала (синтаксический элемент) указывает конкретное имя типа сигнала параметра 130 управления. Значение каждого из типов сигнала будет описано позднее.
[0087] (c3) Схема бинаризации указывает схему бинаризации, которая должна быть применена к параметру 130 управления (SE), точно определенному в непосредственно левом столбце. Блок 141 бинаризации выполняет процесс бинаризации. В данном столбце, "фиксированная длина" означает, что блок 141 бинаризации выводит значение параметра 130 управления в непосредственно левой секции как двоичную последовательность (двоичную строку) фиксированной длины. В HEVC, тип сигнала параметра 130 управления, чье имя заканчивается на "flag", является одним двоичным значением либо 0, либо 1. Таким образом, блок 141 бинаризации выводит только первый элемент (binIdx=0) в виде элемента двоичной последовательности 151 и не выводит элементы после второго элемента (binIdx>=1). Другими словами, блок 141 бинаризации выводит значение параметра 130 управления в виде двоичной последовательности 151 как она есть.
[0088] К тому же, "переменная длина" в данном столбце означает, что блок бинаризации отображает, в двоичную последовательность, значение параметра 130 управления с использованием двоичных последовательностей с соответствующими переменными длинами, чьи значения связаны, чтобы иметь двоичные длины в возрастающем порядке частот возникновения (двоичная строка или двоичные последовательности, каждая с числом элементов ≥ 1), и выводит двоичную последовательность. Например, блок 141 бинаризации использует и выводит схему согласно типу сигнала, такую как (усеченную) унарную схему, и комбинацию унарной и других схем экспоненциального Голомба (см. "A. Binarization" из NPL 1). В случае "переменной длины", число элементов двоичной последовательности 151 иногда ограничено до 1, или является равным или больше, чем 2. Блок обратной бинаризации в устройстве декодирования изображения, которое будет описано ниже по тексту, выполняет преобразование, обратное схеме бинаризации, чтобы реконструировать входную двоичную последовательность в множественное значение или значение флага.
[0089] Касательно (c4) индекса контекста первого элемента (binIdx=0), блок 142 управления контекстом указывает выбор индекса контекста (приращение), который должен быть применен к первому элементу, включенному в двоичную последовательность, сгенерированную согласно схеме бинаризации, точно определенной в столбце c3. В данном столбце, "0, 1, 2" указывает, что блок 142 управления контекстом выбирает и применяет одну из трех таблиц состояний вероятности (контекстов). Например, три индекса контекстов с подробными условиями подготовлены для одного типа сигнала "skip_flag", то есть, подготовлены три контекста, и выполняется арифметическое кодирование в отношении индексов контекстов.
[0090] Аналогично, "0, 1, 2, 3" в столбце c4 указывает, что контекст, который должен быть применен к первому элементу (binIdx=0), включенному в двоичную последовательность 151, выбран из числа одного из четырех значений, либо 0, либо 1, либо 2, либо 3. Двоичная последовательность 151, получена посредством отображения, в двоичную последовательность, значения параметра 130 управления типа сигнала, точно определенного в столбце c2, согласно схеме бинаризации в столбце c3. Эти условные выражения в данном столбце будут описаны ниже по тексту.
[0091] Касательно (c5) условия L блока слева (condL), блок 142 управления контекстом указывает условие блока слева для выбора одного из 0, 1 и 2 в столбце c4. Условие L блока слева имеет значение "истина" или "ложь", определенное согласно значению параметра управления блока слева, соответствующего параметру управления, который должен быть кодирован (или должен быть декодирован).
[0092] Например, в случае, когда параметром управления (SE) является skip_flag, условие L блока слева имеет значение "истина", когда skip_flag[xL][yL] указывает "истина" (например, 1), и имеет значение "ложь", когда он указывает "ложь" (например, 0).
[0093] Касательно (c6) условия A блока сверху, блок 142 управления контекстом указывает условие блока сверху для выбора одного из 0, 1 и 2 при кодировании и декодировании элементов последовательности, точно определенной в столбце c4. Условие A блока сверху имеет значение "истина" или "ложь", определенное согласно значению параметра управления блока сверху, соответствующего параметру управления, который должен быть кодирован (или должен быть декодирован). Например, в случае, когда параметром управления (SE) является skip_flag, условие A блока сверху имеет значение "истина", когда skip_flag[xA][yA] указывает "истина" (например, 1), и имеет значение "ложь", когда он указывает "ложь" (например, 0).
[0094] Хотя не проиллюстрировано, тип сигнала из более, чем двух битов, связан с "(c7) приращением контекста, которое должно быть применено к binIdx>=1". Этот (c7) указывает модель контекста, применяемую блоком 142 управления контекстом к двоичному элементу после второго элемента в двоичной последовательности (двоичному значению элемента двоичной последовательности, включающему в себя значение индекса binIdx>=1).
[0095] В способе кодирования по варианту осуществления 1, следующие операции переключаются согласно типу сигнала параметра 130 управления для условия L блока слева и условия A блока сверху (оперируют с использованием разных шаблонов):
[0096] (Шаблон 1) Используя два соседних блока (значение определения условия L блока слева и значение определения условия A блока сверху);
[0097] (Шаблон 2) Используя один соседний блок (только значение определения условия L блока слева); и
[0098] (Шаблон 3) Используя нулевой соседний блок (не используя ни значение определения условия L блока слева, ни значение определения условия A блока сверху).
[0099] Фиг. 4 является схемой последовательности операций, указывающей способ кодирования изображения согласно варианту осуществления 1, который выполняется блоком 104 кодирования с переменной длиной кодового слова на Фиг. 2.
[0100] Сначала, блок 141 бинаризации отображает значение параметра 130 управления в двоичную последовательность согласно схеме, соответствующей типу сигнала параметра 130 управления (S101).
[0101] Далее, блок 142 управления контекстом получает базовое значение контекста для использования в арифметическом кодировании параметра 130 управления (S102). Например, блок 142 управления контекстом определяет базовое значение согласно типу картинки (I, P или B).
[0102] Далее, блок 142 управления контекстом определяет значение контекста с использованием одного из шаблонов с 1 по 3, на основе типа сигнала параметра 130 управления (S103). Здесь, определение контекста эквивалентно определению регулировочного значения (значения приращения CtxIdxInc) для базового значения контекста.
[0103] Сначала, блок 142 управления контекстом определяет тип сигнала параметра 130 управления (S103). Когда тип сигнала параметра 130 управления является первым типом, соответствующим шаблону 1 (первый тип на S105), блок 142 управления контекстом определяет значение контекста с использованием значения определения, получаемого из значений параметров управления двух соседних блоков (блока A и блока B) (S105). Другими словами, блок 142 управления контекстом определяет контекст при условии, что используются параметры управления двух соседних блоков блока слева и блока сверху. Здесь, блок 142 управления контекстом использует как результат определения (с5) condL, так и результат определения (c6) condA на Фиг. 3. Соответственно, данные одного ряда картинок удерживаются для параметров управления первого типа.
[0104] С другой стороны, когда тип сигнала параметра 130 управления является вторым типом, соответствующим шаблону 2 (второй тип на S104), блок 142 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседнего блока в порядке кодирования) (S106). Другими словами, блок 142 управления контекстом определяет значение контекста при условии, что параметр управления блока сверху не используется.
[0105] С другой стороны, когда тип сигнала параметра 130 управления является третьим типом, соответствующим шаблону 3 (третий тип на S104), блок 142 управления контекстом жестко определяет значение контекста без использования обоих параметров управления блока сверху и блока слева (S107).
[0106] Далее, блок 142 управления контекстом прибавляет приращение, определенное на этапе S103, к базовому значению индекса контекста, определенного на этапе S102, для определения значения индекса контекста (S108).
[0107] Наконец, блок 143 двоичного арифметического кодирования выполняет арифметическое кодирование в отношении двоичного значения первого элемента с использованием значения контекста, точно определенного значением индекса контекста на этапе S108, чтобы сгенерировать последовательность битов (битовый поток 124) (S109).
[0108] Далее, когда процессы из этапов с S102 по S109 не исполняются в отношении всех элементов, включенных в двоичную последовательность (Нет на S110), блок 104 кодирования с переменной длиной кодового слова выполняет процессы из этапов с S102 по S109 в отношении следующего элемента, включенного в двоичную последовательность. С другой стороны, когда процессы из этапов с S102 по S109 завершены в отношении всех элементов, включенных в двоичную последовательность (Да на S110), блок 104 кодирования с переменной длиной кодового слова заканчивает обработку кодирования в отношении параметра управления текущего блока.
[0109] Как описано выше, устройство 100 кодирования изображения согласно варианту осуществления 1 определяет контекст с использованием блока сверху при выполнении арифметического кодирования в отношении параметра управления первого типа и определяет контекст без использования блока сверху для параметров управления второго и третьего типов.
[0110] По сравнению со случаем, когда блок слева и блок сверху используются как однообразное "использование модели контекста на основе значений параметров управления соседних блоков", устройство 100 кодирования изображения может уменьшить использование памяти при данной конфигурации. Таким образом, устройство 100 кодирования изображения может подавить ухудшение качества изображения и уменьшить использование памяти.
[0111] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 2)
Вариант осуществления 2 опишет устройство декодирования изображения, которое декодирует битовый поток 124, сгенерированный устройством 100 кодирования изображения.
[0112] Фиг. 5 является блок-схемой, иллюстрирующей устройство 200 декодирования изображения согласно варианту осуществления 2. Устройство 200 декодирования изображения является устройством декодирования изображения, использующим арифметическое декодирование, и декодирует битовый поток 124, чтобы сгенерировать сигнал 229 изображения. Здесь битовый поток 124, например, сгенерирован устройством 100 кодирования изображения.
[0113] Устройство 200 декодирования изображения включает в себя, блок 201 управления, блок 202 декодирования с переменной длиной кодового слова, блок 204 обратного квантования, блок 205 обратного преобразования, блок 206 сложения, блок 207 внутреннего предсказания и блок 208 внешнего предсказания.
[0114] Устройство 200 декодирования изображения выполняет обработку декодирования для каждого битового потока предварительно определенной единицы обработки. Единицей обработки является, например, единица фрагмента или единица блока.
[0115] Блок 202 декодирования с переменной длиной кодового слова выполняет арифметическое декодирование в отношении битового потока 124, чтобы сгенерировать параметр 230 управления (синтаксический элемент данных управления) и квантованные коэффициенты 223 преобразования (значения синтаксического элемента остаточных данных). Блок 201 управления принимает сгенерированный параметр 230 управления.
[0116] Блок 201 управления управляет каждым из блоков обработки, включенных в устройство 200 декодирования изображения, согласно параметру 230 управления.
[0117] Блок 204 обратного квантования осуществляет обратное квантование квантованных коэффициентов 223 преобразования в коэффициенты 224 ортогонального преобразования.
[0118] Блок 205 обратного преобразования осуществляет обратное преобразование коэффициентов 224 ортогонального преобразования, чтобы реконструировать остаточный сигнал 225. Блок 206 сложения прибавляет остаточный сигнал 225 к сигналу предсказания изображения (сигналу 229 изображения), чтобы сгенерировать декодированный сигнал 226 изображения.
[0119] Блок 207 внутреннего предсказания выполняет внутреннее предсказание с использованием декодированного сигнала 226 изображения, чтобы сгенерировать сигнал 227 предсказания изображения. Блок 208 внешнего предсказания выполняет внешнее предсказание с использованием декодированного сигнала 226 изображения, чтобы сгенерировать сигнал 228 предсказания изображения.
[0120] Переключатель 209 выбирает один из сигнала 227 предсказания изображения и сигнала 228 предсказания изображения и выводит выбранный сигнал в качестве сигнала 229 изображения (сигнала предсказания изображения).
[0121] Далее, будет описана конфигурация блока 202 декодирования с переменной длиной кодового слова.
[0122] Фиг. 6 является функциональной блок-схемой, иллюстрирующей конфигурацию блока 202 декодирования с переменной длиной кодового слова. Блок 202 декодирования с переменной длиной кодового слова включает в себя блок 243 двоичного арифметического декодирования, блок 242 управления контекстом и блок 241 обратной бинаризации. Следующее описывает процесс декодирования с переменной длиной кодового слова в отношении параметра 230 управления. Хотя описание о процессе декодирования с переменной длиной кодового слова квантованных коэффициентов 223 преобразования опущено, процесс может быть реализован, например, с использованием известного метода.
[0123] Блок 242 управления контекстом определяет контекст для использования в арифметическом декодировании параметра 230 управления текущего блока из числа множества контекстов. К тому же, блок 242 управления контекстом выводит индекс 252 контекста, точно определяющий определенный контекст, в блок 243 двоичного арифметического декодирования.
[0124] Более конкретно, блок 242 управления контекстом использует ту же модель контекста, как модель контекста блока 142 управления контекстом на Фиг. 2, в качестве удерживаемой вероятностной модели переходов. Когда блок 143 арифметического кодирования использует 64 состояния вероятности, блок 243 двоичного арифметического декодирования также удерживает 64 состояния вероятности. Это потому, что и кодер, и декодер должны интерпретировать диапазон числовой прямой, которая должна быть кодирована, точно таким же образом. Таким образом, декодер использует тот же шаблон, что и шаблон, выбранный кодером из числа трех шаблонов с 1 по 3.
[0125] Блок 243 арифметического декодирования выполняет арифметическое декодирование в отношении последовательности битов (битового потока 124) с использованием контекста, определенного блоком 242 управления контекстом, чтобы реконструировать двоичную последовательность 251. Более конкретно, блок 243 арифметического декодирования реконструирует входную последовательность битов в двоичную последовательность 251, согласно контексту (таблице состояний вероятности), точно определенному посредством индекса контекста, поданного из блока 242 управления контекстом.
[0126] Блок 241 обратной бинаризации реконструирует двоичную последовательность 251 в параметр 230 управления, если необходимо, посредством процесса обратной бинаризации. В этой связи, блок 142 управления контекстом, включенный в устройство 100 кодирования изображения, и блок 242 управления контекстом, включенный в устройство 200 декодирования изображения, используют одинаковую модель контекста как при арифметическом кодировании, так и при арифметическом декодировании параметра управления конкретного типа сигнала.
[0127] Фиг. 7 является схемой последовательности операций, указывающей способ декодирования изображения согласно варианту осуществления 2, который выполняется блоком 202 декодирования с переменной длиной кодового слова.
[0128] Сначала, блок 202 декодирования с переменной длиной кодового слова получает битовый поток 124 (S201).
[0129] Далее, блок 242 управления контекстом определяет тип сигнала параметра управления, который должен быть декодирован, согласно структуре данных битового потока 124 (S202).
[0130] Далее, блок 242 управления контекстом определяет базовое значение контекста для использования в арифметическом декодировании параметра 130 управления, который должен быть декодирован (S203). Например, блок 242 управления контекстом определяет базовое значение согласно типу картинки (I, P или B).
[0131] Далее, блок 242 управления контекстом определяет значение контекста с использованием одного из шаблонов с 1 по 3, на основе типа сигнала параметра управления (S204). Здесь, определение значения контекста эквивалентно определению регулировочного значения (значения приращения CtxIdxInc) для базового значения контекста. Например, блок управления контекстом 242 статистически определяет один из шаблонов с 1 по 3 на основе типа сигнала параметра управления, следуя предварительно определенной таблице.
[0132] Блок 242 управления контекстом переключается между соседними блоками для использования при определении контекста для получения двоичного значения первого элемента, включенного в двоичную последовательность 251, с использованием арифметического декодирования, согласно типу сигнала параметра управления.
[0133] Сначала, блок 242 управления контекстом определяет тип сигнала параметра 230 управления (S205). Когда тип сигнала является первым типом, соответствующим шаблону 1 (первый тип на S205), блок 242 управления контекстом определяет значение контекста с использованием параметров управления двух соседних блоков (S206). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что используются декодированные параметры управления двух соседних блоков блока слева и блока сверху.
[0134] С другой стороны, когда тип сигнала является вторым типом, соответствующим шаблону 2 (второй тип на S205), блок 242 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (одного непосредственно соседнего блока в порядке кодирования) (S207). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что декодированный параметр управления блока сверху не используется.
[0135] С другой стороны, когда тип сигнала является третьим типом, соответствующим шаблону 3 (третий тип на S205), блок 242 управления контекстом жестко определяет значение контекста (S208). Другими словами, блок 242 управления контекстом определяет значение контекста при условии, что декодированные параметры управления блока сверху и блока слева не используются.
[0136] Далее, блок 242 управления контекстом прибавляет приращение, определенное на этапе S204, к базовому значению индекса контекста, определенному на этапе S203, для определения значения индекса контекста (S209).
[0137] Далее, блок 243 двоичного арифметического кодирования определяет один из элементов двоичной последовательности посредством декодирования с использованием значения контекста, указанного значением индекса контекста, поданным из блока 242 управления контекстом (S210).
[0138] Далее, когда процессы из этапов с S203 по S210 не исполняются в отношении всех элементов, включенных в двоичную последовательность (Нет на S211), блок 202 декодирования с переменной длиной кодового слова выполняет процессы из этапов с S203 по S210 в отношении следующего элемента, включенного в двоичную последовательность.
[0139] С другой стороны, когда процессы из этапов с S203 по S210 завершены в отношении всех элементов, включенных в двоичную последовательность (Да на S211), блок 241 обратной бинаризации изменяет один или более элементов двоичной последовательности 251, полученной посредством повторения процессов из этапов с S203 по S210 более чем один раз, чтобы сгенерировать параметр 230 управления (S212).
[0140] Как описано выше, устройство 200 декодирования изображения согласно варианту осуществления 2 определяет контекст с использованием блока сверху при выполнении арифметического декодирования параметра управления первого типа и определяет контекст без использования блока сверху для параметров управления второго и третьего типов.
[0141] По сравнению со случаем, когда блок слева и блок сверху используются как однообразное "использование модели контекста на основе значений параметров управления соседних блоков", устройство 200 декодирования изображения может уменьшить использование памяти при данной конфигурации. Таким образом, устройство 200 декодирования изображения может подавить ухудшение качества изображения и уменьшить использование памяти.
[0142] Например, когда двоичная последовательность 251 является флагом и имеет только один элемент, то есть, двоичная последовательность 251 состоит из 1 двоичного элемента, блок 241 обратной бинаризации может выводить двоичную последовательность 251, как она есть.
[0143] В дополнение к описанию выше, блок 101 или 201 управления может управлять каждым из блоков обработки или ссылаться на значение памяти, посредством сигнальной линии, которая не проиллюстрирована.
[0144] Хотя блок 142 или 242 управления контекстом переключается между тремя шаблонами с 1 по 3 согласно типу сигнала параметра управления в вышеприведенному описании, он может переключаться между двумя шаблонами с 1 по 3 согласно типу сигнала. Другими словами, блок 142 или 242 управления контекстом может переключаться между использованием и неиспользованием условия блока сверху, согласно типу сигнала параметра управления.
[0145] К тому же, блок 142 или 242 управления контекстом может изменить способ переключения между моделями контекста, выбранными таким образом (в том числе случай, когда изменено приращение модели контекста; то же самое будет применяться в дальнейшем) согласно предварительно определенной информации изображения. Например, блок 142 или 242 управления контекстом может дополнительно переключать саму политику переключения, согласно величине памяти, или размер горизонтальной ширины, или формат выборки изображения, который влияет на число обучений каждого контекста.
[0146] Хотя блок 142 или 242 управления контекстом переключается между использованием и неиспользованием условия блока сверху в качестве упрощенного описания, блок 142 или 242 управления контекстом может объединять случай, когда блок сверху недоступен для переключения, и применять объединенный случай. Например, блок 142 или 242 управления контекстом может изменять саму политику переключения, согласно тому, является ли фрагмент, который должен быть обработан, энтропийным фрагментом или нет (entropy_slice_flag указывает 1 или 0). Аналогично, когда доступность соседнего блока сверху не может быть гарантирована, блок 142 или 242 управления контекстом может изменить политику переключения, с тем чтобы не использовать блок сверху.
[0147] Например, как проиллюстрировано на Фиг. 8, блок 142 или 242 управления контекстом может переключать политику определения модели контекста между первым критерием определения (S302) и вторым критерием определения (S303), согласно значению параметра предварительно определенной единицы. Здесь, "согласно значению параметра предварительно определенной единицы" означает - согласно тому, является ли фрагмент энтропийным фрагментом или нет, как описано выше. К тому же, первый критерий определения является критерием, основанным на том, какие выполняются процессы на Фиг. 7. Второй критерий определения является критерием, исключающим этап S204 на Фиг. 7, и является, например, традиционным критерием. Это является эквивалентом определению приращения индекса контекста, с использованием параметра предварительно определенной локальной единицы и значение параметра единицы, большей, чем предварительно определенная локальная единица.
[0148] Другими словами, блок 142 или 242 управления контекстом может переключаться с критерия определения, который должен быть применен к единице, меньшей, чем первая единица, на другой критерий определения, основанный на значении параметра управления первой единицы.
[0149] К тому же, блок 142 или 242 управления контекстом может изменить критерий определения, который должен быть использован, согласно характеристикам системы изображений. Например, блок 142 или 242 управления контекстом может изменить критерий определения, который должен быть использован, согласно интервалам I-картинок (значения задания IntraPeriod).
[0150] Хотя блок 142 или 242 управления контекстом переключается между критериями определения согласно вышеприведенным условиям, он может осуществлять переключения, использовать ли блок сверху или нет.
[0151] К тому же, блок 142 или 242 управления контекстом может определять используется ли параметр управления блока сверху или нет, согласно тому, доступен ли параметр управления блока сверху или нет при кодировании или декодировании на основе положения параметра управления. Другими словами, блок 142 или 242 управления контекстом может определять, доступен ли параметр управления блока сверху или нет при декодировании, на основе положения текущего блока, и определять контекст с использованием одного из шаблонов 2 и 3, когда параметр управления блока сверху не доступен. К тому же, блок 142 или 242 управления контекстом может определять доступно ли опорное значение блока сверху или нет на основе древовидной структуры для разбиения блоков TU, CU или PU. Другими словами, блок 142 или 242 управления контекстом может определять, доступен ли параметр управления блока сверху или нет при декодировании, согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, которые должны быть обработаны.
[0152] Фиг. 9 иллюстрирует взаимосвязь между картинкой, фрагментами и блоками в соответствии со стандартом HEVC. Одна картинка разбита на один или более фрагментов. В примере по Фиг. 9, картинка разбита на два фрагмента (ФРАГМЕНТ 1 и ФРАГМЕНТ 2). Один из фрагментов включает в себя блоки 301 (например, древовидные блоки). Здесь, блок 301 является наибольшей единицей в качестве некоторой единицы управления, когда фрагмент разбивается с предварительно определенным размером, и имеет размер корня, когда единица находится в корне в иерархически разбитой структуре.
[0153] В примере по Фиг. 9, ФРАГМЕНТ 2 начинается от блока 301A и состоит из одной последовательности, включающей в себя блоки, до нижнего правого угла картинки через заштрихованные блоки 301B и 301C. Один из заштрихованных блоков на Фиг. 9 является одним блоком (TreeBlock), который должен быть обработан в данный момент.
[0154] Каждый из блоков 301 включает в себя N × M пикселей. Один из блоков 301 рекурсивно разбит внутри (обычно на четыре). Другими словами, один TreeBlock концептуально составляет одно квадродерево. В блоке 301B на Фиг. 9, блок сверху справа, полученный разбиением заштрихованного блока 301B на четыре, рекурсивно разбивается на четыре блока дважды. Другими словами, блок 301B включает в себя 10 логических единиц от нулевой единицы сверху слева до девятой единицы снизу справа, которые разбиты с некоторой перспективой.
[0155] Здесь, перспектива указывает идею множества деревьев, имеющих разные глубины, с корнем в качестве базовой точки, таких как дерево, относящееся к единице кодирования (CU), и дерево, относящееся к residual_data. Здесь, значение каждого параметра управления принадлежит к одному из листов.
[0156] Здесь, является ли значение параметра управления конкретного типа сигнала, включенного в блок сверху, действительно доступным, зависит от типа дерева, которому принадлежит параметр управления. Таким образом, блок 142 или 242 управления контекстом может изменить критерий определения согласно типу дерева, которому принадлежит параметр управления. Это изменение эквивалентно изменению на синтаксическую единицу. Например, блок 142 или 242 управления контекстом может использовать шаблон 2 или 3, в котором блок сверху не используется для данных адаптивного фильтра со структурой данных, такой как alf_param, тогда как он может использовать политику модели контекста (шаблон 1) для других синтаксических элементов, как традиционно используется. Другими словами, второй тип или третий тип может быть параметром управления, имеющим предварительно определенную структуру данных. К тому же, это означает, что критерий определения может быть изменен согласно типу дерева соседнего блока.
[0157] К тому же, может ли значение параметра управления быть действительно использовано или нет или дает преимущество уменьшения использования памяти, различается в зависимости от положения блока в иерархической взаимосвязи. Другими словами, блок 142 или 242 управления контекстом может переключаться между использованием и неиспользованием блока сверху, согласно глубине блока и иерархическому положению блока.
[0158] Например, на Фиг. 9, числа от 0 до 9 в блоке 301B расположены в порядке декодирования. В этом случае, параметры управления блоков 1 и 2 доступны, когда блок 4 кодируется или декодируется.
[0159] К тому же, для того, чтобы уменьшить использование памяти, блок 142 или 242 управления контекстом может выбрать шаблон 1, использующий блок сверху, когда блок находится не на глубине 0, и собственное положение является одним из второго до последующих элементов при вертикальном разбиении. Здесь, "глубина" указывает глубину от корня. Другими словами, когда некоторый блок задан как block[xn],[y0][depth], критерий определения может быть изменен согласно тому, удовлетворяет ли текущий блок block[xn][(y0)+1][depth] или нет. Другими словами, блоки сверху используются для блоков с 4 по 9 на Фиг. 9. Когда дерево кодируется или декодируется в порядке как пронумеровано (начиная с 0 и заканчивая на 9), понятно, что блоки с 4 по 9 могут использовать параметры управления, включенные в блоки сверху. К тому же, существует преимущество, что эти блоки должны удерживать данные только временно. К тому же, это указывает, что значение контекста определено согласно 3D положению, включающему в себя глубину в дополнение к x и y координатам. Помимо того, условное значение блока в более высоком слое можно использовать (придерживаться) в качестве условного значения блока в более низком слое.
[0160] К тому же, блок 142 или 242 управления контекстом может изменять эти критерии учитывая взаимосвязь положений между текущим блоком и другими вырезками. В дальнейшем, будут описаны три заштрихованных блока 301A, 301B и 301C на Фиг. 9.
[0161] Здесь, блок 301A является начальным блоком, и как блок слева, так и блок сверху блока 301A включены в другой фрагмент. Блок сверху блока 301B включен в другой фрагмент. Как блок слева, так и блок сверху блока 301C включены в один и тот же фрагмент, включающий в себя блок 301С. Блок 142 или 242 управления контекстом может переключать критерий согласно такому условию. Другими словами, блок 142 или 242 управления контекстом может переключать критерий (i) согласно тому, включен ли блок сверху в другой фрагмент или нет, (ii) согласно тому, включен ли блок слева в другой фрагмент или нет, или (iii) согласно обоим (i) и (ii). Другими словами, блок 142 или 242 управления контекстом может определить, что параметр управления блока сверху не доступен при декодировании, когда текущий блок находится на границе фрагмента. Соответственно, когда обработка декодирования ФРАГМЕНТА 1 сверху не завершена, например, возможно выполнить обработку декодирования учитывая может ли ФРАГМЕНТ 2 сам получить информацию или нет.
[0162] Далее, будет описана иерархическая единица обработки (многослойная структура блока). Фиг. 10 иллюстрирует иерархическую единицу обработки (многослойную структуру блока).
[0163] Устройство 100 кодирования изображения кодирует движущиеся картинки в отношении каждой единицы обработки, и устройство 200 декодирования изображения декодирует кодированный поток в отношении каждой единицы обработки. Единица обработки разделена на слои посредством разбиения единицы обработки на небольшие единицы обработки и дополнительного разбиения небольших единиц обработки на меньшие единицы обработки. Чем меньше единица обработки, тем больше и иерархически ниже глубина единицы обработки, и больше значение, указывающее глубину. И наоборот, чем больше единица обработки, тем меньше и иерархически выше глубина единицы обработки, и меньше значение, указывающее глубину.
[0164] Единица обработки включает в себя единицу кодирования (CU), единицу предсказания (PU) и единицу преобразования (TU). CU является блоком максимум 128 x 128 и является единицей, соответствующей традиционному макроблоку. PU является базовой единицей для внешнего предсказания. TU является базовой единицей для ортогонального преобразования и имеет размер, идентичный размеру PU или намного меньший, чем PU. CU, например, разделена на 4 под-CU, и одна из под-CU включает в себя PU и TU, имеющие тот же размер, как и размер под-CU (здесь, PU и TU перекрывают друг друга). Например, PU дополнительно разделена на 4 под-CU, и TU дополнительно разделена на 4 под-CU. Когда единица обработки разбита на меньшие единицы обработки, каждая из меньших единиц обработки называется единицей вспомогательной (под-) обработки. Например, когда единицей обработки является CU, единицей вспомогательной обработки является под-CU. Когда единицей обработки является PU, единицей вспомогательной обработки является под-PU. К тому же, когда единицей обработки является TU, единицей вспомогательной обработки является под-TU.
[0165] Более конкретно, ниже по тексту указываются подробности.
[0166] Одна картинка разбита на один или более фрагментов. Фрагмент является последовательностью из наибольшей единицы кодирования. Положение наибольшей единицы кодирования указано адресом наибольшей единицы кодирования lcuAddr.
[0167] Каждая из единиц кодирования, включающих в себя соответствующие наибольшие единицы кодирования, разбита на четыре единицы кодирования. В результате, сконструировано квадродерево, имеющее размер CU. Положение CU указано индексом единицы кодирования cuIdx, имеющим выборку (пиксель или коэффициенты) в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0168] Когда разбиение CU не разрешено, CU обрабатывается как PU. Аналогично как и CU, положение PU указано индексом puIdx единицы предсказания, имеющим выборку в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
[0169] PU может включать в себя разделы (разделы PU или под-PU). Раздел PU указан индексом puPartIdx раздела единицы предсказания, имеющим выборку в верхнем левом углу PU в качестве начальной точки.
[0170] PU может включать в себя TU. Аналогично как и CU, TU может быть разбита на четыре меньшие TU (под-TU). Это указывает разрешение разбиения квадродерева остаточного сигнала. Положение TU указано индексом tuIdx единицы преобразования, имеющим выборку в верхнем левом углу PU в качестве начальной точки.
[0171] Здесь, определение каждой из единиц обработки является таким, как следует ниже:
[0172] CTB (блок дерева кодирования): Базовая единица для идентификации разбиения квадродерева квадратной области. Имеющая различные квадратные размеры;
[0173] LCTB (наибольший блок дерева кодирования): Наибольший CTB, разрешенный в фрагменте. Фрагмент включает в себя множество LCTB, которые не перекрывают друг друга;
[0174] SCTB (наименьший блок дерева кодирования): Наименьший CTB, разрешенный в фрагменте. Разбиение SCTB на меньшие CTB не разрешено;
[0175] PU (единица предсказания): Базовая единица для идентификации обработки предсказания. PU является такой же большой, как и CU, в которой разбиение не разрешено. Хотя разрешено разбиение CU на четыре квадратные области, PU может быть разбита на множество разделов, имеющих любую форму;
[0176] TU (единица преобразования): Базовая единица для идентификации преобразования и квантования;
[0177] CU (единица кодирования): То же, что и CTB;
[0178] LCU (наибольшая единица кодирования): То же, что и наибольший CTB; и
[0179] SCU (наименьшая единица кодирования): То же, что и наименьший CTB.
[0180] К тому же, параметры квантования включают в себя по меньшей мере один из дельта-параметра масштаба квантования (дельта QP или QP-дельта), параметра сдвига квантования, индекса (Q matrix select idc) и параметра сдвига мертвой зоны квантования. Данный индекс служит для выбора одной из матриц масштабирования квантования.
[0181] Дельта-параметр масштаба квантования (дельта QP или QP-дельта) является разностью между параметром масштаба квантования, который должен быть применен к коэффициентам преобразования, и параметром масштаба квантования, точно определенным посредством заголовка последовательности или заголовка фрагмента (или параметром масштаба квантования непосредственно до в порядке Z-сканирования).
[0182] Параметр сдвига квантования также называет как сдвиг квантования и является регулировочным значением (значением сдвига) для округления сигнала при выполнении квантования. Таким образом, когда устройство 100 кодирования изображения выполняет квантование, оно кодирует сдвиг квантования. Затем, устройство 200 декодирования изображения декодирует кодированный сдвиг квантования. Далее, устройство 200 декодирования изображения выполняет коррекцию с использованием сдвига квантования, когда осуществляется обратное квантование коэффициентов преобразования.
[0183] Индекс (Qmatrix select idc) называется адаптивной матрицей квантования и указывает, какая используется матрица масштабирования квантования из числа множества матриц масштабирования квантования. К тому же, когда есть только одна матрица масштабирования квантования, Qmatrix select idc указывает используется ли матрица масштабирования квантования или нет. Адаптивная матрица квантования может быть управляемой по каждой единице блока (единице обработки).
[0184] Параметр сдвига мертвой зоны квантования называется адаптивной мертвой зоной и является управляющей информацией для адаптивного изменения мертвой зоны по каждому блоку. Мертвая зона имеет ширину, чьи частотные коэффициенты становятся 0 посредством квантования (последняя ширина, которая становится +1 или -1 после квантования).
[0185] Хотя случай, когда шаблон 3, при котором предварительно определенное фиксированное значение используется в качестве значения контекста, описан выше, данный случай может быть выполнен при условии, что параметры управления блока сверху и блока слева не используются, и дополнительно при условии без использования параметров управления блока сверху и блока слева в качестве шаблона 3. Например, блок 142 или 242 управления контекстом может определять контекст согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, в качестве шаблона 3.
[0186] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 3)
Вариант осуществления 3 будет описывать какой тип сигнала должен быть использован в качестве первого типа и второго типа (или третьего типа).
[0187] Более конкретно, настоящие авторы изобретения ниже проверили каждый из типов сигнала среди типов сигнала, указанных на Фиг. 3. (раздел 9.3.3.1.1.1 NPL 2). Каждый из типов сигнала был проверен, так как существуют различные параметры, и сложно предсказать удовлетворяет ли достоверности каждый шаблон других типов сигнала или нет на основе результата проверки в отношении одного из типов сигнала (какой из шаблонов с 1 по 3 является подходящим).
[0188] Проверка имеет место в соответствии со структурой (параметром задания и версию программного обеспечения HM3.0), описанной в JCTVC-E700, "Common test conditions and software reference configurations" (см. NPL 3). К тому же, каждое из тестовых изображений имеет длину, ограниченную 49 кадрами.
[0189] Способ кодирования изображения и способ декодирования изображения согласно варианту осуществления 3 относятся к CABAC. Таким образом, проверка была проведена с использованием следующих четырех тестовых шаблонов, которые являются набором значений задания, где каждое указывает 1 в качестве значения режима символов (#0:LCEC, 1:CABAC):
[0190] 4.1 Внутренний, задание высокой эффективности;
4.3 Произвольный доступ, задание высокой эффективности;
4.5 Низкая задержка, задание высокой эффективности; и
4.7 Низкая задержка, задание высокой эффективности (только P-фрагментов).
[0191] Оценка сделана на основе значения оценки, называемого "BD-показатель", которое используется в качестве стандарта оценки, единообразно используемого для оценки реализации в HEVC. BD-показатель Y, BD-показатель U и BD-показатель V являются BD-показателями для цветового пространства YUV и являются значениями стандарта оценки. Согласно VCEG-AI11 (NPL 4), BD-показатель является значением оценки, полученным посредством объединения двух пар величин кода с результатом PSNR и представляет эффективность кодирования согласно соотношению площадей. К тому же, BD-показатель, указывающий значение с минусом, означает, что эффективность кодирования была улучшена. Критерии сравнения основаны на результате вывода опорной программы, которая реализует шаблон 1. Результаты шаблонов 2 и 3 показаны по отношению к результату шаблона 1.
[0192] Нижеследующее описывает результат проверки по каждому из типов сигнала:
[0193] (Первая проверка) split_coding_unit_flag;
(Вторая проверка) skip_flag; и
(Третья проверка) inter_pred_flag.
[0194] (Первая проверка) split_coding_unit_flag
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag.
[0195] Проверка проводится посредством изменения модели контекста с шаблона 1 на шаблон 2 или 3 только для типа сигнала, который должен быть проверен, без изменения модели контекста для других типов сигнала и параметра проверки, точно определенного в NPL 3. В столбце на Фиг. 11, значение "Фиксированное" указывает, что условие (условие блока слева или условие блока сверху) столбца, точно определенное как "Фиксированное", не используется, когда получено значение контекста (или приращение). Другими словами, когда только одно из условия блока слева и условия блока сверху является "Фиксированным", используется только другое условие. К тому же, когда и условие блока слева, и условие блока сверху являются "Фиксированными", предварительно определенное значение (например, 0) используется в качестве значения контекста (или приращения).
[0196] Значение типа сигнала "split_coding_unit_flag" задано как следует ниже.
[0197] 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.
[0198] Данные split_coding_unit_flag структурированы в синтаксис дерева кодирования в качестве синтаксиса. Устройство декодирования изображения осуществляет синтаксический анализ последовательности битов в соответствии с систаксисом этой структуры данных.
[0199] Фиг. 12A и 12B являются таблицами для описания результатов проверки в отношении split_coding_unit_flag.
[0200] Фиг. 12A указывает результат проверки, использующей один соседний блок (только значение определения условия L блока слева) по шаблону 2. Фиг. 12B указывает результат проверки, использующей нулевой соседний блок (не использующей ни условие L блока слева, ни условие L блока сверху) шаблона 3.
[0201] Результат проверки на каждой из Фиг. 12A и 12B указывает приращение или отрицательное приращение BD-показателя согласно четырем тестовым шаблонам.
[0202] К тому же, значение оценки представлено стандартом оценки, указывающим значение относительно значения оценки в случае шаблона 1, в котором используются и блок слева, и блок сверху. Более конкретно, когда значение оценки положительное, результат хуже, чем значение оценки (BD-показатель) в случае шаблона 1. К тому же, когда значение оценки отрицательное, результат дополнительно улучшен в сравнении со значением оценки в случае шаблона 1.
[0203] Результат проясняет, что шаблон 1 является лучшим в качестве шаблона модели контекста для split_coding_unit_flag. Другими словами, значения оценки, полученные посредством шаблонов 2 или 3 хуже, чем у шаблона 1.
[0204] Таким образом, когда типом сигнала параметра управления является split_coding_unit_flag, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном модели контекста, в том, что касается BD-показателя.
[0205] (Вторая проверка) split_flag
Фиг. 13 иллюстрирует способ арифметического декодирования для split_flag. Здесь, способ проверки является таким же как и способ проверки в первой проверке.
[0206] Значение типа сигнала "split_flag" задано как следует ниже.
[0207] skip_flag[x0][y0], равный 1, точно определяет, что для текущей единицы кодирования, при декодировании P- или B-фрагмента, больше никакие синтаксические элементы, кроме индексов предиктора вектора движения, не подвергаются синтаксическому анализу после skip_flag[x0][y0]. skip_flag[x0][y0], равный 1, точно определяет, что единица кодирования не должна быть пропущена. Индексы x0, y0 массива точно определяют размещение (x0, y0) выборки яркости сверху слева рассматриваемого блока кодирования, относительно выборки яркости сверху слева картинки. Другими словами, skip_flag указывает должна ли быть пропущена целевая CU или нет (обработанная как пропущенный блок).
[0208] Данные skip_flag структурированы в синтаксис единицы кодирования в качестве синтаксиса. Другими словами, skip_flag задается для каждой CU. Устройство декодирования изображения осуществляет синтаксический анализ последовательности битов в соответствии с синтаксисом этой структуры данных.
[0209] Фиг. 14A и 14B являются таблицами для описания результатов проверки в отношении skip_flag.
[0210] Фиг. 14A указывает результат проверки, использующей один соседний блок (только значение определения условия L блока слева) шаблона 2. Фиг. 14B указывает результат проверки, использующей нулевой соседний блок (не использующей ни условие L блока слева, ни условие L блока сверху) по шаблону 3.
[0211] Результат проверки на каждой из Фиг. 14A и 14B указывает приращение или отрицательное приращение BD-показателя согласно четырем тестовым шаблонам, как описано для первой проверки. Здесь, значение оценки означает то же, что и значение оценки первой проверки.
[0212] Результат проясняет, что шаблон 1 является лучшим в качестве шаблона модели контекста для skip_flag. Другими словами, значения оценки, полученные посредством шаблонов 2 и 3 хуже, чем значения оценки по шаблону 1.
[0213] Таким образом, когда типом сигнала параметра управления является skip_flag, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является традиционным шаблоном модели контекста, исходя из BD-показателя.
[0214] (Третья проверка) "inter_pred_flag"
Фиг. 15 является таблицей, указывающей способ арифметического декодирования для inter_pred_flag.
[0215] Значение типа сигнала "inter_pred_flag" задано как следует ниже.
inter_pred_flag[x0][y0] точно определяет, используется ли унипредсказание или бипредсказание для текущей единицы предсказания согласно таблице 7 11. Индексы x0, y0 массива точно определяют размещение (x0, y0) выборки яркости сверху слева рассматриваемого блока предсказания, относительно выборки яркости сверху слева картинки. Здесь, унипредсказание является предсказанием, использующим lc (комбинацию списков), и бипредсказание является предсказанием, использующим список 0 и список 1. К тому же, комбинация списков получена посредством объединения (слияния) списка 0 и списка 1. К тому же, inter_pred_flag используется только когда текущий фрагмент является B-фрагментом.
[0217] Данные inter_pred_flag структурированы в единицу предсказания в качестве синтаксиса. Устройство декодирования изображения осуществляет синтаксический анализ последовательности битов в соответствии с синтаксисом этой структуры данных.
[0218] Фиг. 16A и 16B являются таблицами для описания результатов проверки в отношении inter_pred_flag.
[0219] Фиг. 16A указывает результат проверки, использующей один соседний блок (только значение определения условия L блока слева) шаблона 2. Фиг. 16B указывает результат проверки, использующей нулевой соседний блок (не использующей ни условие L блока слева, ни условие L блока сверху) шаблона 3.
[0220] Результат проверки на каждой из Фиг. 16A и 16B указывает приращение и отрицательное приращение BD-показателя согласно четырем тестовым шаблонам, как описано для первой проверки.
Здесь, значение оценки означает то же, что и значение оценки первой проверки.
[0221] Результат отличается от результатов первой проверки split_coding_unit_flag и второй проверки skip_flag. Нет значительной разницы в BD-показателе между шаблонами 1 и 2 или 3, в качестве шаблона модели контекста для inter_pred_flag.
[0222] Таким образом, при смешанной среде со множеством параметров управления типов сигнала, блок 142 или 242 управления контекстом определяет значение контекста без использования блока сверху в качестве соседнего блока, особенно когда типом сигнала параметра управления является inter_pred_flag. Другими словами, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 2 или 3, когда типом сигнала параметра управления является inter_pred_flag. Другими словами, первый тип включает в себя "split_coding_unit_flag" или "skip_flag", и второй тип или третий тип включает в себя "inter_pred_flag". Соответственно, устройство кодирования изображения и устройство декодирования изображения согласно варианту осуществления 3 могут уменьшить использование памяти, в то же время подавляя уменьшение BD-показателя.
[0223] Когда шаблон 2 сравнивается с шаблоном 3 для inter_pred_flag, эти BD-показатели не имеют значительной разницы. Таким образом, предпочтительно использовать шаблон 3 для inter_pred_flag. Соответственно, возможно дополнительно уменьшить использование памяти и объем обработки.
[0224] Здесь, inter_pred_flag используется в обычном режиме внешнего предсказания, который не является ни режимом пропуска, ни режимом слияния. Хотя один и тот же вектор движения для блока сверху и блока слева используется как вектор движения текущего блока в режиме пропуска и режиме слияния, вектор движения, отличный от вектора движения для блока сверху и блока слева, используется как вектор движения текущего блока в обычном режиме внешнего предсказания, в отличие от режима пропуска и режима слияния. Соответственно, эффективность кодирования уменьшается с использованием блока сверху и блока слева для inter_pred_flag как в шаблоне 1. Другими словами, возможно улучшить эффективность кодирования с использованием шаблона 2 или 3 для inter_pred_flag.
[0225] К тому же, как описано выше, возможно дополнительно улучшить эффективность кодирования посредством определения значения контекста согласно глубине текущего блока для inter_pred_flag.
[0226] Хотя описаны устройство кодирования изображения и устройство декодирования изображения согласно вариантам осуществления с 1 по 3 настоящего изобретения, настоящее изобретение не ограничено этими вариантами осуществления.
[0227] Например, могут быть объединены по меньшей мере часть устройства кодирования изображения, устройства декодирования изображения и функции модификаций этих устройств согласно вариантам осуществления с 1 по 3.
[0228] К тому же, все значения и логические значения, описанные выше, приведены в качестве примера для конкретного описания настоящего изобретения, и настоящее изобретение не ограничено приведенными в качестве примера значениями.
[0229] К тому же, деления функциональных блоков на блок-схемах являются примерами. Таким образом, функциональные блоки могут быть реализованы как один функциональный блок, причем один функциональный блок может быть поделен на множество функциональных блоков, и часть функций может переключаться на другой функциональный блок. К тому же, множество функциональных блоков, имеющих аналогичные функции, могут быть обработаны одиночным аппаратным обеспечением или программным обеспечением параллельно или с разделением по времени.
[0230] Порядки этапов способа кодирования изображения, выполняемого устройством кодирования изображения, и способа декодирования изображения, выполняемого устройством декодирования изображения, служат для конкретного описания настоящего изобретения и могут быть порядком, отличным от вышеприведенных порядков. К тому же, часть этапов может быть выполнена одновременно (параллельно) с другими этапами.
[0231] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 4)
Обработка, описанная в каждом из Вариантов осуществления, может быть просто реализована в компьютерной системе, посредством записи, на носитель записи, программы для реализации структуры способа кодирования движущегося изображения или способа декодирования движущегося изображения, описанных в каждом из вариантов осуществления. Носитель записи может быть любым носителем записи, пока программа может быть записана на нем, таким как магнитный диск, оптический диск, магнито-оптический диск, IC-карта и полупроводниковая память.
[0232] В дальнейшем, будут описаны применения к способу кодирования движущегося изображения и способу декодирования движущегося изображения, описанным в каждом из вариантов осуществления и систем, их использующих.
[0233] На Фиг. 19 проиллюстрирована общая конфигурация системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи делится на соты желаемого размера, и базовые станции с ex106 по ex110, которые являются стационарными беспроводными станциями, помещаются в каждую из сот.
[0234] Система ex100 предоставления контента присоединяется к устройствам, таким как компьютер ex111, персональный цифровой помощник (PDA) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через Интернет ex101, поставщика ex102 услуг Интернет, телефонную сеть ex104, также как и базовые станции с ex106 по ex110.
[0235] Однако, конфигурация системы ex100 предоставления контента не ограничена конфигурацией, показанной на Фиг. 19, и допустима комбинация, в которой любые из элементов соединены. В дополнение, каждое из устройств может быть напрямую присоединено к телефонной сети ex104, а не через базовые станции с ex106 по ex110, которые являются стационарными беспроводными станциями. К тому же, устройства могут быть взаимно соединены друг с другом посредством беспроводной связи ближнего действия и другого.
[0236] Камера ex113, такая как цифровая видеокамера, способна захватывать движущиеся изображения. Камера ex116, такая как цифровая видеокамера, способна захватывать как неподвижные изображения, так и движущиеся изображения. К тому же, сотовый телефон ex114 может быть сотовым телефоном, который отвечает любым стандартам, таким как Глобальная система мобильной связи (GSM), Множественный доступ с кодовым разделением каналов (CDMA), Беспроводной множественный доступ с кодовым разделением каналов (W-CDMA), Проект долгосрочного развития (LTE) и стандарт Высокоскоростной пакетной передачи данных (HSPA). В качестве альтернативы, сотовый телефон ex114 может быть Системой персональных мобильных телефонов (PHS).
[0237] В системе ex100 предоставления контента, сервер ex103 потоковой передачи присоединен к камере ex113 и другим через телефонную сеть ex104 и базовую станцию ex109, которые обеспечивают возможность распространения передачи в прямом эфире и другого. Для такого распространения, контент (например, видео музыкальной передачи в прямом эфире), захваченный пользователем используя камеру ex113, кодируется как описано выше в каждом из вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет распространение потока принятых данных контента клиентам после их запросов. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые способны декодировать вышеупомянутые кодированные данные. Каждое из устройств, которые приняли распространяемые данные, декодирует и воспроизводит кодированные данные.
[0238] Захваченные данные могут быть кодированы камерой ex113 или сервером ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть разделены между камерой ex113 и сервером ex103 потоковой передачи. Аналогично, распространяемые данные могут быть декодированы клиентами или сервером ex103 потоковой передачи, или процессы декодирования могут быть разделены между клиентами и сервером ex103 потоковой передачи. К тому же, данные неподвижных изображений и движущихся изображений, захваченных не только камерой ex113, но также камерой ex116, могут быть переданы в сервер ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут быть выполнены камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи, или разделены среди них.
[0239] К тому же, в основном, компьютер ex111 и БИС ex500, включенная в каждое из устройств, выполняют такие процессы кодирования и декодирования. БИС ex500 может быть сконфигурирована из одиночной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования движущихся изображений может быть интегрировано в некоторый тип носителя записи (такой как CD-ROM, гибкий диск и жесткий диск), который является считываемым компьютером ex111 и другими, и процессы кодирования и декодирования могут быть выполнены с использованием программного обеспечения. К тому же, когда сотовый телефон ex114 оборудован камерой, могут быть переданы видеоданные, полученные камерой. Видеоданные являются данными, кодированными посредством БИС ex500, включенной в сотовый телефон ex114.
[0240] К тому же, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовывать данные и обрабатывать децентрализованные данные, записывать или распространять данные.
[0241] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном времени в системе ex100 предоставления контента, так чтобы пользователь, который не имеет какого-либо конкретного права и оборудования, мог реализовать персональное вещание.
[0242] Настоящее изобретение не ограничено вышеупомянутой системой ex100 предоставления контента, и по меньшей либо устройство кодирования движущегося изображения, либо устройство декодирования движущегося изображения, описанные в каждом из вариантов осуществления, могут быть включены в систему ex200 цифрового вещания, как показано на Фиг. 20. Более конкретно, станция ex201 вещания сообщает или передает, посредством радиоволн на спутник ex202 вещания, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных. Видеоданные являются данными, кодированными согласно способу кодирования движущегося изображения, описанному в каждом из вариантов осуществления. После приема видеоданных, спутник ex202 вещания передает радиоволны для вещания. Затем, антенна ex204 домашнего использования, способная принимать спутниковое вещание, принимает радиоволны. Устройство, такое как телевизор (приемник) ex300 и телевизионная приставка (STB) ex217, декодирует и принимает мультиплексированные данные и воспроизводит данные.
[0243] К тому же, считывающее устройство/записывающее устройство ex218, которое (i) считывает и декодирует мультиплексированные данные, записанные на носители ex215 записи, такие как DVD или BD, или (i) кодирует видеосигналы в носителе ex215 записи, и в некоторых случаях, записывает данные, полученные посредством мультиплексирования аудиосигнала в кодированные данные, может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления. В этом случае, воспроизведенные видеосигналы отображаются на мониторе ex219, и другое устройство или система может воспроизвести видеосигналы, с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. К тому же, также возможно реализовать устройство декодирования движущегося изображения в телевизионной приставке ex217, присоединенной к кабелю ex203 для кабельного телевизора или к антенне ex204 для спутникового и/или наземного вещания, с тем чтобы отображать видеосигналы на мониторе ex219 телевизора ex300. Устройство декодирования движущегося изображения может быть реализовано не в телевизионной приставке, а в телевизоре ex300.
[0244] Фиг. 21 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в каждом из вариантов осуществления. Телевизор ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, посредством антенны ex204 или кабеля ex203 и т.д., который принимает вещание; блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые должны быть поданы наружу; и блок ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные на видеоданные и аудиоданные, или мультиплексирует видеоданные и аудиоданные, кодированные блоком ex306 обработки сигналов, в данные.
[0245] К тому же, телевизор ex300 дополнительно включает в себя: блок ex306 обработки сигналов, включающий в себя блок ex304 обработки аудиосигнала и блок ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно; динамик ex307, который предоставляет декодированный аудиосигнал, и блок ex309 вывода, включающий в себя блок ex308 отображения, который отображает декодированный видеосигнал, такой как дисплей. К тому же, телевизор ex300 включает в себя интерфейсный блок ex317, включающий в себя блок ex312 ввода операций, который принимает ввод операций пользователя. К тому же, телевизор ex300 включает в себя блок ex310 управления, который управляет в целом каждым составляющим элементом телевизора ex300, и блок ex311 схемы электропитания, которая подает электроэнергию на каждый из элементов. В отличие от блока ex312 ввода операций, интерфейсный блок ex317 может включать в себя: мост ex313, который присоединен к внешнему устройству, такому как считывающее устройство/записывающее устройство ex218; блок ex314 слота для обеспечения возможности прикрепления носителя ex216 записи, такого как SD-карта; привод ex315 для присоединения к внешнему носителю записи, такому как жесткий диск; и модем ex316 для присоединения к телефонной сети. Здесь, носитель ex215 записи может электрически записывать информацию используя элемент энергонезависимой/энергозависимой полупроводниковой памяти для хранения. Составляющие элементы телевизора ex300 присоединены друг к другу через синхронную шину.
[0246] Сначала будет описана конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные снаружи посредством антенны ex204 и другого, и воспроизводит декодированные данные. В телевизоре ex300, после приема операции пользователя от пульта ex220 дистанционного управления и другого, блок ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, включающего в себя CPU. К тому же, блок 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 мультиплексирования/демультиплексирования, например.
[0247] К тому же, телевизор ex300 может включать в себя конфигурацию для приема AV ввода из микрофона или камеры, в отличие от конфигурации для получения аудио- и видеоданных из вещания или носителя записи, и может кодировать полученные данные. Хотя телевизор ex300 может кодировать, мультиплексировать и выдавать внешние данные в данном описании, он может быть не способен выполнять все процессы, но способен только на одно из приема, декодирования и выдачи внешних данных.
[0248] К тому же, когда считывающее устройство/записывающее устройство ex218 считывает мультиплексированные данные из носителя записи или записывает на него, одно из телевизора ex300 и считывающего устройства/записывающего устройства ex218 может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и считывающее устройство/записывающее устройство ex218 могут разделять декодирование и кодирование.
[0249] В качестве примера, Фиг. 19 иллюстрирует конфигурацию блока 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 управления системой включает в себя, например, микропроцессор и исполняет обработку посредством побуждения компьютера исполнять программу для чтения и записи.
[0250] Хотя оптическая головка ex401 излучает лазерное пятно в данном описании, она может выполнять запись высокой плотности, используя свет ближнего поля.
[0251] Фиг. 20 схематично иллюстрирует носитель ex215 записи, который является оптическим диском. На записывающей поверхности носителя ex215 записи по спирали формируются направляющие бороздки, и информационная дорожка ex230 записывает, заранее, адресную информацию, указывающую абсолютное положение на диске согласно изменению в форме направляющих бороздок. Адресная информация включает в себя информацию для определения положений записывающих блоков ex231, которые являются единицей данных записи. Устройство, которое записывает и воспроизводит данные, воспроизводит информационную дорожку ex230 и считывает адресную информацию, с тем чтобы определить положения записывающих блоков. К тому же, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней периферийной области и область ex234 внешней периферийной области. Область ex233 записи данных является областью для использования при записи пользовательских данных. Область ex232 внутренней периферийной области и область ex234 внешней периферийной области, которые находятся внутри и снаружи области ex233 записи данных, соответственно, служат для конкретного использования кроме записи пользовательских данных. Блока ex400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудиоданных и кодированных видеоданных, из и в область ex233 записи данных носителя ex215 записи.
[0252] Хотя оптический диск, имеющий слой, такой как DVD и BD, описывается как пример в данном описании, оптический диск не ограничен таким, и может быть оптическим диском, имеющим многослойную структуру, и способным быть записанным на части, отличной от поверхности. К тому же, оптический диск может иметь структуру для многомерной записи/воспроизведения, такой как запись информации с использованием света из цветов с разными длинами волн на одном участке оптического диска, и записи информации, имея разные слои под разными углами.
[0253] К тому же, автомобиль ex210, имеющий антенну ex205, может принимать данные со спутника ex202 и других, и воспроизводить видео на устройстве отображения, таком как система ex211 автонавигации, установленная в автомобиле ex210, в системе ex200 цифрового вещания. Здесь, конфигурация системы ex211 автонавигации будет конфигурацией, например, включающей в себя принимающий блок GPS в конфигурации, проиллюстрированной на Фиг. 21. То же будет верно для конфигурации компьютера ex111, сотового телефона ex114 и других.
[0254] Фиг. 24A иллюстрирует телевизор сотовый телефон ex114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в каждом из вариантов осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный записывать видео и неподвижные изображения; и блок ex358 отображения, такой как жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захваченное блоком ex365 камеры или принятое антенной ex350.
Сотовый телефон ex114 дополнительно включает в себя: блок основного корпуса, включающий в себя набор операционных клавиш ex366; блок ex357 вывода аудио, такой как динамик для вывода аудио; блок ex356 ввода аудио, такой как микрофон для ввода аудио; блок ex357 памяти для хранения захваченного видео и неподвижных картинок, записанного аудио, кодированных и декодированных данных принятого видео, неподвижных изображений, электронных писем или других; и блок ex364 слота, который является интерфейсным блоком для носителя записи, который хранит данные таким же образом как блок ex367 памяти.
[0255] Далее, пример конфигурации сотового телефона ex114 будет описан со ссылкой на Фиг. 24B. В сотовом телефоне ex114, основной блок ex360 управления, спроектированный с возможностью управления в целом каждым блоком основного корпуса, включающим в себя блок ex358 отображения, равно как и операционные клавиши ex366 взаимно подсоединен, через синхронную шину ex370, к блоку ex361 схемы электропитания, блоку ex362 управления вводом операций, блоку ex355 обработки видеосигнала, блоку ex363 интерфейса камеры, блоку ex359 управления жидкокристаллическим дисплеем (LCD), блоку ex353 мультиплексирования/демультиплексирования, блоку ex354 обработки аудиосигнала, блоку ex364 слота и блоку ex367 памяти.
[0256] Когда включена клавиша завершения вызова или клавиша электроэнергии посредством операции пользователя, блок ex361 схемы электропитания подает электроэнергию соответственным блокам из батарейного блока батареи, с тем чтобы активировать сотовый телефон ex114.
[0257] В сотовом телефоне ex114, блок ex354 обработки аудиосигнала преобразует аудиосигналы, собранные блоком ex356 ввода аудио в режиме голосового диалога, в цифровые аудиосигналы под управлением основного блока ex360 управления, включающего в себя CPU, ROM и RAM. Затем, блок ex352 модуляции/демодуляции выполняет обработку расширенного спектра над цифровыми аудиосигналами, и передающий и принимающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты над данными, с тем чтобы передать результирующие данные через антенну ex350. Также, в сотовом телефоне ex114, передающий и принимающий блок ex351 усиливает данные, принятые антенной ex350 в режиме голосового разговора и выполняет преобразование частоты и аналого-цифровое преобразование данных.
[0258] Затем, блок e352 модуляции/демодуляции выполняет обратную обработку расширенного спектра над данными, и блок ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, с тем чтобы вывести их через блок ex357 вывода аудио. К тому же, когда передается электронное письмо в режиме связи, текстовые данные электронного письма, введенные посредством оперирования операционными клавишами ех366 и другого из основного корпуса, отправляются в основной блок ех360 управления через блок ex362 управления вводом операций. Основной блок ех360 управления побуждает блок ex352 модуляции/демодуляции выполнять обработку по расширению спектра над текстовыми данными, и передающий и принимающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты над результирующими данными, чтобы передать данные на базовую станцию ex110 через антенну ex350. Когда электронное письмо принято, обработка, которая является приблизительно обратной к обработке для передачи электронного письма, выполняется над принятыми данными, и результирующие данные выдаются на блок ex358 отображения.
[0259] Когда передается или передаются видео, неподвижные изображения, или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала сжимает и кодирует видеосигналы, подаваемые из блока ex365 камеры с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления, и передает кодированные видеоданные в блок ex353 мультиплексирования/демультиплексирования. В отличие от этого, во время, когда блок ex365 камеры захватывает видео, неподвижные изображения и другие, блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ex356 ввода аудио, и передает кодированные аудиоданные на блок ex353 мультиплексирования/демультиплексирования.
[0260] Блок ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, подаваемые из блока ex355 обработки видеосигнала, и кодированные аудиоданные, подаваемые из блока ex354 обработки аудиосигнала, используя предварительно определенный способ. Затем, блок ex352 модуляции/демодуляции выполняет обработку по расширению спектра над мультиплексированными данными, и передающий и принимающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты над данными, с тем чтобы передать результирующие данные через антенну ex350.
[0261] При приеме данных видеофайла, который связан с web-страницей, и другим в режиме передачи данных или при приеме электронного письма с прикрепленным видео и/или аудио, для того, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных, и подает в блок ex355 обработки видеосигнала кодированные видеоданные и в блок ex354 обработки аудиосигнала кодированные аудиоданные, через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущегося изображения, соответствующего способу кодирования движущегося изображения, показанному в каждом из вариантов осуществления, и затем блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с web-страницей, посредством блока ex359 управления LCD. К тому же, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудио предоставляет аудио.
[0262] К тому же, аналогично телевизору ex300, терминал, такой как сотовый телефон ex114, вероятно имеет 3 типа конфигураций реализации, включающих в себя не только (i) передающий и принимающий терминал, включающий в себя как устройством кодирования, так и устройство декодирования, но также (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) принимающий терминал, включающий в себя только устройство декодирования. Хотя система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных в видеоданные в данном описании, мультиплексированные данные могут быть получены посредством мультиплексирования не аудиоданных, а символьных данных, относящихся к видео, в видеоданные, и могут быть не мультиплексированные данные, а только сами видеоданные.
[0263] В связи с этим, способ кодирования движущегося изображения и способ декодирования движущегося изображения в каждом из вариантов осуществления может быть использован в любом из описанных устройств и систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
[0264] К тому же, настоящее изобретение не ограничено вариантами осуществления, и различные модификации и версии возможны без отступления от объема настоящего изобретения.
[0265] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 5)
Видеоданные могут быть сгенерированы посредством переключения, если необходимо, между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с другим стандартом, таким как MPEG-2, MPEG4-AVC и VC-1.
[0266] Здесь, когда генерируется и затем декодируется множество видеоданных, которые соответствуют разным стандартам, способы декодирования следует выбирать, чтобы соответствовать разным стандартам. Однако, так как не может быть детектировано какому стандарту соответствуют каждые из множества видеоданных, которые должны быть декодированы, есть проблема, что соответствующий способ декодирования не может быть выбран.
[0267] Для того, чтобы решить данную проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и других в видеоданные, имеют структуру, включающую в себя идентификационную информацию, указывающую какому стандарту соответствуют видеоданные. В дальнейшем будет описана конкретная структура мультиплексированных данных, включающих в себя видеоданные, сгенерированные способом кодирования движущегося изображения и посредством устройства кодирования движущегося изображения, показанными в каждом из вариантов осуществления. Мультиплексированные данные является цифровым потоком в формате Транспортного потока MPEG-2.
[0268] На фиг. 25 проиллюстрирована структура мультиплексированных данных. Как проиллюстрировано на Фиг. 25, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики (IG). Видеопоток представляет первичное видео и вторичное видео кинофильма, аудиопоток представляет часть первичного аудио и часть вторичного аудио, которая должна быть смикширована с частью первичного аудио, и поток презентационной графики представляющей субтитры кинофильма. Здесь, первичное видео является нормальным видео, которое должно быть отображено на экране, и вторичное видео является видео, которое должно быть отображено в небольшом окне в основном видео. К тому же, поток интерактивной графики представляет интерактивный экран, который должен быть сгенерирован посредством расположения компонентов GUI на экране. Видеопоток кодируется способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, и способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с традиционным стандартом, таким как MPEG-2, MPEG4-AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, таким как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, и линейная PCM.
[0269] Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 присваивается видеопотоку, который должен быть использован для видео кинофильма, с 0x1100 по 0x111F присваиваются аудиопотокам, с 0x1200 по 0x121F присваиваются потокам презентационной графики, с 0x1400 по 0x141F присваиваются потокам интерактивной графики, с 0x1B00 по 0x1B1F присваиваются видеопотокам, которые должны быть использованы для вторичного видео кинофильма, и с 0x1A00 по 0x1A1F присваиваются аудиопотокам, которые должны быть использованы для вторичного видео, которое должно быть смикшировано с первичным аудио.
[0270] Фиг. 26 схематично иллюстрирует как мультиплексируются данные. Сначала, видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразовываются в поток из PES-пакетов ex236 и поток из PES-пакетов ex239, и дополнительно в TS-пакеты ex237 и TS-пакеты ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразовываются в поток из PES-пакетов ex242 и поток из PES-пакетов ex245, и дополнительно в TS-пакеты ex243 и TS-пакеты ex246, соответственно. Эти TS-пакеты мультиплексируются в поток для получения мультиплексированных данных ex247.
[0271] Фиг. 27 более подробно иллюстрирует как видеопоток хранится в потоке PES-пакетов. Первая полоса на Фиг. 27 показывает поток видеокадров в видеопотоке. Вторая полоса показывает поток PES-пакетов. Как указано стрелками, обозначенными как yy1, yy2, уу3 и yy4 на Фиг. 27, видеопоток делится на картинки, такие как I-картинки, B-картинки и P-картинки, каждая из которых является презентационной единицей видео, и картинки хранятся в полезных данных каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок хранит Временную отметку предоставления (PTS), указывающую время отображения картинки, и Временную метку декодирования (DTS), указывающую время декодирования картинки.
[0272] На Фиг. 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.
[0273] Каждый из TS-пакетов, включенный в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитров и другое, но также Таблицу связей программ (PAT), Таблицу карты программы (PMT) и Опорную временную отметку программ (PCR). PAT показывает какой PID в PMT, используемой в мультиплексированных данных, указывает, и PID самой PAT регистрируется как ноль. PMT хранит PID потоков видео, аудио, субтитров и другое, включенных в мультиплексированные данные, и информацию атрибутов потоков, соответствующих данным PID. PMT также имеет различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы имеют информацию, такую как информация управления копированием, показывающим разрешено ли копирование мультиплексированных данных. PCR хранит информацию времени STC, соответствующую ATS, показывающей когда PCR-пакет передается декодеру, для того, чтобы достигнуть синхронизации между Временной меткой прибытия (АТС), которая является временной осью ATS, и сигналом синхронизации системы (STC), который является временной осью PTS и DTS.
[0274] Фиг. 29 подробно иллюстрирует структуру данных PMT. PMT-заголовок размещен в головной части PMT. PMT-заголовок описывает длину данных, включенных в PMT, и другое. Множество дескрипторов, относящихся к мультиплексированным данным, размещены после PMT-заголовка. Информация, такая как информация управления копированием, описывается в дескрипторах. После дескрипторов, размещено множество порций информации потока, относящейся к потокам, включенным в мультиплексированные данные. Каждая порция информации потока включает в себя дескрипторы потока, причем каждый описывает информацию, такую как тип потока для идентификации кодека сжатия потока, PID потока и информацию атрибутов потока (такую как скорость смены кадров или соотношение размеров). Дескрипторы потока равны по количеству числу потоков в мультиплексированных данных.
[0275] Когда мультиплексированные данные записываются на носитель записи и другое, они записываются вместе с информационными файлами мультиплексированных данных.
[0276] Каждый из информационных файлов мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на Фиг. 30. Информационные файлы мультиплексированных данных находятся в точном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту записей.
[0277] Как проиллюстрировано на Фиг. 30, мультиплексированные данные включают в себя скорость передачи системы, время начала воспроизведения и время завершения воспроизведения. Скорость системы указывает максимальную скорость передачи, с которой целевой декодер системы, который будет описан далее, передает мультиплексированные данные PID-фильтру. Интервалы ATS, включенные в мультиплексированные данные, устанавливаются так, чтобы не быть выше, чем скорость передачи системы. Время начала воспроизведения указывает PTS в видеокадре в головной части мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается на время завершения воспроизведения.
[0278] Как показано на Фиг. 31, порция информации атрибутов регистрируется в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая порция информации атрибутов имеет разную информацию, в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики.
Каждая порция информации атрибутов видеопотока несет информацию, включающую в себя какой вид кодека сжатия используется для сжатия видеопотока, и разрешение, соотношение размеров и скорость смены кадров порций данных картинки, которая включена в видеопоток. Каждая порция информации атрибутов аудиопотока несет информацию, включающую в себя какой вид кодека сжатия используется для сжатия аудиопотока, сколько каналов включено в аудиопоток, какой язык поддерживает аудио поток и насколько высокой является частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для использования декодера до того, как проигрыватель проигрывает информацию.
[0279] В настоящем варианте осуществления, мультиплексированные данные, которые должны быть использованы, являются типом потока, включенным в PMT. К тому же, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более конкретно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включает в себя уникальный этап или блок для присвоения уникальной информации, указывающей видеоданные, сгенерированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, типу потока, включенному в PMT или информацию атрибутов видеопотока. При данной структуре, видеоданные, сгенерированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, могут отличаться от видеоданных, которые соответствуют другому стандарту.
[0280] К тому же, на Фиг. 32 проиллюстрированы этапы способа кодирования движущегося изображения согласно настоящему варианту осуществления 5. На этапе exS100 тип потока, включенный в PMT или информацию атрибутов видеопотока, получается из мультиплексированных данных. Далее, на этапе exS101 определяется, указывает ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные сгенерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления или нет. Когда определено, что тип потока или информация атрибутов видеопотока указывает, что мультиплексированные данные сгенерированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, на этапе exS102 тип потока или информация атрибутов видеопотока декодируется способом декодирования движущегося изображения в каждом из вариантов осуществления. К тому же, когда тип потока или информация атрибутов видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG4-AVC и VC-1, на этапе exS103 тип потока или информация атрибутов видеопотока декодируется способом декодирования движущегося изображения в соответствии с традиционными стандартами.
[0281] В связи с этим, присвоение нового уникального значения типу потока или информации атрибутов видеопотока обеспечивает возможность определения - может ли способ декодирования движущегося изображения или устройство декодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, выполнить декодирование или нет. Даже после ввода мультиплексированных данных, которые соответствуют другому стандарту, может быть выбран соответствующий способ или устройство декодирования. Таким образом, становится возможным декодировать информацию без каких-либо ошибок. К тому же, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, или способ декодирования движущегося изображения или устройство декодирования движущегося изображения в варианте осуществления 5 могут быть использованы в устройствах и системах, описанных выше.
[0282] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 6)
Каждое из способа кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления обычно достигается в форме интегральной схемы или микросхемы Большой интегральной схемы (БИС). В качестве примера БИС, на Фиг. 33 проиллюстрирована конфигурация БИС ex500, которая изготовлена в одной микросхеме. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ех507, ех508 и ех509, которые должны быть описаны ниже, и данные элементы присоединены друг к другу посредством шины ex510. Блок ex505 схемы электропитания активируется посредством подачи электроэнергии каждому из элементов, когда включается блок ex505 схемы электропитания.
[0283] Например, когда выполняется кодирование, БИС ex500 принимает AV сигнал из микрофона ex117, камеры ex113 и другого через AV IO ex509 под управлением блока ex501 управления, включающего в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока и блок ex512 управления частотой возбуждения. Принятый AV сигнал временно сохраняется во внешней памяти ex511, такой как SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на участки данных, согласно объему обработки и скорости, которые должны быть переданы блоку ex507 обработки сигналов. Затем, блок ex507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из Вариантов осуществления. К тому же, блок ex507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и IO ex506 потока предоставляет мультиплексированные данные наружу. Предоставленные мультиплексированные данные передаются на базовую станцию ex107, или записываются на носители ex215 записи. Когда наборы данных мультиплексируются, наборы данных должны быть временно сохранены в буфер ex508, так чтобы наборы данных были синхронизированы друг с другом.
[0284] Хотя память ex511 является элементом за пределами БИС ex500, она может быть включена в БИС ex500. Буфер ex508 не ограничен одним буфером, но может состоять из буферов. К тому же, БИС ex500 может быть изготовлена в одной микросхеме или множестве микросхем.
[0285] К тому же, хотя блок ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, блок ex512 управления частотой возбуждения, конфигурация блока ex501 управления не ограничена таким. Например, блок ex507 обработки сигналов может дополнительно включать в себя CPU. Включение еще одного CPU в блок ex507 обработки сигналов может улучшить скорость обработки. К тому же, в качестве еще одного примера, CPU ex502 может служить как или быть частью блока ex507 обработки сигналов и, например, может включать в себя блок обработки аудиосигнала. В таком случае, блок ex501 управления включает в себя блок ex507 обработки сигналов или CPU ex502, включающий в себя часть блока ex507 обработки сигналов.
[0286] Название, используемое здесь, БИС, но может быть также названо IC, системой БИС, супер БИС или ультра БИС в зависимости от степени интеграции.
[0287] Более того, пути для достижения интеграции не ограничены БИС, и специальная схема или процессор общего назначения и так далее может также реализовать данную интеграцию. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления БИС, или реконфигурируемый процессор, который обеспечивает возможность реконфигурации соединения или конфигурации БИС, может быть использован для тех же целей.
[0288] В будущем, с развитием в полупроводниковой технологии, совершенно новая технология может заменить БИС. Функциональные блоки могут быть интегрированы используя такую технологию. Есть вероятность того, что настоящее изобретение применимо к биотехнологии.
[0289] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 7)
Когда декодируются видеоданные, сгенерированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, в сравнении с тем, когда декодируются видеоданные, которые соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, объем вычисления вероятно увеличивается. Таким образом, БИС ex500 должна быть установлена на частоту возбуждения более высокую, чем частота возбуждения CPU ex502, который должен быть использован, когда декодируются видеоданные в соответствии с традиционным стандартом. Однако, когда частота возбуждения устанавливается выше, есть проблема, что увеличивается потребление электроэнергии.
[0290] Для того, чтобы решить данную проблему, устройство декодирования движущегося изображения, такое как телевизор ex300 или БИС ex500, выполнено с возможностью определения того, какому стандарту соответствуют видеоданные, и переключения между частотами возбуждения согласно определенному стандарту. Фиг. 34 иллюстрирует конфигурацию ex800 в варианте осуществления 7. Блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные генерируются способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, блок ex803 переключения частоты возбуждения дает указание блоку ex801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из Вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем частота возбуждения видеоданных, сгенерированных способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, блок ex803 переключения частоты возбуждения дает указание блоку ex802 обработки декодирования, который соответствует традиционному стандарту, декодировать видеоданные.
[0291] Более конкретно, блок ex803 переключения частоты возбуждения включает в себя CPU ex502 и блок ex512 управления частотой возбуждения на Фиг. 33. Здесь, каждый из блока ex801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блока ex802 обработки декодирования, который соответствует традиционному стандарту, соответствует блоку ex507 обработки сигналов на Фиг. 33. CPU ex502 определяет какому стандарту соответствуют видеоданные. Затем, блок ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала от CPU ex502. К тому же, блок ex507 обработки сигналов декодирует видеоданные на основе сигнала от CPU ex502. Например, идентификационная информация, описанная в Варианте осуществления 5, вероятно используется для идентификации видеоданных. Идентификационная информация не ограничена идентификационной информацией, описанной в Варианте осуществления 5, но также может быть любой информацией до тех пор, пока информация указывает какому стандарту соответствуют видеоданные. Например, когда может быть определено какому стандарту соответствуют видеоданные на основе внешнего сигнала для определения того, какое видео используется для телевизора или диска и т.д., определение может быть сделано на основе такого внешнего сигнала. К тому же, CPU ex502 выбирает частоту возбуждения на основе, например, таблицы поиска, в которой стандарты видеоданных связаны с частотами возбуждения, как показано на Фиг. 36. Частота возбуждения может быть выбрана посредством хранения таблицы поиска в буфере ex508 и во внутренней памяти БИС, и со ссылкой на таблицу соответствия посредством CPU ex502.
[0292] Фиг. 35 иллюстрирует этапы для исполнения способа в варианте осуществления 7. Сначала, на этапе exS200, блок ex507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Далее, на этапе exS201, CPU ex502 определяет сгенерированы ли видеоданные на основе идентификационной информации способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления, или нет. Когда видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из Вариантов осуществления, на этапе exS202, CPU ex502 передает сигнал для установки частоты возбуждения на более высокую частоту возбуждения в блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, на этапе exS203, CPU ex502 передает сигнал для установки частоты возбуждения на более низкую частоту возбуждения в блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем частота возбуждения в случае, когда видеоданные генерируются способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления.
[0293] К тому же, наряду с переключением частот возбуждения, эффект экономии электроэнергии может быть улучшен посредством изменения напряжения, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500. Например, когда частота возбуждения установлена ниже, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, вероятно установлено на напряжение ниже, чем напряжение в случае, когда частота возбуждения установлена выше.
[0294] К тому же, когда объем вычисления для декодирования больше, частота возбуждения может быть установлена выше, и когда объем вычисления для декодирования меньше, частота возбуждения может быть установлена ниже, в качестве способа установки частоты возбуждения. Таким образом, способ установки не ограничен способами, описанными выше. Например, когда объем вычисления для декодирования видеоданных в соответствии с MPEG 4 - AVC больше, чем объем вычисления для декодирования видеоданных, сгенерированных способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, частота возбуждения вероятно установлена в обратном порядке для установки, описанной выше.
[0295] К тому же, способ для установки частоты возбуждения не ограничен способом для установки частоты возбуждения ниже. Например, когда идентификационная информация указывает, что видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, вероятно установлено выше. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, вероятно установлено ниже. В качестве другого примера, когда идентификационная информация указывает, что видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из Вариантов осуществления, возбуждение CPU ex502 вероятно не должно приостанавливаться. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, возбуждение CPU ex502 вероятно приостанавливается в заданное время, потому что CPU ex502 имеет дополнительную обрабатывающую способность. Даже когда идентификационная информация указывает, что видеоданные сгенерированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из Вариантов осуществления, в случае, когда CPU ex502 может иметь задержку по времени, возбуждение CPU ex502 вероятно приостанавливается в заданное время. В таком случае, время приостановления вероятно устанавливается короче, чем время приостановления в случае, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1.
[0296] Следовательно, эффект экономии электроэнергии может быть улучшен посредством переключения между частотами возбуждения в соответствии со стандартом, которому видеоданные соответствуют. К тому же, когда БИС ex500 или устройство, включающее в себя БИС ex500, возбуждается используя батарею, время службы батареи может быть продлено с помощью эффекта экономии электроэнергии.
[0297] (ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 8)
Есть случаи, где множество видеоданных, которые соответствуют разным стандартам, предоставляется устройствам и системам, таким как телевизор и сотовый телефон. Для того, чтобы обеспечить возможность декодирования множества видеоданных, которые соответствуют разным стандартам, блок ex507 обработки сигналов БИС ex500 должен соответствовать разным стандартам. Однако, проблемы увеличения масштаба схемы БИС ex500 и увеличение стоимости возникают при индивидуальном использовании блоков ex507 обработки сигналов, которые соответствуют соответствующим стандартам.
[0298] Для того, чтобы решить данную проблему, то, что сформулировано, является конфигурацией, в которой блок обработки декодирования для реализации способа декодирования движущегося изображения в каждом из вариантов осуществления, и блок обработки декодирования, который соответствует традиционному стандарту, такому как MPEG-2, MPEG4-AVC и VC-1, отчасти используются совместно. Ex900 на фиг. 37A показывает пример данной конфигурации. Например, способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося изображения, который соответствует MPEG4-AVC, имеют, отчасти общие, детали обработки, такой как энтропийное кодирование, обратное квантование, фильтрация блочности и предсказание с компенсацией движения. Детали обработки, которая должны быть разделена, вероятно включают в себя использование блока ex902 обработки декодирования, который соответствует MPEG4-AVC. В отличие от этого, выделенный блок ex902 обработки декодирования вероятно используется для другой обработки, уникальной для настоящего изобретения. Так как настоящее изобретение отличается арифметическим декодированием, в частности, например, выделенный блок ex901 обработки декодирования используется для арифметического декодирования. Иначе, блок обработки декодирования вероятно совместно используется для одного из обратного квантования, фильтрации блочности и компенсации движения, или всего из обработки. Блок обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, может быть совместно использован для обработки, которая должны быть разделена, и выделенный блок обработки декодирования может быть использован для обработки, уникальной для обработки MPEG4-AVC.
[0299] К тому же, ex1000 на Фиг. 37B показывает еще один пример, в котором обработка отчасти разделяется. Этот пример использует конфигурацию, включающую в себя выделенный блок ex1001 обработки декодирования, который поддерживает обработку, уникальную для настоящего изобретения, выделенный блок ex1002 обработки декодирования, который поддерживает обработку, уникальную для еще одного традиционного стандарта, и выделенный блок ex1003 обработки декодирования, который поддерживает обработку, которая должны быть разделена между способом декодирования движущегося изображения в настоящем изобретении и традиционным способом декодирования движущегося изображения. Здесь, выделенные блоки ex1001 и ex1002 обработки декодирования не обязательно являются специализированными для обработки настоящего изобретения и обработки традиционного стандарта и могут быть блоками обработки декодирования, способными реализовывать общую обработку. К тому же, конфигурация настоящего варианта осуществления может быть реализована посредством БИС ex500.
[0300] В связи с этим, уменьшение масштаба схемы БИС и уменьшение стоимости возможны посредством совместного использования блока обработки декодирования для обработки, которая должна быть разделена между способом декодирования движущегося изображения в настоящем изобретении и способом декодирования движущегося изображения в соответствии с традиционным стандартом.
[ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ]
[0301] Настоящее изобретение применимо к способу кодирования изображения, способу декодирования изображения, устройству кодирования изображения и устройству декодирования изображения, и в частности, применимо к способу кодирования изображения, способу декодирования изображения, устройству кодирования изображения и устройству декодирования изображения, которые используют арифметическое кодирование или арифметическое декодирование.
[СПИСОК ССЫЛОЧНЫХ ОБОЗНАЧЕНИЙ]
[0302] 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 Блок двоичного арифметического декодирования