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

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к способу декодирования изображения, способу кодирования изображения, устройству декодирования изображения, устройству кодирования изображения и устройству кодирования и декодирования изображения и, в частности, к способу декодирования изображения, способу кодирования изображения, устройству декодирования изображения, устройству кодирования изображения и устройству кодирования и декодирования изображения, которые используют арифметическое кодирование или арифметическое декодирование.
УРОВЕНЬ ТЕХНИКИ
Обычные сигналы изображения имеют статистические изменения, показывающие нестационарный характер. Одним из способов энтропийного кодирования, использующих нестационарные нестатистические изменения, является контекстно-адаптивное двоичное арифметическое кодирование (CABAC) (смотри NPL 1). CABAC используется в качестве стандарта ITU-T/ISOIEC для кодирования видео H.264/AVC (улучшенное кодирование видео).
Значение терминов, используемых в схеме CABAC, будет описано ниже.
(1) "Контекстно-адаптивный" означает адаптацию способов кодирования и декодирования к статистическим изменениям. Иными словами, "контекстно-адаптивный" означает предсказание соответствующей вероятности в качестве вероятности появления символа наряду с событием условий окружения при кодировании или декодировании символа. В процессе кодирования, при определении вероятности р(х) появления каждого значения символа S, условная вероятность появления применяется с использованием фактического события или последовательности событий F(z) в качестве условия.
(2) "Двоичный" означает представление символа с использованием двоичной последовательности. Символ, представленный многочисленными значениями, сразу отображается в двоичную последовательность, которая называется "строкой ячеек". Предсказанная вероятность (условная вероятность) переключается и используется для каждого из элементов последовательности, и появление одного из событий из упомянутых двух значений представляется битовой последовательностью. Соответственно, вероятностью значения можно управлять (инициализировать и обновлять) с использованием единицы (двоичной элементарной единицы), меньшей, чем единицы типа сигнала (смотри фиг. 2 и другие из NPL 1).
(3) "Арифметический" означает, что битовая последовательность генерируется без ссылки на соответствия в таблице, а с помощью вычисления. В схеме кодирования, использующей таблицы кодов с переменной длиной слова, такой как H.263, MPEG-4 и H.264, даже каждое значение символа с вероятностью появления больше чем 0,5 (50%) должно ассоциироваться с одной двоичной последовательностью (битовой последовательностью). Таким образом, значение с наибольшей вероятностью должно ассоциироваться минимум с одним битом для одного символа. Напротив, арифметическое кодирование позволяет представлять появление события с более высокой вероятностью с помощью целого числа, равного или меньшего, чем один бит. Когда (i) существует тип сигнала, в котором вероятность появления наличия первого двоичного значения, такого как 0, превышает 0,9 (90%), и (ii) событие, имеющее первое двоичное значение, такое как 0, появляется N раз подряд, не нужно выводить данные бита 1 N раз для каждого значения "0".
ПЕРЕЧЕНЬ ССЫЛОК
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
NPL 1: Detlev Marpe, et. al., "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, Vol. 13, No.7, July 2003.
NPL 2: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR, 20-28 January, 2011 "WD2: Working Draft 2 of High-Efficiency Video Coding" JCTVC-D503 http://wftp3.itu.int/av-arch/jctvc-site/2011_01_D_Daegu/JCTVC-D503.doc.
NPL 3: Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR, 20-28 January, 2011, "Common test conditions and software reference configurations", JCTVC-E700.
NPL 4: Gisle Bjontegaard, “Improvements of the BD-PSNR model," ITU-T SG16 Q.6 Document,VCEG-AI11, Berlin, July 2008.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
В данном способе кодирования изображения и данном способе декодирования изображения было бы желательным уменьшить использование памяти (используемый объем памяти).
В данном случае задача настоящего изобретения состоит в обеспечении способа кодирования изображения или способа декодирования изображения, которые позволяют уменьшить использование памяти.
РЕШЕНИЕ ЗАДАЧИ
Поставленная задача решается тем, что способом декодирования изображения согласно аспекту настоящего изобретения является способ декодирования изображения, использующий арифметическое декодирование, и способ включает в себя: определение контекста для использования в текущем блоке среди множества контекстов; выполнение арифметического декодирования над битовой последовательностью, соответствующей текущему блоку с использованием определенного контекста для декодирования двоичной последовательности, причем битовая последовательность получается путем выполнения арифметического кодирования над параметром управления текущего блока; и выполнение обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, в котором определение контекста включает в себя: определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала представляет собой первый тип, причем соседние блоки представляют собой левый блок и верхний блок текущего блока; и определение контекста при втором условии, что не используется декодированный параметр управления верхнего блока, когда тип сигнала представляет собой второй тип, отличный от первого типа.
ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает способ кодирования изображения или способ декодирования изображения, который позволяет уменьшить использование памяти.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - функциональная блок-схема устройства кодирования изображения согласно первому варианту осуществления.
Фиг. 2 - функциональная блок-схема блока кодирования с переменной длиной слова согласно первому варианту осуществления.
Фиг. 3 - таблица контекстной модели параметра управления согласно первому варианту осуществления.
Фиг. 4 - последовательность операций, указывающая способ арифметического кодирования согласно первому варианту осуществления.
Фиг. 5 - функциональная блок-схема устройства декодирования изображения согласно второму варианту осуществления.
Фиг. 6 - функциональная блок-схема блока декодирования с переменной длиной слова согласно второму варианту осуществления.
Фиг. 7 - последовательность операций, указывающая способ арифметического декодирования согласно второму варианту осуществления.
Фиг. 8 - последовательность операций, указывающая модификацию способа арифметического декодирования согласно второму варианту осуществления.
Фиг. 9 иллюстрирует разделенные блоки (структуру дерева) в соответствии с HEVC согласно второму варианту осуществления.
Фиг. 10 иллюстрирует структуру многослойного блока согласно второму варианту осуществления.
Фиг. 11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag согласно третьему варианту осуществления.
Фиг. 12А - таблица, указывающая результат верификации относительно split_coding_unit_flag согласно третьему варианту осуществления.
Фиг. 12В - таблица, указывающая результат верификации относительно split_coding_unit_flag согласно третьему варианту осуществления.
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag согласно третьему варианту осуществления.
Фиг. 14А - таблица, указывающая результат верификации относительно skip_flag согласно третьему варианту осуществления.
Фиг. 14В - таблица, указывающая результат верификации относительно skip_flag согласно третьему варианту осуществления.
Фиг. 15 - таблица, указывающая способ арифметического декодирования для merge_flag согласно третьему варианту осуществления.
Фиг. 16А - таблица, указывающая результат верификации относительно merge_flag согласно третьему варианту осуществления.
Фиг. 16В - таблица, указывающая результат верификации относительно merge_flag согласно третьему варианту осуществления.
Фиг. 17 иллюстрирует контекстные модели, использующие значения параметров управления, соответствующих двум соседним блокам согласно вариантам осуществления.
Фиг. 18 иллюстрирует увеличение использования памяти при использовании верхнего блока согласно вариантам осуществления.
Фиг. 19 иллюстрирует общую конфигурацию системы предоставления контента для осуществления услуг распределения контента.
Фиг. 20 иллюстрирует общую конфигурацию цифровой широковещательной системы.
Фиг. 21 - блок-схема, иллюстрирующая пример конфигурации телевизора.
Фиг. 22 - блок-схема, иллюстрирующая пример конфигурации блока записи/воспроизведения информации, который считывает и записывает информацию из или на носитель записи, который представляет собой оптический диск.
Фиг. 23 иллюстрирует пример конфигурации носителя записи, который представляет собой оптический диск.
Фиг. 24А иллюстрирует пример сотового телефона.
Фиг. 24В иллюстрирует блок-схему, указывающую пример конфигурации сотового телефона.
Фиг. 25 иллюстрирует структуру мультиплексированных данных.
Фиг. 26 схематично иллюстрирует то, как каждый поток мультиплексируется в мультиплексированных данных.
Фиг. 27 более подробно иллюстрирует то, как видеопоток сохраняется в виде потока PES-пакетов.
Фиг. 28 иллюстрирует структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 29 иллюстрирует структуру данных РМТ.
Фиг. 30 иллюстрирует внутреннюю структуру информации мультиплексированных данных.
Фиг. 31 иллюстрирует внутреннюю структуру информации атрибута потока.
Фиг. 32 иллюстрирует этапы идентификации видеоданных.
Фиг. 33 - блок-схема, иллюстрирующая пример конфигурации интегральной схемы для осуществления способа кодирования движущегося изображения и способа декодирования движущегося изображения согласно каждому из вариантов осуществления.
Фиг. 34 иллюстрирует конфигурацию для переключения между частотами возбуждения.
Фиг. 35 иллюстрирует этапы идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 36 иллюстрирует пример таблицы поиска, в которой стандарты видеоданных ассоциируются с частотами возбуждения.
Фиг. 37А иллюстрирует пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг. 37В иллюстрирует другой пример конфигурации для совместного использования модуля блока обработки сигналов.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Знание, на котором базируется настоящее изобретение
Авторы данного изобретения обнаружили следующие проблемы.
В схеме высокоэффективного кодирования видео (HEVC), которая представляет собой схему кодирования видео следующего поколения, исследуется контекстная модель при кодировании и декодировании различных параметров управления (NPL 2). Параметр управления включен в кодированный битовый поток и представляет собой параметр (флаг и т.д.), который используется в процессе кодирования или декодирования. Более конкретно, параметр управления представляет собой элемент синтаксиса.
Контекстная модель представляет собой информацию, указывающую, (i) какое условие рассматривается для (ii) сигнала какой единицы (каждого элемента мультизначения, двоичного значения, двоичной последовательности (строки ячеек, bin string)). В данном случае "какое условие" указывает, какое применяется условие с числом условных элементов или какой тип сигнала параметра управления, который должен быть рассмотрен в качестве условия, является соответствующим. Так как условия подразделены на меньшие категории, то есть, так как число условий τ увеличивается, число случаев, которые являются справедливыми для условий, уменьшается. В результате, поскольку число обучений уменьшается, точность предсказанной вероятности уменьшается (например, смотри "эффект ослабления" в NPL 1).
Кроме того, уменьшение числа условий указывает, что оно не учитывает контекста (условий окружения) и не адаптивно к статистическим изменениям.
При построении контекстной модели, после определения основного направления для построения модели, необходимо принимать во внимание пригодность модели путем проведения верификаций (проверок), специализированных для изображения, таких как верификации статистических изменений в деталях изображения и в параметре управления для управления кодированием и декодированием изображения.
В Н.264 использование ограниченного числа наиболее перспективных событий для кодирования символа является критерием правила, и контекстные модели классифицируются на четыре основных типа построения.
Первый и второй типы относятся к кодированию и декодированию параметра управления.
Первая контекстная модель использует кодированные значения вплоть до двух соседних кодированных значений (смотри NPL 1). Хотя определение двух соседних кодированных значений зависит от каждого типа сигнала, обычно используются значения соответствующих параметров управления, которые включены в соседние блоки слева и сверху относительно текущего блока.
Второй тип контекстных моделей представляет собой тип для определения контекста на основании двоичного дерева в качестве вероятности появления. Более конкретно, второй тип контекстных моделей применяется к параметрам управления mb_type и sub_mb_type.
Третий и четвертый типы контекстных моделей относятся к кодированию и декодированию остаточных значений (остаточных данных), таких как данные изображения. Третий тип использует только прошлые кодированные или декодированные значения в порядке сканирования частотных коэффициентов (или квантованных коэффициентов). Четвертый тип определяет контекст согласно декодированным и накопленным значениям (уровням).
Преимущества принципа построения и осуществления вероятностной переходной модели в Н.264, например, первого типа, исследовались в течение длительного периода и будут применены в HEVC, который также исследовался (смотри NPL 2). Например, первый тип, контекстная модель, использующая соседние элементы синтаксиса, исследовался на предмет использования для параметров управления alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, intra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1, mvd_lc, no_residual_data_flag, cbf_luma и cbf_cb (смотри 9.3.3.1.1 из NPL 2).
Однако авторы данного изобретения обнаружили, что существует проблема в использовании памяти при кодировании с использованием "контекстной модели, использующей два соседних блока" первого типа.
Фиг. 17 иллюстрирует контекстные модели, использующие значения параметров управления, соответствующие двум соседним блокам. Кроме того, фиг. 17 иллюстрирует контекстные модели, использующие соседние блоки в Н.264.
Блок С на фиг. 17 включает в себя значение параметра SE управления, который должен быть кодирован и декодирован в текущий момент времени. При кодировании значения параметра SE управления используются значения параметра SE управления одного и того же типа, включенные в верхний блок А и в левый блок В, которые уже кодированы. Более конкретно, вероятность р(х), указывающая то, равно 1 или 0 значение х параметра SE управления блока С (или первое двоичное значение строки ячеек параметра SE управления), предсказанное на основании условной вероятности p(x|(условие A (значение верхнего блока) и условие В (значение левого блока)), использующей, в качестве условий, значение параметра SE управления верхнего блока А и значение параметра SE управления левого блока В.
Фиг. 18 иллюстрирует увеличение использования памяти при использовании верхнего блока.
На фиг. 18 (xP, yP) - положение верхнего левого пикселя единицы предсказания (PU, единицы предсказания движения), включающей в себя блок С. В данном случае блок С представляет собой блок, включающий в себя параметр управления (например, skip_flag), который должен быть кодирован в текущий момент времени. Более того, (xP, yA) на фиг. 18 - положение пикселя, который включен в блок В и используется в качестве условия А (значение параметра управления skip_flag верхнего блока). Кроме того, (xL, yP) на фиг. 18 - положение пикселя, который включен в блок А и используется в качестве условия В (значение параметра управления skip_flag левого блока).
Для того чтобы кодировать или декодировать значение параметра управления skip_flag блока С, устройство кодирования или устройство декодирования должно поддерживать значения skip_flag PU (или результат определения условия), соответствующие положению (xP, yA), включенные в верхний блок В, и положению (xL, yP), включенные в левый блок А. Предполагая, что изображение имеет ширину по горизонтали 4096 пикселей, для того чтобы кодировать параметр управления skip_flag, необходимо поддерживать все значения определения, включенные в верхний ряд (Линия L на фиг. 18). Другими словами, для одного параметра управления необходим объем памяти, полученный в соответствии с размером 4096 пикселей/блок.
В данном случае блок С, который должен быть кодирован, имеет переменные размеры, например 64×64, 16×16 или 4×4. Более того, размер блока С, который должен быть кодирован или декодирован последним, нельзя предсказать при кодировании или декодировании блоков в верхнем ряду (Линия L), включающем в себя (хР, yA). Причина состоит в том, что размер каждого блока в нижнем ряду (ряду, включающем в себя блок С) неизвестен при кодировании или декодировании верхнего ряда, ряда, включающего в себя блок А. Таким образом, устройство кодирования или устройство декодирования должно поддерживать значение параметра управления (или значение определения) для каждого минимального размера блока, предполагая, что наименьший размер блока среди всех размеров, применяемых к параметрам управления, используется в качестве размера блока нижнего ряда. Положения черных кружков на фиг. 8 показывают условия, которые необходимо поддерживать, хотя условные значения фактически не являются обязательными при кодировании и декодировании нижнего ряда (ряда, включающего в себя блок С).
Кроме того, два соседних блока на фиг.18 (левый блок А и верхний блок В) следуют концепции соседних блоков в Н.264, и новые перспективы относительно разбиения иерархических блоков не вводятся. Как описано ниже, существуют случаи, где такие условные значения, на которые будут ссылаться на фиг. 18, не всегда имеют смысл для параметров управления, адаптированных для разделения рекурсивного квадродерева, которое должно быть введено в HEVC, так как параметры управления следуют рекурсивному порядку исполнения, иерархической глубине или положениям блоков.
В связи с этим авторы данного изобретения обнаружили, что использование памяти увеличивается за счет использования условных значений верхних блоков при выполнении арифметического кодирования или декодирования параметров управления. Кроме того, авторы данного изобретения обнаружили, что использование памяти дополнительно увеличивается в HEVC.
Напротив, способ декодирования изображения согласно аспекту настоящего изобретения представляет собой способ декодирования изображения, использующий арифметическое декодирование, и способ включает в себя этапы, на которых: определяют контекст для использования в текущем блоке среди множества контекстов, выполняют арифметическое декодирование над битовой последовательностью, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем битовая последовательность получается путем выполнения арифметического кодирования над параметром управления текущего блока; и выполняют обратную бинаризацию двоичной последовательности для декодирования параметра управления текущего блока, в котором этап определения контекста включает в себя определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала представляет собой первый тип, причем соседние блоки представляют собой левый блок и верхний блок текущего блока; и определение контекста при втором условии, что не используется декодированный параметр управления верхнего блока, когда тип сигнала представляет собой второй тип, отличный от первого типа.
С помощью данной структуры способ декодирования изображения позволяет уменьшить использование памяти. Более конкретно, в способе декодирования изображения, поскольку параметр управления верхнего блока не используется для параметра управления второго типа, отсутствует необходимость в поддержании параметра управления второго типа верхнего блока. С помощью данной структуры, по сравнению со случаем, где верхний блок и левый блок используются в качестве единообразного "использования контекстной модели на основании значений параметров управления соседних блоков", использование памяти можно уменьшить согласно способу декодирования изображения.
Кроме того, согласно способу декодирования изображения можно использовать контекст, соответствующий для иерархической структуры дерева, которая представляет собой структуру данных, которая не рассматривается в общепринятом стандарте Н.264 и является уникальной для нового стандарта HEVC. Альтернативно, можно выполнить ссылку на память.
Кроме того, второе условие может представлять условие, касающееся того, декодированные параметры управления левого блока и верхнего блока не используются.
С помощью данной структуры способ декодирования изображения позволяет уменьшить использование памяти за счет неиспользования параметра управления левого блока в добавление к параметру управления верхнего блока.
Кроме того, при определении контекста, предопределенный контекст можно определить при втором условии в качестве контекста для использования при арифметическом декодировании текущего блока, когда тип сигнала представляет собой второй тип.
С помощью данной структуры способ декодирования изображения позволяет уменьшить объем обработки.
Кроме того, контекст можно определить при втором условии, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока, когда типом сигнала является второй тип.
С помощью данной структуры способ декодирования изображения позволяет выбрать соответствующий контекст при уменьшении использования памяти.
Кроме того, этап определения контекста может дополнительно включать в себя: определение, является ли декодированный параметр управления верхнего блока доступным при декодировании, основываясь на положении текущего блока; и определяют контекст при втором условии, когда декодированный параметр управления верхнего блока не является доступным.
С помощью данной структуры способ декодирования изображения позволяет уменьшить объем обработки.
Кроме того, при определении контекста можно определить, что декодированный параметр управления верхнего блока является доступным при декодировании, когда текущий блок находится на границе среза.
Кроме того, при определении контекста можно определить, является ли декодированный параметр управления верхнего блока доступным при декодировании, согласно иерархической глубине единицы данных, которой принадлежит параметр управления текущего блока.
Кроме того, второй тип может представлять собой параметр управления, имеющий предопределенную структуру данных.
Кроме того, этап определения контекста может дополнительно включать в себя определение контекста параметра управления второй единицы, меньшей, чем первая единица, путем переключения между первым условием и вторым условием, основываясь на параметре управления первой единицы.
Кроме того, первый тип может представлять собой одно из "split_coding_unit_flag" и "skip_flag", и второй тип может представлять собой "merge_flag".
С помощью данной структуры способ декодирования изображения позволяет соответствующим образом уменьшить использование памяти параметра управления второго типа, например, в случае отсутствия оценки BD-скорости изображения.
Кроме того, "split_coding_unit_flag" может указывать, разделен ли текущий блок на множество блоков, "skip_flag" может указывать, пропускать ли текущий блок, и "merge_flag" может указывать, используется ли режим слияния для текущего блока.
Кроме того, процессы декодирования в соответствии с первым стандартом и процессы декодирования в соответствии со вторым стандартом можно переключать согласно идентификатору, указывающему один из первого стандарта и второго стандарта, причем идентификатор включен в кодированный сигнал, и определение контекста, выполнение и выполнение обратной бинаризации можно выполнить в виде процессов декодирования в соответствии с первым стандартом, когда идентификатор указывает первый стандарт.
Кроме того, способ кодирования изображения согласно аспекту настоящего изобретения представляет собой способ кодирования изображения, использующий арифметическое кодирование, и способ включает в себя этапы, на которых:
выполняют бинаризацию параметра управления текущего блока для генерирования двоичной последовательности; определяют контекст для использования в текущем блоке среди множества контекстов; и выполняют арифметическое кодирование над двоичной последовательностью с использованием определенного контекста для генерирования битовой последовательности, в котором определение контекста включает в себя:
определение типа сигнала параметра управления текущего блока; определение контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала представляет собой первый тип, причем соседние блоки представляют собой левый блок и верхний блок текущего блока; и определение контекста при втором условии, что не используется параметр управления верхнего блока, когда тип сигнала представляет собой второй тип, отличный от первого типа.
С помощью данной структуры способ кодирования изображения позволяет уменьшить использование памяти. Более конкретно, в способе кодирования изображения, поскольку параметр управления верхнего блока не используется для параметра управления второго типа, то отсутствует необходимость поддержания параметра управления второго типа верхнего блока. С помощью данной структуры, по сравнению со случаем, где левый блок и верхний блок используются в качестве единообразного "использования контекстной модели на основании значений параметров управления соседних блоков", использование памяти можно уменьшить согласно способу кодирования изображения.
Кроме того, согласно способу кодирования изображения можно использовать контекст, надлежащий для иерархической структуры дерева, которая представляет собой структуру данных, которая не рассматривается в традиционном Н.264 и является уникальной для нового стандарта HEVC. Альтернативно, можно выполнить ссылку на память.
Кроме того, устройство декодирования изображения согласно аспекту настоящего изобретения представляет собой устройство декодирования изображения, использующее арифметическое декодирование, и устройство включает в себя: блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке среди множества контекстов; блок арифметического декодирования, выполненный с возможностью выполнения арифметического декодирования над битовой последовательностью, соответствующей текущему блоку, с использованием определенного контекста для декодирования двоичной последовательности, причем битовая последовательность получена путем выполнения арифметического кодирования над параметром управления текущего блока; и блок обратной бинаризации, выполненный с возможностью выполнения обратной бинаризации двоичной последовательности для декодирования параметра управления текущего блока, в котором блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются декодированные параметры управления соседних блоков текущего блока, когда тип сигнала представляет собой первый тип, причем соседние блоки представляют собой левый блок и верхний блок текущего блока; и определения контекста при втором условии, что не используется параметр управления верхнего блока тогда, когда тип сигнала представляет собой второй тип, отличный от первого типа.
С помощью данной конфигурации устройство декодирования изображения позволяет уменьшить использование памяти.
Кроме того, устройство кодирования изображения согласно аспекту настоящего изобретения представляет собой устройство кодирования изображения, использующее арифметическое кодирование, и устройство включает в себя: блок бинаризации, выполненный с возможностью бинаризации параметра управления текущего блока для генерирования двоичной последовательности; блок управления контекстом, выполненный с возможностью определения контекста для использования в текущем блоке среди множества контекстов; и блок арифметического кодирования, выполненный с возможностью выполнения арифметического кодирования над двоичной последовательностью с использованием определенного контекста для генерирования битовой последовательности, в котором блок управления контекстом выполнен с возможностью: определения типа сигнала параметра управления текущего блока; определения контекста при первом условии, что используются параметры управления соседних блоков текущего блока, когда тип сигнала представляет собой первый тип, причем соседние блоки представляют собой левый блок и верхний блок текущего блока; и определения контекста при втором условии, что не используется параметр управления верхнего блока, когда тип сигнала представляет собой второй тип, отличный от первого типа.
С помощью данной конфигурации устройство кодирования изображения позволяет уменьшить использование памяти.
Кроме того, устройство кодирования и декодирования изображения согласно аспекту настоящего изобретения представляет собой устройство кодирования и декодирования изображения, включающее в себя устройство декодирования изображения и устройство кодирования изображения.
Общие или специфические аспекты можно реализовать с помощью системы, способа, интегральной схемы, компьютерной программы или носителя записи или с помощью произвольной комбинации из системы, способа, интегральной схемы, компьютерной программы и носителя записи.
Устройство декодирования изображения и устройство кодирования изображения согласно аспекту настоящего изобретения будет специфическим образом описаны со ссылкой на чертежи.
Варианты осуществления, описанные ниже, показывают специфические примеры настоящего изобретения. Значения, формы, материалы, составные элементы, положения и соединения составных элементов, этапы и порядок этапов, указанные в вариантах осуществления, представляют собой примеры и не ограничивают настоящее изобретение. Составные элементы в вариантах осуществления, которые не описаны в независимых пунктах формулы изобретения, которая описывает более общую концепцию настоящего изобретения, описаны в качестве произвольных составных элементов.
ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Ниже приводится описание устройства кодирования изображения согласно первому варианту осуществления настоящего изобретения. Устройство кодирования изображения согласно первому варианту осуществления определяет контекст путем переключения между (1) использованием верхнего блока (блока сверху) и (2) без использования верхнего блока, согласно типу сигнала параметра управления при арифметическом кодировании. С помощью данной структуры можно подавить ухудшение качества изображения и можно уменьшить использование памяти.
Сначала будет описана конфигурация устройства кодирования изображения согласно первому варианту осуществления.
На фиг. 1 изображена блок-схема, иллюстрирующая устройство 100 кодирования изображения согласно первому варианту осуществления.
Устройство 100 кодирования изображения, показанное на фиг. 1, представляет собой устройство кодирования изображения, использующее арифметическое кодирование, и кодирует входной сигнал 121 изображения для генерирования битового потока 124. Устройство 100 кодирования изображения включает в себя блок 101 управления, блок 102 вычитания, блок 103 преобразования и квантования, блок 104 кодирования с переменной длиной слова, блок 105 обратного квантования и обратного преобразования, блок 106 суммирования, блок 107 внутреннего предсказания, блок 108 внешнего предсказания и переключатель 109.
Блок 101 управления вычисляет параметр 130 управления на основании входного сигнала 121 изображения, который должен быть кодирован. Например, параметр 130 управления включает в себя информацию о типе изображения входного сигнала 121 изображения, который должен быть кодирован, размере единицы предсказания движения (единицы предсказания PU) текущего блока, который должен быть кодирован, и информации управления единицы предсказания движения. В данном случае сам параметр 130 управления (данные управления) должен быть кодирован. Таким образом, блок 101 управления выводит параметр 130 управления в блок 104 кодирования с переменной длиной слова.
Блок 102 вычитания вычисляет остаточный сигнал 122, который представляет собой разность (остаточное значение) между входным сигналом 121 изображения и сигналом 129 предсказания изображения на основе единиц-блоков.
Блок 103 преобразования и квантования преобразует остаточный сигнал 122 в значения частотного коэффициента и выполняет квантование полученных значений частотных коэффициентов в квантованные коэффициенты 123 преобразования (остаточные данные).
Блок 105 обратного квантования и обратного преобразования выполняет обратное квантование квантованных коэффициентов 123 преобразования в значения частотных коэффициентов и выполняет обратное преобразование полученных значений частотных коэффициентов в восстановленный остаточный сигнал 125.
Блок 106 суммирования суммирует остаточный сигнал 125 с сигналом 129 предсказания изображения и выводит восстановленный сигнал 126 изображения.
Блок 107 внутреннего предсказания выполняет внутреннее предсказание с использованием восстановленного сигнала 126 изображения для генерирования сигнала 127 предсказания изображения. Блок 108 внешнего предсказания выполняет внешнее предсказание с использованием восстановленного сигнала 126 изображения для генерирования сигнала 128 предсказания изображения.
Переключатель 109 выбирает один из сигнала 127 предсказания изображения и сигнала 128 предсказания изображения и выводит выбранный сигнал в качестве сигнала 129 предсказания изображения.
Блок 104 кодирования с переменной длиной слова кодирует, с использованием САВАС, квантованные коэффициенты 123 преобразования и параметр 130 управления для каждого входного блока для генерирования битового потока 124.
Далее будет описана конфигурация блока 104 кодирования с переменной длиной слова.
На фиг. 2 изображена функциональная блок-схема блока 104 кодирования с переменной длиной слова. Блок 104 кодирования с переменной длиной слова включает в себя блок 141 бинаризации, блок 142 управления контекстом и блок 143 двоичного арифметического кодирования. Ниже приводится описание процесса кодирования с переменной длиной слова над параметром 130 управления. Хотя описание, касающееся процесса кодирования с переменной длиной слова над квантованными коэффициентами 123 преобразования, опущено, этот процесс можно реализовать, например, с использованием известного подхода.
Блок 141 бинаризации выполняет бинаризацию параметра 130 управления для генерирования двоичной последовательности 151. Более конкретно блок 141 бинаризации представляет собой блок обработки, который выполняет "II.1) процесс бинаризации" согласно NPL 1. Блок 141 бинаризации преобразует параметр 130 управления в двоичную последовательность 151, которая называется "строкой ячеек" для каждого типа сигнала согласно предопределенному способу бинаризации. Соответствие между типами сигналов и способами бинаризации будет описано позже. Когда параметр 130 управления на входе представляет собой одно двоичное значение, такое как флаг, блок 141 бинаризации выводит параметр 130 управления в качестве двоичной последовательности 151, как оно есть.
Блок 142 управления контекстом определяет контекст для использования в арифметическом кодировании параметра 130 управления, включенного в текущий блок, который должен быть обработан среди множества контекстов (таблица вероятностных состояний). Кроме того, блок 142 управления контекстом выводит индекс 152 контекста, точно определяющий определенный контекст, блоку 143 двоичного арифметического кодирования.
Более конкретно, блок 142 управления контекстом представляет собой блок обработки, который выполняет "2) моделирование контекста" согласно NPL 1. Блок 142 управления контекстом последовательно принимает множество элементов, включенных в двоичную последовательность 151, выводимую из блока 143 двоичного арифметического кодирования. Блок 142 управления контекстом выбирает один из контекстов, который должен быть использован для двоичного элемента параметра 130 управления согласно типу сигнала параметра 130 управления и положения элемента двоичного элемента в двоичной последовательности 151, и выводит в блок 143 двоичного арифметического кодирования индекс 152 контекста, который представляет собой индекс, указывающий выбранный контекст.
Кроме того, блок 142 управления контекстом поддерживает таблицу вероятностных состояний значений (значений индексов контекста), полученных путем деления элементов в двоичной последовательности параметра 130 управления в условия условных вероятностей, как точно определяется из контекста, инициирует и обновляет таблицу вероятностных состояний.
Кроме того, блок 142 управления контекстом поддерживает состояние (индекс вероятностного состояния) для каждого условия τ появления (для каждого контекста) в качестве дальнейшего деления типа сигнала (для каждого числа элементов в двоичной последовательности параметра 130 управления, когда число элементов в двоичной последовательности равно двум или более; то же самое будет применяться ниже). Состояние представлено с помощью 7-битового значения полностью путем объединения вероятности Р появления (внутреннее отношение, обычно 6-битовое значение), то есть более низкая вероятность одного из двух значений 0 и 1, и 1-битовое значение, указывающее, какое одно из значений имеет более высокую вероятность. Кроме того, поддержание состояния означает инициирование и обновление состояния. Например, обновление соответствует индексации, которая указывает текущее вероятностное состояние (то есть вероятность) в качестве перехода среди 64 конечных состояний как в Н.264.
Когда происходит событие Х на наиболее вероятной стороне, имеющей самую высокую вероятность между двумя значениями, отношение вероятностей на наиболее вероятной стороне незначительно увеличивается. Например, блок 142 управления контекстом может незначительно увеличить отношение вероятностей на наиболее вероятной стороне путем приращения или путем положительного или отрицательного приращения на 1, при этом значение индекса вероятностного состояния соответствует 64 таблицам. С другой стороны, когда происходит событие "НЕ Х", имеющее более низкую вероятность (по сравнению с предсказанной вероятностью), блок 142 управления контекстом значительно увеличивает отношение удерживаемой наиболее вероятной вероятности на основании предопределенного масштабного коэффициента α (например, ≈0,95) (смотри фиг. 6 из NPL 1). Блок 142 управления контекстом согласно первому варианту осуществления переходит и удерживается в состоянии на основании соответствующего значения изменения индекса таблицы для того, чтобы ассоциироваться с изменением с учетом α, как в Н.264.
Блок 143 двоичного арифметического кодирования выполняет арифметическое кодирование над двоичной последовательностью 151 с использованием контекста, определенного с помощью блока 142 управления контекстом для генерирования битового потока 124 (битовой последовательности).
Более конкретно, блок 143 двоичного арифметического кодирования представляет собой блок обработки, который выполняет "3) двоичное арифметическое кодирование" согласно NPL 1. Блок 143 двоичного арифметического кодирования выполняет арифметическое кодирование над двоичной последовательностью 151 с использованием контекста, точно определенного с помощью индекса 152 контекста для генерирования битового потока 124. В данном случае арифметическое кодирование служит для обработки событий, происходящих для параметров 130 управления различных типов сигналов в качестве накопленной суммы вероятностей, и определения соответствий между событиями путем уменьшения диапазона до предопределенного диапазона на одной числовой оси.
Сначала блок 143 двоичного арифметического кодирования делит одну числовую ось на две полусекции согласно вероятностям появления двух возможных значений двоичного элемента, заданного из блока 142 управления контекстом. Когда фактическое значение, возникающее для двоичного элемента (например, 0), представляет собой значение с более высокой вероятностью (превышающей 0,5 (например, 0,75)), блок 143 двоичного арифметического кодирования поддерживает нижний предел "Низкий" в диапазоне по числовой оси без изменения и устанавливает значение, соответствующее результату однократного умножения масштабного коэффициента 0,95 на вероятность 0,75 в этот момент, в новый диапазон. С другой стороны, когда фактически сгенерированное двоичное значение представляет собой предсказанное значение с более низкой вероятностью, блок 143 двоичного арифметического кодирования сдвигает нижний предел "Низкий" на более высокую вероятность и изменяет диапазон согласно более низкой вероятности. Секции поддерживаются согласно накопленной сумме результатов перемножений диапазонов вероятностей. Когда значение с более низкой вероятностью происходит последовательным образом, точность длины диапазона становится вскоре более низкой, чем точность, которая может быть гарантирована вычислением. В данном случае блок 143 двоичного арифметического кодирования увеличивает (перенормирует) диапазон для поддержания точности и выводит битовую последовательность, указывающую текущий диапазон. Напротив, когда значение с более высокой вероятностью (0,95 и т.д.) происходит последовательным образом, значения вероятности могут переносить ряд вычислений (переходы состояний в случае реализации с помощью таблицы) до тех пор, пока длина диапазона не станет короче, чем предопределенная длина даже при перемножении значений. Таким образом, ряд символов, которые можно накапливать до тех пор, пока не будет выведен бит, является многочисленным.
На фиг. 3 изображена таблица, в которой параметры 130 управления, каждый из которых использует контекстную модель, основанную на значении параметра 130 управления соседнего блока, являются отсортированными.
Значение каждого столбца будет описано в левой части таблицы.
(с2) Тип сигнала (элемент синтаксиса) указывает специфическое название типа сигнала параметра 130 управления. Значение каждого типа сигнала будет описано ниже.
(с3) Схема бинаризации указывает схему бинаризации, которая будет применяться к параметру 130 управления (SE), который точно определен непосредственно в левом столбце. Блок 141 бинаризации выполняет процесс бинаризации. В столбце "фиксированная длина" означает, что блок 141 бинаризации выводит значение параметра 130 управления непосредственно в левой секции в качестве двоичной последовательности (строки ячеек) фиксированной длины. В HEVC тип сигнала параметра 130 управления, чье название заканчивается на "флаг", представляет собой одно двоичное значение либо 0, либо 1. Таким образом, блок 141 бинаризации выводит только первый элемент (binIdx=0) в качестве элемента двоичной последовательности 151 и не выводит элементы после второго элемента (binIdx>=1). Другими словами, блок 141 бинаризации выводит значение параметра 130 управления в качестве двоичной последовательности 151, как оно есть.
Кроме того, "Переменная длина" в столбце означает, что блок 141 бинаризации отображает в двоичную последовательность значение параметра 130 управления с использованием двоичных последовательностей с соответствующими переменными длинами, чьи значения ассоциируются как имеющие двоичные длины в возрастающем порядке частот появления (строки ячеек или двоичных последовательностей, каждая из которых имеет число элементов >1), и выводит двоичную последовательность. Например, блок 141 бинаризации использует и выводит схему согласно типу сигнала, такую как (усеченную) унарную схему и комбинацию из унарной и других экспоненциальных схем Голомба (смотри "А. Бинаризация" из NPL 1). В случае "Переменной длины" число элементов двоичной последовательности 151 иногда ограничивается 1 или равно или больше чем 2. Блок обратной бинаризации в устройстве декодирования изображения, которое будет описано ниже по тексту, выполняет преобразование, обратное по отношению к схеме бинаризации для восстановления входной двоичной последовательности в мультизначение или в значение флага.
Рассматривая (с4) Индекс контекста первого элемента (binIdx=0), блок 142 управления контекстом указывает выбор индекса контекста (приращение), который должен быть применен к первому элементу, включенному в двоичную последовательность, сгенерированную согласно схеме бинаризации, точно определенной в столбце с3. В этом столбце "0, 1, 2" показывают, что блок 142 управления контекстом выбирает и применяет одну из трех таблиц вероятностных состояний (контекстов). Например, три контекстных индекса с подробными условиями подготовлены для одного типа сигнала "skip_flag", то есть подготовлены три контекста и арифметическое кодирование выполняется над контекстными индексами.
Аналогичным образом, "0, 1, 2, 3" в столбце с4 указывает, что контекст будет применяться к первому элементу (binIdx=0), включенному в двоичную последовательность 151, выбирается среди одного из четырех элементов, 0, 1, 2 или 3. Двоичную последовательность 151 получают путем отображения в двоичную последовательность значения параметра 130 управления типа сигнала, точно определенного в столбце с2 согласно схеме бинаризации в столбце с3. Условные выражения в столбце будут описаны позже.
Рассматривая (с5) условие L (condL) левого блока, блок 142 управления контекстом указывает условие левого блока для выбора одного из 0, 1 и 2 в столбце с4. Условие L левого блока имеет значение - истина или ложь, определенные согласно значению параметра управления левого блока, соответствующего параметру управления, который должен быть кодирован (или декодирован).
Например, в случае, где параметр управления (SE) представляет собой skip_flag, условие L левого блока имеет значение - истина, когда skip_flag[xL][yL] указывает истину (например, 1), и имеет значение ложь, когда оно указывает ложь (например, 0).
Рассматривая (с6) условие А верхнего блока, блок 142 управления контекстом указывает условие верхнего блока для выбора одного из 0, 1 и 2 при кодировании или декодировании элементов последовательности, точно определенной в столбце с4. Условие А верхнего блока имеет значение - истина или ложь, определенное согласно значению параметра управления верхнего блока, соответствующего параметру управления, который должен быть кодирован (или декодирован). Например, в случае, где параметр управления (SE ) представляет собой skip_flag, условие А верхнего блока имеет значение истина, когда skip_flag[xA][yA] указывает истину (например, 1), и имеет значение ложь, когда оно указывает ложь (например, 0).
Хотя это не иллюстрировано, тип сигнала или более чем 2 бита ассоциируется с "(с7) Приращение контекста, которое должно быть применено к (binIdx>=1). Это указывает (с7) контекстную модель, которая применяется блоком 142 управления контекстом в двоичной системе после второго элемента в двоичной последовательности (двоичное значение элемента двоичной последовательности, включающего в себя значение индекса binIdx>=1).
В способе кодирования согласно первому варианту осуществления переключаются следующие операции согласно типу сигнала параметра 130 управления для условия L левого блока и условия А верхнего блока (которые действуют при использовании различных шаблонов).
(Шаблон 1) Использование двух соседних блоков (значение определения условия L Левого блока и значение определения условия А верхнего блока).
(Шаблон 2) Использование одного соседнего блока (только значение определения условия L Левого блока).
(Шаблон 3) Использование нулевого соседнего блока (не используется ни значение определения условия L левого блока, ни значение определения условия А верхнего блока).
На фиг. 4 изображена последовательность операций, указывающая способ кодирования изображения согласно первому варианту осуществления, который выполняется с помощью блока 104 кодирования с переменной длиной слова (фиг. 2).
Сначала блок 141 бинаризации отображает значение параметра 130 управления в двоичную последовательность согласно схеме, соответствующей типу сигнала параметра 130 управления (S101).
Затем, блок 142 управления контекстом получает основное значение контекста для использования в арифметическом кодировании параметра 130 управления (S102). Например, блок 142 управления контекстом определяет основное значение согласно типу картинки (I, P или B).
Затем, блок 142 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3, на основании типа сигнала параметра 130 управления (S103). В данном случае определение значения контекста эквивалентно определению значения настройки (значения приращения CtxIdxInc) для основного значения контекста.
Сначала блок 142 управления контекстом определяет тип сигнала параметра 130 управления (S103). Когда тип сигнала параметра 130 управления представляет собой первый тип, соответствующий шаблону 1 (первый тип на этапе S104), блок 142 управления контекстом определяет значение контекста с использованием значения определения, которое получено из значений параметров управления двух соседних блоков (блока А и блока В) (S105). Другими словами, блок 142 управления контекстом определяет контекст при соблюдении условия, касающегося того, что используются параметры управления двух соседних блоков, левого блока и правого блока. В данном случае блок 142 управления контекстом использует как результат определения (с5) CondL, так и результат определения (с6) CondA (фиг. 3). Соответственно, данные одного ряда картинок поддерживаются для параметров управления первого типа.
С другой стороны, когда тип сигнала параметра 130 управления представляет собой второй тип, соответствующий шаблону 2 (второй тип на этапе S104), блок 142 управления контекстом определяет значение контекста с использованием значения параметра управления одного соседнего блока (непосредственно одного соседнего блока в порядке кодирования) (S106). Другими словами, блок 142 управления контекстом определяет значение контекста при соблюдении условия, касающегося того, что не используется параметр управления верхнего блока.
С другой стороны, когда тип сигнала параметра 130 управления представляет собой третий тип, соответствующий шаблону 3 (третий тип на этапе S104), блок 142 управления контекстом жестко определяет значение контекста без использования обоих параметров управления верхнего блока и левого блока (S107).
Затем блок 142 управления контекстом добавляет приращение, определенное на этапе S103 к основному значению индекса контекста, который определен на этапе S102, для определения значения индекса контекста (S108).
И, наконец, блок 143 двоичного арифметического кодирования выполняет двоичное арифметическое кодирование над двоичным значением первого элемента с использованием значения контекста, точно определенного с помощью значения индекса контекста, определенного на этапе S108 для генерирования битовой последовательности (битового потока 121) (S109).
Затем, если процессы на этапах S102-S109 были не выполнены над всеми элементами, включенными в двоичную последовательность (нет на этапе S110), блок 104 кодирования с переменной длиной слова выполняет процессы от этапов S102 до S109 над следующим элементом, включенным в двоичную последовательность. С другой стороны, когда процессы этапов S102-S109 завершены над всеми элементами, включенными в двоичную последовательность (Да на этапе S110), блок 104 кодирования с переменной длиной слова заканчивает процесс кодирования над параметром управления текущего блока.
Как описано выше, устройство 100 кодирования изображения согласно первому варианту осуществления определяет контекст с использованием верхнего блока при выполнении арифметического управления над параметром управления первого типа и определяет контекст без использования верхнего блока для параметров управления второго и третьего типов.
По сравнению со случаем, где левый блок и верхний блок используются как единообразное "использование контекстной модели на основании значений параметров управления соседних блоков", устройство 100 кодирования изображения может уменьшить использование памяти с помощью данной конфигурации. Таким образом, устройство 100 кодирования изображения может подавить ухудшение качества изображения и уменьшить использование памяти.
ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Во втором варианте осуществления будет описано устройство декодирования изображения, которое декодирует битовый поток 124, сгенерированный устройством 100 кодирования изображения.
На фиг. 5 изображена блок-схема, иллюстрирующая устройство 200 декодирования изображения согласно второму варианту осуществления. Устройство 200 декодирования изображения представляет собой устройство декодирования изображения, использующее арифметическое декодирование, и декодирует битовый поток 124 для генерирования сигнала 229 изображения. В данном случае битовый поток 124 генерируется, например, с помощью устройства 100 кодирования изображения.
Устройство 200 декодирования изображения включает в себя блок 201 управления, блок 202 декодирования с переменной длиной слова, блок 204 обратного квантования, блок 205 обратного преобразования, блок 206 суммирования, блок 207 внутреннего предсказания и блок 208 внешнего предсказания.
Устройство 200 декодирования изображения выполняет обработку декодирования для каждого битового потока предопределенной единицы обработки. Единица обработки является, например, единицей среза или единицей-блоком.
Блок 202 декодирования с переменной длиной слова выполняет арифметическое декодирование над битовым потоком 124 для генерирования параметра 230 управления (элемента синтаксиса данных управления) и для квантованных коэффициентов 223 преобразования (остаточных значений элементов синтаксиса данных). Блок 201 управления получает сгенерированный параметр 230 управления.
Блок 201 управления управляет каждой из единиц обработки, включенных в устройство 200 декодирования изображения согласно параметру 230 управления.
Блок 204 обратного квантования выполняет обратное квантование квантованных коэффициентов 223 преобразования в коэффициенты 224 ортогонального преобразования.
Блок 205 обратного преобразования выполняет обратное преобразование коэффициентов 224 ортогонального преобразования для восстановления остаточного сигнала 225. Блок 206 суммирования складывает остаточный сигнал 225 с сигналом предсказания изображения (сигналом 229 изображения) для генерирования декодированного сигнала 226 изображения.
Блок 207 внутреннего предсказания выполняет внутреннее предсказание с использованием декодированного сигнала 226 изображения для генерирования сигнала 227 предсказания изображения. Блок 208 внешнего предсказания выполняет внешнее предсказание с использованием декодированного сигнала 226 изображения для генерирования сигнала 228 предсказания изображения.
Переключатель 209 выбирает один из сигнала 227 предсказания изображения и сигнала 228 предсказания изображения и выводит выбранный сигнал в качестве сигнала 229 изображения (сигнала предсказания изображения).
Далее будет описана конфигурация блока 202 декодирования с переменной длиной слова.
На фиг. 6 изображена функциональная блок-схема, иллюстрирующая конфигурацию блока 202 декодирования с переменной длиной слова. Блок 202 декодирования с переменной длиной слова включает в себя блок 243 двоичного арифметического декодирования, блок 242 управления контекстом и блок 241 обратной бинаризации. Ниже приводится описание процесса декодирования с переменной длиной слова над параметром 230 управления. Хотя описание, касающееся процесса декодирования с переменной длиной слова над квантованными коэффициентами 223 преобразования опущено, процесс можно реализовать, например, с использованием известной технологии.
Блок 242 управления контекстом управляет контекстом для использования в арифметическом декодировании параметра 230 управления текущего блока среди множества контекстов. Кроме того, блок 242 управления контекстом выводит индекс 252 контекста, который точно определяет определенный контекст в блоке 243 двоичного арифметического декодирования.
Более конкретно, блок 242 управления контекстом использует ту же самую контекстную модель, как и блок 142 управления контекстом (фиг. 2), в качестве поддерживаемой вероятностной переходной модели. Когда блок 143 двоичного арифметического кодирования использует 64 вероятностных состояния, блок 243 двоичного арифметического декодирования также поддерживает 64 вероятностных состояния. Причина состоит в том, что кодер и декодер должны интерпретировать диапазон числовой оси, который должен быть кодирован, точно тем же самым образом. Таким образом, декодер использует такой же шаблон, как шаблон, выбранный кодером из трех шаблонов 1-3.
Блок 243 двоичного арифметического декодирования выполняет арифметическое декодирование над битовой последовательностью (битовым блоком 124) с использованием контекста, определенного с помощью блока 242 управления контекстом для восстановления двоичной последовательности 251. Более конкретно, блок 243 арифметического декодирования восстанавливает входную битовую последовательность в виде двоичной последовательности 251 согласно контексту (таблице вероятностных состояний), точно определенному с помощью индекса контекста, выданного из блока 242 управления контекстом.
Блок 241 обратной бинаризации восстанавливает двоичную последовательность 251 в параметр 230 управления, при необходимости через процесс обратной бинаризации. Блок 242 управления контекстом, включенный в устройство 100 кодирования изображения, и блок 242 управления контекстом, включенный в устройство 200 декодирования изображения, используют, по существу, ту же самую контекстную модель, как при арифметическом кодировании, так и при арифметическом декодировании параметра управления некоторого типа сигнала.
На фиг. 7 изображена последовательность операций, указывающая способ декодирования изображения согласно второму варианту осуществления, который выполняет блок 202 декодирования с переменной длиной слова.
Сначала блок 202 декодирования с переменной длиной слова получает битовый поток 124 (S201).
Затем, блок 242 управления контекстом определяет тип сигнала параметра управления, который должен быть декодирован, согласно структуре данных битового потока 124 (S202).
Затем, блок 242 управления контекстом определяет основное значение контекста для использования при арифметическом декодировании параметра управления, который должен быть декодирован (S203). Например, блок 242 управления контекстом определяет основное значение согласно типу картинки (I, P или B).
Затем, блок 242 управления контекстом определяет значение контекста с использованием одного из шаблонов 1-3 на основании типа сигнала параметра управления (S204). В данном случае определение значения контекста эквивалентно определению значения настройки (значения приращения CtxIdxInc) для основного значения контекста. Например, блок 242 управления контекстом определяет статистическим образом одир из шаблонов 1-3 на основании типа сигнала параметра управления с помощью следующей предопределенной таблицы.
Блок 242 управления контекстом переключает между соседними блоками для использования при определении контекста для получения двоичного значения первого элемента, включенного в двоичную последовательность 251 с использованием арифметического декодирования согласно типу сигнала параметра управления.
Сначала блок 242 управления контекстом определяет тип сигнала параметра 230 управления (S205). Когда тип сигнала представляет собой первый тип, соответствующий шаблону 1 (первый тип на этапе S205), блок 242 управления контекстом определяет значение контекста с использованием параметров управления двух соседних блоков (S206). Другими словами, блок 242 управления контекстом определяет значение контекста при соблюдении условия, касающегося того, что используются декодированные параметры управления двух соседних блоков - левого блока и правого блока.
С другой стороны, когда тип сигнала представляет собой второй тип, соответствующий шаблону 2 (второй тип на этапе S205), блок 242 управления контекстом определяет значение контекста с использованием значения параметра управления соседнего блока (непосредственно один соседний блок в порядке кодирования) (S207). Другими словами, блок 242 управления контекстом определяет значение контекста при соблюдении условия, касающегося того, что декодированный параметр управления верхнего блока не используется.
С другой стороны, когда тип сигнала представляет собой третий тип, соответствующий шаблону 3 (третий тип на этапе S205), блок 242 управления контекстом жестко определяет значение контекста (S208). Другими словами, блок 242 управления контекстом определяет значение контекста при соблюдении условия, касающегося того, что декодированные параметры управления верхнего блока и левого блока не используются.
Затем, блок 242 управления контекстом складывает приращение, определенное на этапе S204, с основным значением индекса контекста, определенного на этапе S203, для определения значения индекса контекста (S209).
Затем, блок 243 двоичного арифметического декодирования определяет один из элементов двоичной последовательности через декодирование с использованием значения контекста, показанного с помощью значения индекса контекста, выданного из блока 242 управления контекстом (S210).
Затем, когда обработка на этапах S203-S210 не выполнена над всеми элементами, включенными в двоичную последовательность (Нет на этапе S211), блок 202 декодирования с переменной длиной слова выполняет процессы из этапов S203-S210 над следующим элементом, включенным в двоичную последовательность.
С другой стороны, когда обработка на этапах S203-S210 завершена над всеми элементами, включенными в двоичную последовательность (Да на этапе S211), блок 241 обратной бинаризации изменяет один или более элементов двоичной последовательности 251, полученной путем повторения процессов на этапах S203-S210 более чем один раз для генерирования параметра 230 управления (S212).
Как описано выше, устройство 200 декодирования изображения согласно второму варианту осуществления определяет контекст с использованием верхнего блока при выполнении арифметического декодирования над параметром управления первого типа и определяет контекст без использования верхнего блока параметров управления второго и третьего типов.
По сравнению со случаем, где левый блок и верхний блок используются в качестве единообразного "использования контекстной модели, основанной на значениях параметров управления соседних блоков", устройство 200 декодирования изображения может уменьшить использование памяти с помощью данной конфигурации. Таким образом, устройство 200 декодирования изображения позволяет подавить ухудшение качества изображения и уменьшить использование памяти.
Например, когда двоичная последовательность 251 представляет собой флаг и имеет только один элемент, то есть двоичная последовательность состоит из двоичной 1, блок 241 обратной бинаризации может выводить двоичную последовательность 251, как она есть.
В дополнение к приведенному выше описанию, блок 101 или 201 управления может управлять каждым блоком обработки или ссылаться на значение памяти через сигнальную линию, которая не иллюстрирована.
Хотя, в приведенном выше описании блок 142 или 242 управления контекстом переключается между тремя шаблонами 1-3 согласно типу сигнала параметра управления, он может переключаться между двумя из шаблонов 1-3 согласно типу сигнала. Другими словами блок 142 или 242 управления контекстом может переключаться между использованием и не использованием условий верхнего блока согласно типу сигнала параметра управления.
Кроме того, блок 142 или 242 управления контекстом может изменять способ переключения между контекстными моделями, выбранными таким образом (включая случай, где изменяется приращение контекстной модели; то же самое будет применено ниже) согласно предопределенной информации изображения. Например, блок 142 или 242 управления контекстом может дополнительно сам переключать политику переключения согласно объему памяти или размеру ширины по горизонтали или формата дискретизации изображения, который влияет на число обучений каждого контекста.
Хотя, в качестве упрощенного описания, блок 142 или 242 управления контекстом переключается между использованием и неиспользованием условия верхнего блока, блок 142 или 242 управления контекстом позволяет объединить случай, где верхний блок не является доступным для переключения, и применять комбинированный случай. Например, блок 142 или 242 управления контекстом может самостоятельно изменять политику переключения согласно тому, является ли срез, который должен быть обработан, срезом энтропии (entropy_slice_flag указывает 1 или 0). Аналогичным образом, когда нельзя гарантировать доступность верхнего соседнего блока, блок 142 или 242 управления контекстом может изменять политику переключения так, чтобы не использовать верхний блок.
Например, как иллюстрировано на фиг. 8, блок 142 или 242 управления контекстом может переключать политику определения контекстной модели между первым критерием определения (S302) и вторым критерием определения (S303) согласно значению параметра предопределенной единицы. В данном случае "согласно значению параметра предопределенной единицы" означает согласно тому, представляет собой или нет срез энтропии, как описано выше. Кроме того, первый критерий определения представляет собой критерий, на основании которого выполняются процессы, показанные на фиг. 7. Второй критерий определения представляет собой критерий, исключающий этап S204 (фиг. 7), и представляет собой, например, условный критерий. Это эквивалентно определению приращения индекса контекста, используя параметр предопределенной локальной единицы и значение параметра единицы, которая больше, чем предопределенная локальная единица.
Другими словами, блок 142 или 242 управления контекстом может переключать с критерия определения, который должен быть применен к единице, которая меньше, чем первая единица, на другой критерий определения, основанный на значении параметра управления первой единицы.
Кроме того, блок 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно характеристикам системы изображения. Например, блок 142 или 242 управления контекстом может изменять критерий определения, который должен быть использован, согласно интервалам I-кадров (значения установки IntraPeriod).
Хотя блок 142 или 242 управления контекстом переключается между критериями определения согласно вышеописанным условиям, он может переключаться на основании того, используется ли верхний блок.
Кроме того, блок 142 или 242 управления контекстом может определять то, используется ли параметр управления верхнего блока согласно тому, является ли доступным параметр управления верхнего блока при кодировании или декодировании на основании положения параметра управления. Другими словами, блок 142 или 242 управления контекстом может определять то, является ли доступным параметр управления верхнего блока при декодировании на основании положения текущего блока, и определять контекст, использующий один из шаблонов 2 и 3, когда параметр управления верхнего блока не является доступным. Кроме того, блок 142 или 242 управления контекстом может определять то, является ли доступным опорное значение верхнего блока на основании структуры дерева для разделения блоков TU, CU или PU. Другими словами, блок 142 или 242 управления контекстом может определять то, является ли доступным параметр управления верхнего блока при декодировании, согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, которые должны быть обработаны.
Фиг. 9 иллюстрирует соотношение между картинкой, срезами и блоками в соответствии со стандартом HEVC. Одна картинка разделена на один или более срезов. В примере, показанном на фиг. 9, картинка разделена на два среза (СРЕЗ 1 и СРЕЗ 2). Один из срезов включает в себя блоки 301 (например, treeblocks). В данном случае блок 301 представляет собой наибольшую единицу в виде некоторой единицы управления, когда срез разделяется на предопределенный размер и имеет размер корня, когда единица находится в корне в иерархически-разделенной структуре.
В примере, показанном на фиг. 9, СРЕЗ 2 начинается с блока 301А и состоит из одной последовательности, включающей в себя блоки в нижнем правом углу картинки через заштрихованные блоки 301В и 301С. Один из заштрихованных блоков, показанных на фиг. 9, представляет собой один блок (TreeBlock), который должен быть обработан в текущий момент времени.
Каждый из блоков 301 включает в себя N×M пикселей. Один из блоков 301 разделен внутри рекурсивным образом (обычно на четыре). Другими словами, один TreeBlock концептуально состоит из одного квадродерева. В блоке 301В, показанном на фиг. 9, верхний правый блок, полученный путем разделения заштрихованного блока 301В на четыре, рекурсивно разделяется на четыре блока дважды. Другими словами, блок 301В включает в себя 10 логических единиц от верхней левой нулевой единицы до нижней правой девятой единицы, которые разделены с некоторой перспективой.
В данном случае перспектива указывает концепцию множества деревьев, имеющих различные глубины с корнями в качестве базисной точки, таких как дерево, касающееся единицы кодирования (CU), и дерево, касающееся residual_data. В данном случае значение каждого параметра управления принадлежит к одному из листовых (концевых) узлов.
В данном случае является ли фактически доступным или нет значение параметра управления некоторого типа сигнала, включенного в верхний блок, зависит от типа дерева, которому принадлежит параметр управления. Таким образом, блок 142 или 242 управления контекстом может изменять критерий определения согласно типу дерева, которому принадлежит параметр управления. Это изменение эквивалентно изменению единицы синтаксиса. Например, блок 142 или 242 управления контекстом может использовать шаблон 2 или 3, в котором верхний блок не используется для данных адаптивного фильтра со структурой данных, такой как alf_param, тогда как он может использовать политику контекстной модели (шаблон 1) для других синтаксисов, которые обычно используются. Другими словами, второй тип или третий тип может представлять собой параметр управления, имеющий предопределенную структуру данных. Кроме того, это означает, что критерий определения можно изменить согласно типу дерева соседнего дерева.
Кроме того, можно или нет фактически использовать значение параметра управления или получать преимущество от уменьшения использования памяти, отличается в зависимости от положения в иерархическом соотношении. Другими словами, блок 142 или 242 управления контекстом может переключаться между использованием или неиспользованием верхнего блока согласно глубине блока и иерархическому положению блока.
Например, на фиг. 9 числа 0-9 в блоке 301В находятся в порядке декодирования. В этом случае параметры управления блоков 1 и 2 являются доступными при кодировании или декодировании блока 4.
Кроме того, для того чтобы уменьшить использование памяти, блок 142 или 242 управления контекстом может выбирать шаблон 1, используя верхний блок, когда блок не находится на глубине 0, и собственное положение представляет собой один из второго - последующих элементов при разделении по вертикали. В данном случае, "глубина" указывает глубину относительно корня. Другими словами, когда некоторый блок определен в качестве block[xn],[y0][depth], критерий определения можно изменить в соответствии с тем, удовлетворяет или нет текущий блок выражению block[xn][(y0)+1][depth]. Другими словами, верхние блоки используются для блоков 4-9 (фиг. 9). Когда дерево кодируется или декодируется в порядке, который имеет номер (начиная с 0 и заканчивая 9), ясно, что блоки 4-9 могут использовать параметры управления, включенные в верхние блоки. Кроме того, преимущество состоит в том, что эти блоки должны только временно сохранять данные. Кроме того, это указывает, что значение контекста определяется согласно 3D положению, включая глубину помимо координат х и у. Кроме того, можно использовать (следовать за) условное значение блока на верхнем уровне в качестве условного значения блока на нижнем уровне.
Кроме того, блок 142 или 242 управления контекстом может изменять эти критерии с учетом соотношения положения между текущим блоком и другими срезами. Ниже приводится описание трех заштрихованных блоков 301А, 301В и 301С, показанных на фиг. 9.
В данном случае блок 301А представляет собой начальный блок, и оба - левый блок и правый блок из блока 301А - включены в другой срез. Верхний блок блока 301В включен в другой срез. Оба, левый блок и верхний блок блока 301С включены в тот же самый срез, включающий в себя блок 301С. Блок 142 или 242 управления контекстом может переключать критерий согласно такому условию. Другими словами блок 142 или 242 управления контекстом может переключать критерий (i) согласно тому, включен или нет верхний блок в другой срез, (ii) согласно тому, включен или нет левый блок в другой срез, или (iii) согласно обоим случаям (i) (ii). Другими словами блок 142 или 242 управления контекстом может определить, что параметр управления верхнего блока не доступен при кодировании, когда текущий блок находится на границе среза. Соответственно, когда обработка декодирования над верхним СРЕЗОМ 1 не выполняется, например, можно выполнить обработку декодирования с учетом того, может ли СРЕЗ 2 сам получить информацию.
Далее будет описан иерархическая единица обработки (многослойная блочная структура). Фиг. 10 иллюстрирует иерархическую единицу обработки (многослойную блочную структуру).
Устройство 100 кодирования изображения кодирует движущиеся картинки в расчете на одну единицу обработки, и устройство 200 кодирования изображения декодирует кодированный поток из расчета на одну единицу обработки. Единица обработки является многоуровневой за счет разделения единицы обработки на небольшие единицы обработки и дальнейшего разделения небольших единиц обработки на меньшие единицы обработки. По мере уменьшения единицы обработки, глубина единицы обработки увеличивается и становится ниже по иерархии, и значение, указывающее глубину, увеличивается. Напротив, по мере увеличения единицы обработки, глубина единицы обработки уменьшается и становится выше по иерархии, и значение, указывающее глубину, уменьшается.
Единица обработки включает в себя единицу кодирования (CU), единицу предсказания (PU) и единицу преобразования (TU). CU представляет собой блок с максимальным размером 128×128 пикселей и единицу, соответствующую обычному макроблоку. PU представляет собой основную единицу для внешнего предсказания. TU представляет собой основную единицу для ортогонального преобразования и имеет размер, идентичный размеру PU или гораздо меньше, чем PU. CU, например, разделена на 4 суб-CU, и один из суб-CU включает в себя PU и TU, имеющие тот же самый размер, как и суб-CU (в данном случае, PU и TU перекрывают друг друга). Например, PU дополнительно разделяется на 4 суб-PU, и TU дополнительно разделяется на 4 суб-CU. Когда единица обработки разделяется на меньшие единицы обработки, каждая из меньших единиц обработки называется как суб-единица обработки. Например, когда единица обработки представляет собой CU, суб-единица обработки представляет собой суб-CU. Когда единица обработки представляет собой PU, суб-единица обработки представляет собой суб-PU. Кроме того, когда единица обработки представляет собой TU, суб-единица обработки представляет собой суб-TU.
БОЛЕЕ КОНКРЕТНО ДЕТАЛИ ПОКАЗАНЫ НИЖЕ
Одна картинка разделяется на один или более срезов. Срез представляет собой последовательность наибольшей единицы кодирования. Положение наибольшей единицы кодирования показано с помощью адреса наибольшей единицы кодирования IcuAddr.
Каждая из единиц кодирования, включающих в себя соответствующие наибольшие единицы кодирования, разделяются на четыре единицы кодирования. В результате, строится квадродерево, имеющее размер CU. Положение CU показано с помощью индекса cuIdx единицы кодирования, имеющего выборку (пиксель или коэффициенты) в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
Когда разделение CU не разрешено, CU обрабатывается как PU. Аналогично CU, положение PU указано с помощью индекса puIdx единицы предсказания, имеющей выборку в верхнем левом углу наибольшей единицы кодирования в качестве начальной точки.
PU может включать в себя разделы (PU-разделы или суб-PU). PU-раздел указан с помощью индекса puPartIdx раздела единицы предсказания, имеющей выборку в верхнем левом углу PU как в качестве начальной точки.
PU может включать в себя единицы преобразования (TU). Аналогично CU, TU можно разделить на четыре наименьшие TU (суб-TU). Это указывает разрешение на разделение квадродерева остаточного сигнала. Положение TU указано с помощью индекса tuIdx единицы преобразования, имеющей выборку в верхнем левом углу PU в качестве начальной точки.
В данном случае определение каждой из единиц обработки представлено следующим образом.
СТВ (блок дерева кодирования): основная единица для идентификации квадродерева, разделяющего квадратную область. Имеет различные размеры квадратов;
LCTB (наибольший блок дерева кодирования): наибольший СТВ, разрешенный в срезе. Срез включает в себя множество LCTB, которые не перекрывают друг друга;
SCTB (наименьший блок дерева кодирования): наименьший СТВ, разрешенный в срезе. Не разрешено разделение SCTB на меньшие SCTB;
PU (единица предсказания): основная единица для идентификации процесса предсказания. PU является такой же, как и CU, в которой разделение не разрешено. Хотя разделение CU на четыре квадратные области разрешено, PU можно разбить на множество разделов, имеющих любую форму;
TU (единица преобразования): основная единица для идентификации преобразования и квантования;
CU (единица кодирования): такая же, как и СТВ;
LCU (наибольшая единица кодирования): такая же, как и наибольший СТВ; и
SCU (наименьшая единица кодирования): такая же, как и наименьший СТВ.
Кроме того, параметры квантования включают в себя, по меньшей мере, одно из: дельта-параметра масштабирования квантования (дельта QP или QP дельта), параметра смещения квантования, индекса (idc выбора матрицы Q) и параметра смещения мертвой зоны квантования. Индекс служит для выбора одной из квантованных матриц масштабирования.
Дельта-параметр масштабирования квантования (дельта QP или QP дельта) представляет собой разность между параметром масштабирования квантования, который должен быть применен для преобразования коэффициентов, и параметром масштабирования квантования, точно определенным с помощью заголовка последовательности или заголовка среза (или параметр масштабирования квантования непосредственно перед в порядке Z-сканирования).
Параметр смещения квантования также называется как смещение квантования и представляет собой значение подстройки (значение смещения) для округления сигнала при выполнении квантования. Таким образом, когда устройство 100 кодирования изображения выполняет квантование, оно кодирует смещение квантования. Затем устройство 200 декодирования изображения декодирует кодированное смещение квантования. Затем, устройство 200 декодирования изображения выполняет коррекцию с использованием смещения квантования при обратном квантовании коэффициентов преобразования.
Индекс (idc выбора Qmatrix) называется адаптивной матрицей квантования и указывает, какая матрица масштабирования квантования используется среди множества матриц масштабирования квантования. Кроме того, когда существует только одна матрица масштабирования квантования, idc выбора Qmatrix указывает то, используется ли матрица масштабирования квантования. Адаптивная матрица квантования может управляться из расчета на одну единицу-блок (единицу обработки).
Параметр смещения мертвой зоны квантования называется адаптивной мертвой зоной и представляет собой управляющую информацию для адаптивного изменения мертвой зоны в расчете на один блок. Мертвая зона равна ширине, чьи частотные коэффициенты становятся равными 0 в результате квантования (последняя ширина, которая становится равной +1 или -1 после квантования).
Хотя случай, где шаблон 3, с которым используется предопределенное фиксированное значение в качестве значения контекста, описан выше, этот случай можно выполнить при соблюдении условий, что параметры управления верхнего блока и левого блока не используются, и, кроме того, при соблюдении условия без использования параметров управления верхнего блока и левого блока в качестве шаблона 3. Например, блок 142 или 242 управления контекстом может определить контекст согласно иерархической глубине единицы данных, которой принадлежит каждый из параметров управления, в качестве шаблона 3.
ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Какой тип сигнала следует использовать в качестве первого типа и второго типа (или третьего типа) будет описано в третьем варианте осуществления.
Более конкретно, авторы данного изобретения проверили каждый из представленных ниже типов сигналов, среди типов сигналов, которые показаны на фиг. 3 (раздел 9.3.3.1.1.1 NPL 2). Каждый из типов сигналов был проверен, так как существуют различные параметры, и трудно предсказать то, удовлетворяет или нет пригодности каждый шаблон других типов сигналов на основании результата верификации одного из типов сигналов (какой один из шаблонов 1-3 является подходящим).
Верификация находится в соответствии со структурой (параметром установки и версией программного обеспечения НМ3.0), описанной в JCTVC-E700 "Общие условия тестирования и базовые конфигурации программного обеспечения" (смотри NPL 3). Кроме того, каждое из тестируемых изображений имеет длину, ограниченную 49 кадрами.
Способ кодирования изображения и способ декодирования изображения согласно третьему варианту осуществления относится к САВАС. Таким образом, верификация была проведена с использованием следующих четырех тестовых шаблонов, которые представляют собой набор значений установки, каждая из которых указывает 1 в качестве значения режима символов (# 0:LCEC, 1:CABAC):
4.1 Внутренний (Intra) режим, высокоэффективная установка;
4.3 Произвольный доступ, высокоэффективная установка;
4.5 Низкая задержка, высокоэффективная установка; и
4.7 Низкая задержка, высокоэффективная установка (только Р-срезы).
Оценка производится на основании значения оценки, которое называется "BD-скорость", которая используется в качестве стандарта оценки, который одинаковым образом используется для оценки в реализации в HEVC. Y BD-скорость, U BD-скорость и V BD-скорость представляют собой BD-скорости для цветового пространства Y, U, V, и представляют собой значения стандарта оценки. Согласно VCEG-AI11 (NPL 4) BD-скорость представляет собой значение оценки, полученное путем интегрирования двух пар кодовых величин с результатом PSNR, и представляет собой эффективность кодирования согласно относительному расширению. Кроме того, BD-скорость, указывающая минусовое значение, означает, что эффективность кодирования была улучшена. Критерии сравнения основаны на результате вывода опорной программы, которая осуществляет шаблон 1. Результаты шаблона 2 и 3 показаны по отношению к результату шаблона 1.
Ниже приводится описание результата верификации над каждым из типов сигналов:
(Первая верификация) "split_coding_unit_flag";
(Вторая верификация) "skip_flag"; и
(Третья верификация) "merge_flag".
(Первая верификация) "split_coding_unit_flag"
Фиг.11 иллюстрирует способ арифметического декодирования для split_coding_unit_flag.
Верификация проводится путем изменения контекстной модели с шаблона 1 на шаблон 2 или 3 только для типа сигнала, который должен быть верифицирован, без изменения контекстной модели для других типов сигналов и параметра верификации, точно определенного в NPL 3. В столбце на фиг. 11 значение "Фиксированный" указывает, что условие (условие левого блока или условие верхнего блока) столбца, точно определенное с помощью "Фиксированный", не используется в случае, когда получено значение контекста (или приращение). Другими словами, когда только одно из условия левого блока и условия верхнего блока представляет собой "Фиксированный", используется только другое условие. Кроме того, когда каждое из условия левого блока и условия верхнего блока представляет собой "Фиксированный", предопределенное значение (например, 0) используется в качестве значения контекста (или приращения).
Значение типа сигнала split_coding_unit_flag определяется следующим образом:
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.
Данные split_coding_unit_flag структурируются в синтаксис дерева кодирования в качестве синтаксиса. Устройство декодирования изображения производит синтаксический анализ битовой последовательности в соответствии с синтаксисом этой структуры данных.
На фиг. 12А и 12В представлены таблицы для описания результатов верификации относительно split_coding_unit_flag.
На фиг. 12А показан результат верификации с использованием одного соседнего блока (только значение определения условия L левого блока) шаблона 2. На фиг. 12В показан результат верификации, с использованием нулевого соседнего блока (не используя ни условие L верхнего блока, ни условие L левого блока) шаблона 3.
Результат верификации на каждой из фиг. 12А и фиг. 12В указывает приращение и отрицательное приращение BD-скорости согласно четырем тестовым шаблонам.
Кроме того, значение оценки представлено с помощью стандарта оценки, показывающего значение относительно значения оценки в случае шаблона 1, в котором используются оба блока - левый блок и верхний блок. Более конкретно, когда значение оценки является положительным, результат хуже, чем значение оценки (BD-скорость) в случае шаблона 1. Кроме того, когда значение оценки является отрицательным, результат намного лучше, чем значение оценки в случае шаблона 1.
Результат объясняет, что шаблон 1 является превосходным, как и шаблон контекстной модели для split_coding_unit_flag. Другими словами, значения оценки, полученные с помощью шаблонов 2 и 3, хуже, чем для шаблона 1.
Таким образом, когда тип сигнала параметра управления представляет собой split_coding_unit_flag, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является обычным шаблоном контекстной модели, в показателях BD-скорости.
(Вторая верификация) skip_flag
Фиг. 13 иллюстрирует способ арифметического декодирования для skip_flag. В данном случае способ верификации является таким же, как и в первой верификации.
Значение типа сигнала "skip_flag" определяется следующим образом.
Параметр skip_flag[x0][y0], равный 1, указывает на то, что для текущей единицы кодирования при декодировании Р или В среза больше не проводят синтаксический анализ элементов синтаксиса за исключением индексов предиктора вектора движения после skip_flag[x0][y0]. Параметр skip_flag[x0][y0], равный 1, указывает на то, что единица кодирования не должна быть пропущена. Индексы x0, y0 массива указывают на местоположение (x0, y0) выборки сигнала яркости сверху слева рассматриваемого блока кодирования относительно выборки сигнала яркости сверху слева картинки. Другими словами, skip_flag указывает то, должна ли быть пропущена (обработана как пропущенный блок) целевая CU.
Данные skip_flag структурированы в синтаксис единицы кодирования в качестве синтаксиса. Другими словами, skip_flag устанавливаются для каждой CU. Устройство декодирования изображения выполняет синтаксический анализ битовой последовательности в соответствии с синтаксисом этой структуры данных.
На фиг. 14А и 14В изображены таблицы, в которых представлены результаты верификации по отношению к skip_flag.
На фиг. 14А показан результат верификации с использованием одного соседнего блока (только значение определения условия L левого блока). На фиг. 14В показан результат верификации с использованием нулевого соседнего блока (не использующего ни условие L верхнего блока, ни условие L левого блока) шаблона 3.
Результат верификации на каждой из фиг. 14А и 14В указывает приращение и отрицательное приращение BD-скорости, согласно четырем тестовым шаблонам, как описано для первой верификации. Кроме того, смысл значения оценки является таким же, как и у первой верификации.
Результат объясняет, что шаблон 1 является лучшим, как и шаблон контекстной модели "skip_flag". Другими словами, значения оценки, полученные с помощью шаблонов 2 и 3 являются худшими для шаблона 1.
Таким образом, когда тип сигнала параметра управления представляет собой "skip_flag", блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 1, который является обычным шаблоном контекстной модели в показателях BD-скорости.
(Третья верификация) "merge_flag"
На фиг. 15 изображена таблица, указывающая способ арифметического декодирования для merge_flag. В данном случае способ верификации является таким же, как и в случаях первой верификации и второй верификации.
Значение типа сигнала "merge_flag" определено следующим образом.
Параметр merge_flag[x0][y0] указывает на то, получены ли параметры внешнего предсказания для текущей единицы предсказания из соседнего внешнепредсказанного раздела. Индексы x0, y0 массива точно определяют местоположение (x0, y0) выборки сигнала яркости сверху слева рассматриваемого блока предсказания относительно выборки сигнала яркости сверху слева картинки. Когда параметр merge_flag[x0][y0] не представлен (InferredMergeFlag равен 1), предполагается, что он равен 1. Другими словами merge_flag[x0][y0] указывает то, используется ли режим слияния. В данном случае режим слияния представляет собой режим, в котором вектор движения и индекс опорной картинки копируется из соседнего блока текущего блока, который должен быть кодирован, и текущий блок кодируется.
Данные merge_flag структурируются в единицу предсказания в качестве синтаксиса. Другими словами, merge_flag устанавливается для каждой PU. Устройство декодирования изображения выполняет синтаксический анализ битовой последовательности в соответствии с синтаксисом этой структуры данных.
На фиг. 16А и 16В представлены таблицы для описания результатов верификации по отношению к merge_flag.
На фиг. 16А показан результат верификации с использованием одного соседнего блока (только значение определения условия L левого блока) шаблона 2. На фиг. 16В показан результат верификации с использованием нулевого соседнего блока (не использующего ни условие L верхнего блока, ни условие L левого блока) шаблона 3.
Результат верификации в каждом из фиг. 16А и фиг. 16В указывает приращение и отрицательное приращение BD-скорости согласно четырем тестовым шаблонам, как описано для первой верификации. Кроме того, смысл значения оценки является таким же, как и в случае первой верификации.
Результат отличается от результатов первой верификации split_coding_unit_flag и второй верификации skip_flag. Между шаблонами 1 и 2 или 3, как и шаблоном контекстной модели merge_flag, отсутствует значительная разность в BD-скорости.
Таким образом, при внешних условиях с множеством параметров управления типов сигнала, блок 142 или 242 управления контекстом определяет значение контекста без использования верхнего блока в качестве соседнего блока особенно тогда, когда тип сигнала параметра управления представляет собой merge_flag. Другими словами, блок 142 или 242 управления контекстом определяет значение контекста с использованием шаблона 2 или 3 тогда, когда тип сигнала параметра управления представляет собой merge_flag. Другими словами, первый тип включает в себя "split_coding_unit_flag" или "skip_flag", и второй тип или третий тип включает в себя "merge_flag". Соответственно, устройство кодирования изображения и устройство декодирования изображения согласно третьему варианту осуществления позволяет уменьшить использование памяти при подавлении уменьшения BD-скорости.
При сравнении шаблона 2 с шаблоном 3 для merge_flag, эти BD-скорости имеют незначительную разность. Таким образом, предпочтительно использовать шаблон 3 для merge_flag. Соответственно, можно дополнительно уменьшить использование памяти и объем обработки.
В данном случае при сравнении merge_flag и skip_flag, хотя остаточные данные вектора движения не передаются в режиме пропускания, остаточные данные вектора движения передаются в режиме слияния. Соответственно, даже в случае когда контекст, который должен быть использован временно, является неоптимальным для merge_flag, ухудшение качества изображения, вызванное неиспользованием оптимального контекста, можно компенсировать в некоторой степени с помощью обработки, использующей остаточные данные. Соответственно, ухудшение в качестве изображения подавляется.
Хотя описаны устройство кодирования изображения и устройство декодирования изображения согласно первому-третьему вариантам осуществления, настоящее изобретение не ограничивается этими вариантами осуществления.
Например, по меньшей мере, часть из устройства кодирования изображения, устройства декодирования изображения и функций модификации этих устройств согласно первому-третьему вариантам осуществления можно объединить.
Кроме того, все значения и логические значения, описанные выше, представляют собой иллюстративные примеры для более конкретного описания настоящего изобретения, и настоящее изобретение не ограничивается значениями, представленными в качестве примера.
Кроме того, деление функциональных блоков на блок-схеме является примерным. Таким образом, функциональные блоки можно осуществить в виде одного функционального блока, один функциональный блок можно разделить на множество функциональных блоков и часть функций можно перевести в другой функциональный блок. Кроме того, множество функциональных блоков, имеющих аналогичные функции, можно обработать с помощью одних аппаратных средств или программного обеспечения параллельно или с разделением во времени.
Порядки этапов способа кодирования изображения, который выполняется с помощью устройства кодирования изображения, и способ декодирования изображения, который выполняется с помощью устройства декодирования изображения, предназначены для конкретного описания настоящего изобретения и могут иметь порядок, отличный от приведенных выше порядков. Кроме того, часть этапов можно выполнить одновременно (параллельно) с другими этапами.
ЧЕТВЕРТЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Обработку, описанную в каждом из вариантов осуществления, можно легко осуществить в независимой компьютерной системе с помощью записи на носитель записи, программы для осуществления конфигураций способа кодирования движущегося изображения (способ кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), которые описаны в каждом из вариантов осуществления. Носители записи могут представлять собой любой носитель записи, на который можно записать программу, такой как магнитный диск, оптический, магнитооптический диск, карта с интегральной схемой и полупроводниковая память.
Ниже будут описаны приложения способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанные в каждом из вариантов осуществления, и системы, использующие их. Система имеет особенность, связанную с наличием устройства кодированного изображения и декодированного изображения, которая включает в себя устройство кодирования изображения, использующее способ кодирования изображения, и устройство декодирования изображения, использующее способ декодирования изображения. Другие конфигурации в системе можно при необходимости изменить в зависимости от случаев.
Фиг. 19 иллюстрирует общую конфигурацию системы е×100 предоставления контента для осуществления услуг распределения контента. Зона для предоставления услуг связи разделена на соты желательного размера, и базовые станции е×106, е×107, е×108, е×109 и е×110, которые являются стационарными беспроводными станциями, размещены в каждой из сот.
Система е×100 предоставления контента соединена с устройствами, такими как е×111, персональный цифровой помощник (PDA) е×112, камера е×113, сотовый телефон е×114 и игровая машина е×115, через Интернет е×101, провайдер е×102 услуги Интернет, телефонную сеть е×104, а также базовые станции е×106-е×110 соответственно.
Однако конфигурация системы е×100 предоставления контента не ограничена конфигурацией, показанной на фиг. 19, и приемлемой является комбинация, в которой любой из элементов является подсоединенным. Помимо этого каждое устройство можно непосредственно подсоединить к телефонной сети е×104, а не через базовые станции е×106-е×110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть межсоединенными друг с другом через беспроводную связь на короткие расстояния и прочее.
Камера е×113, такая как цифровая видеокамера, имеет возможность захвата видео. Камера е×116, такая как цифровая камера, имеет возможность захвата как неподвижных изображений, так и видео. Кроме того, сотовый телефон е×114 может представлять собой сотовый телефон, который удовлетворяет любым из стандартов, таким как глобальная система мобильной связи (GSM) (зарегистрированный торговый знак), множественный доступ с кодовым разделением каналов (CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), долгосрочное развитие (LTE) и высокоскоростной пакетный доступ (HSPA). Альтернативно, сотовый телефон ex114 может представлять собой персональную телефонную систему (PHS).
В системе ex100 предоставления контента, потоковый сервер ex103 соединен с камерой ex113 и прочим через телефонную сеть ex104 и базовую станцию ex109, которая позволяет распределять изображение представления в прямом эфире и прочее. При таком распределении контент (например, видео или музыкальное представление в прямом эфире), захваченный пользователем с использованием камеры ex113, кодируется, как было описано выше в каждом из вариантов осуществления (то есть камера функционирует как устройство кодирования изображения согласно аспекту настоящего изобретения), и кодированный контент передается в потоковый сервер ex103. С другой стороны, выполняет распределение потоков переданных данных контента клиентам после их запросов. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которая может декодировать вышеупомянутые кодированные данные. Каждое из устройств, которое приняло распределенные данные, декодирует и воспроизводит кодированные данные (то есть функционирует как устройство декодирования изображения согласно аспекту настоящего изобретения).
Захваченные данные можно кодировать с помощью камеры ex113 или потокового сервера ex103, который передает данные, или процессы кодирования можно совместно использовать между камерой ex113 и потоковым сервером ex103. Аналогичным образом, распределенные данные можно декодировать с помощью клиентов или потокового сервера ex103, или процессы декодирования можно совместно использовать между клиентами и потоковым сервером ex103. Кроме того, данные неподвижных изображений и видео, захваченное не только с помощью камеры ex103, но также камеры ex116, можно передавать в потоковый сервер ex103 через компьютер ex111. Процессы кодирования можно выполнять с помощью камеры ex116, компьютера ex111 или потокового сервера ex103 или с помощью их совместного использования.
Кроме того, процессы кодирования и декодирования можно выполнять с помощью БИС ex500, обычно включенный в каждый из компьютера ex111 и устройств. БИС ex500 можно сконфигурировать из одного чипа или множества чипов. Программное обеспечение для кодирования и декодирования видео можно интегрировать в некоторый тип носителя записи (такой как CD-ROM, гибкий диск или жесткий диск), который можно считывать с помощью компьютера ex111 или прочего, и процессы кодирования и декодирования можно выполнять, используя программное обеспечение. Кроме того, когда сотовый телефон ex114 оснащен камерой, видеоданные, полученные с помощью камеры можно передавать. Видеоданные представляют собой данные, кодированные с помощью БИС ex500, включенной в сотовый телефон ex114.
Кроме того, потоковый сервер ex103 может состоять из серверов и компьютеров и может децентрализировать данные и обрабатывать децентрализированные данные, записывать или распределять данные.
Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном времени в системе ex100 предоставления контента таким образом, чтобы пользователь, который не имеет каких либо конкретных прав и оборудования, мог осуществить персональное широковещание.
Помимо примера, система ex100 предоставления контента, по меньшей мере, одно из устройства кодирования движущегося изображения (устройства кодирования изображения) и устройства декодирования движущегося изображения (устройства декодирования изображения), которые описаны в каждом из вариантов осуществления, можно осуществить в цифровой широковещательной системе ex200, иллюстрированной на фиг. 20. Более конкретно, широковещательная станция ex201 поддерживает связь или передает посредством радиоволн, в широковещательный спутник ex202, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и прочего в видеоданные. Видеоданные представляют собой данные, кодированные с помощью способа кодирования движущегося изображения, описанного в каждом из вариантов осуществления (то есть данные, кодированные с помощью устройства кодирования изображения согласно аспекту настоящего изобретения). После приема мультиплексированных данных широковещательный спутник ex202 передает радиоволны для широковещания. Затем антенна ex204 домашнего пользования с функции приема спутникового широковещания принимает радиоволны. Затем устройство, такое как телевизор (приемник) ex300 и телевизионная приставка (STB) ex217 декодируют принятые мультиплексированные данные и воспроизводят декодированные данные (то есть функционируют как устройство декодирования изображения согласно аспекту настоящего изобретения).
Кроме того, считывающее устройство/устройство воспроизведения ex218 (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как DVD и BD, или (ii) кодирует видеосигналы на носителе ex215 записи и в некоторых случаях записывает данные, полученные путем мультиплексирования аудиосигнала по отношению к кодированным данным. Записывающее устройство/устройство воспроизведения ex218 может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления. В этом случае воспроизводимые видеосигналы отображаются на мониторе ex219 и могут воспроизводиться с помощью другого устройства или системы, использующей носитель ex215 записи, на котором записаны мультиплексированные данные. Можно также осуществить устройство декодирования движущегося изображения в телевизионной приставке ex217, подсоединенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутникового и/или наземного широковещания для того, чтобы отображать видеосигналы на мониторе ex219 телевизора ex300. Устройство декодирования движущегося изображения можно осуществить не только в виде телевизионной приставки, но и в виде телевизора ex300.
Фиг. 21 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, которые описаны в каждом из вариантов осуществления. Телевизор ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные с помощью мультиплексирования аудиоданных, с видеоданными через антенну ex204 или кабель ex203 и т.д., которые принимают широковещание; блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые будут подаваться наружу; и блок ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, кодированные с помощью блока ex306 обработки сигналов в данные.
Телевизор ex300 дополнительно включает в себя: блок ex306 обработки сигнала, включающий в себя блок ex304 обработки аудиосигнала и блок ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные соответственно (которые функционируют в качестве устройства кодирования изображения и устройства декодирования изображения согласно аспектам настоящего изобретения); и блок выходной ex309, включающий в себя громкоговоритель ex307, который обеспечивает декодированный аудиосигнал, и блок ex308 отображения, который отображает декодированный видеосигнал, такой как дисплей. Кроме того, телевизор ex300 включает в себя блок ex317 интерфейса, включающий в себя блок ex312 ввода операций, который принимает ввод пользовательских операций. Кроме того, телевизор ex300 включает в себя блок ex310 управления, который управляет полностью каждым составным элементом телевизора ex300, и блок ex311 питания, который подает питание на каждый из элементов. Помимо блока ex312 ввода операций, блок ex317 интерфейса может включать в себя мост ex313, который подсоединен к внешнему устройству, такому как считывающее устройство/устройство воспроизведения ex218; слот ex314 для карты памяти с возможностью присоединения носителя ex216 записи, такого как SD-карты; привод ex315, который будет подсоединяться к внешнему носителю записи, такому как жесткий диск; и модем ex316, который будет подсоединяться к телефонной сети. В данном случае носитель ex216 записи может электрическим способом записывать информацию с использованием энергонезависимого/энергозависимого полупроводникового элемента памяти для хранения. Составные элементы телевизора ex300 соединены друг с другом через синхронную шину.
Сначала будет описана конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и прочее и воспроизводит декодированные данные. В телевизоре ex300 после введения пользовательской операции через пульт ex220 дистанционного управления и прочего, блок ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные с помощью блока ex302 модуляции/демодуляции под управлением ex310 управления, включающего в себя ЦПУ. Кроме того, в телевизоре ex300 блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видеосигнала декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления. Выходной блок ex309 обеспечивает снаружи декодированный видеосигнал и аудиосигнал соответственно. Когда выходной блок ex309 обеспечивает видеосигнал и аудиосигнал, сигналы можно временно хранить в буферах ex318, ex319 и прочих с тем, чтобы сигналы воспроизводились при синхронизации друг с другом. Кроме того, телевизор ex300 может считывать мультиплексированные данные не через широковещание и прочее, но с носителя ex215 и ex216 записи, такого как магнитный диск, оптический диск и CD-карта. Далее будет описана конфигурация, в которой телевизор ex300 кодирует аудиосигналы и видеосигналы и передает данные наружу или записывает данные на носитель записи. В телевизоре ex300 после выполнения пользовательской операции через пульт ex220 дистанционного управления и прочее, блок ex304 обработки аудиосигнала кодирует аудиосигнал, и блок ex305 обработки видеосигнала кодирует видеосигнал под управлением блока ex310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Блок ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и обеспечивает подачу полученного в результате сигнала наружу. Когда блок ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигналы и аудиосигналы, сигналы можно временно хранить в буферах ex320 и ex321 или в прочем с тем, чтобы сигналы воспроизводились при синхронизации друг с другом. В данном случае буферы ex318, ex319, ex320 и ex321 могут быть многочисленными, как это иллюстрировано, или, по меньшей мере, в телевизоре ex300 можно совместно использовать один буфер. Кроме того, данные можно хранить в буфере с тем, чтобы, например, можно было избежать переполнения и незаполнения системы между блоком ex302 модуляции/демодуляции и блоком ex303 мультиплексирования/демультиплексирования.
Кроме того, телевизор ex300 может включать в себя конфигурацию для приема AV входа из микрофона или камеры, а не конфигурацию для получения аудио- и видеоданных из широковещания или носителя записи, и может кодировать полученные данные. Хотя в описании телевизор ex300 может кодировать, мультиплексировать и обеспечивать вывод данных наружу, он может иметь возможность только приема, декодирования и обеспечения вывода данных наружу, но не кодирования, мультиплексирования и обеспечения вывода данных наружу.
Кроме того, когда считывающее устройство/устройство воспроизведения ex218 считывает или записывает мультиплексированные данные с или на носитель записи, один из телевизора ex300 и считывающего устройства/устройства воспроизведения ex218 может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и считывающее устройство/устройство воспроизведения ex218 могут совместно использовать декодирование или кодирование.
В качестве примера, фиг. 22 иллюстрирует конфигурацию блока ex400 записи/воспроизведения информации, при считывании или записи данных с или на оптический диск. Блок ex400 записи/воспроизведения информации включает в себя составные элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, которые будут описаны ниже. Оптическая головка ex401 излучает лазерный пучок, который в виде пятна падает на поверхность для записи носителя ex215 записи, который представляет собой оптический диск для записи информации, и обнаруживает отраженный световой пучок от поверхности для записи носителя ex215 записи для считывания информации. Блок ex402 записи модуляции электрическим способом возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерный световой пучок согласно записанным данным. Блок ex403 демодуляции воспроизведения усиливает сигнал воспроизведения, полученный путем электрического обнаружения отраженного светового пучка от поверхности для записи с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения путем разделения компонентов сигнала, записанных на носителе ex215 записи для воспроизведения необходимой информации. Буфер ex404 временно удерживает информацию, которая будет записываться на носитель ex215 записи, и информацию, воспроизведенную с носителя ex215 записи. Двигатель ex450 диска вращает носитель ex215 записи. Блок ex406 управления сервомеханизмом перемещает оптическую головку ex401 на предопределенную информационную дорожку при управлении приводом вращения двигателя ex405 диска для того, чтобы следовать за лазерным пятном. Блок ex407 управления системой управляет полностью всем блоком ex400 записи/воспроизведения информации. Процессы считывания и записи можно осуществить с помощью блока ex407 управления системой с использованием различной информации, которая хранится в буфере ex404, и при необходимости генерирования и добавления новой информации, и с помощью блока ex402 записи модуляции, блока ex403 демодуляции воспроизведения и блока ex406 управления сервомеханизмом, который записывает и воспроизводит информацию через оптическую головку ex401 при работе скоординированным образом. Блок ex407 управления системой включает в себя, например, микропроцессор и выполняет обработку за счет побуждения компьютера исполнять программу для считывания и записи.
Хотя в описании оптическая головка ex401 излучает лазерное пятно, она может производить запись высокой плотности с использованием света ближнего поля.
Фиг. 23 схематично иллюстрирует носитель ex215 записи, который представляет собой оптический диск. На поверхности для записи носителя ex215 записи сформированы в виде спирали направляющие канавки, и информационная дорожка ex230 записывает, заранее, адресную информацию, указывающую абсолютное положение диска согласно изменению формы направляющей канавки. Адресная информация включает в себя информацию для определения положений записывающих блоков ex231 записи, которые представляют собой блок для записи данных. Воспроизведение информационной дорожки ex230 и считывание адресной информации в устройстве, которое записывает и воспроизводит данные, может привести к определению положений блоков записи. Кроме того, носитель ex215 записи включает в себя зону ex233 записи данных, зону ex232 внутренней окружности и зону ex234 внешней окружности. Зона ex233 записи данных представляет собой зону для использования при записи пользовательских данных. Зона ex232 внутренней окружности и зона ex234 внешней окружности, которая находится внутри и снаружи зоны ex233 записи данных, соответственно, служит для специфического использования за исключением записи пользовательских данных. Блок ex400 записи/воспроизведения информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные путем мультиплексирования кодированных аудио- и видеоданных, с и в зоне ex233 записи данных носителя ex215 записи.
Хотя в описании оптический диск, имеющий слой, такой как DVD и BD, описан в качестве примера, оптический диск не ограничивается этим и может представлять собой оптический диск, имеющий многослойную структуру и возможность записи на части, отличной от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, такую как запись информации с использованием светового пучка различных цветов с различными длинами волн на том же самом участке оптического диска и для записи информации, имеющей различные слои с различными углами.
Кроме того, автомобиль ex210, имеющий антенну ex205 может принимать данные со спутника ex202 или прочего и воспроизводить видео на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в цифровой широковещательной системе ex200. В данном случае конфигурация автомобильной навигационной системы ex211 будет представлять собой конфигурацию, например, включающую в себя приемный блок GPS из конфигурации, иллюстрированной на фиг. 21. То же самое будет справедливо и для конфигурации компьютера ex111, сотового телефона ex114 и прочего.
Фиг. 24А иллюстрирует сотовый телефон ex114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, которые описаны в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, с возможностью захвата движущихся и неподвижных изображений; и блок ex358 отображения, такой как жидкокристаллический дисплей для отображения данных, таких как декодированное видео, захваченное с помощью блока ex365 камеры, или принятые с помощью антенны ex350. Сотовый телефон ex114 дополнительно включает в себя: блок основного тела, включающий в себя блок ex366 операционных клавиш; блок ex357 вывода аудио, такой как громкоговоритель для вывода аудио; блок ex356 ввода аудио, такой как микрофон для ввода аудио, блок ex367 памяти для хранения захваченного видео или неподвижных изображений, записанного видео и кодированных или декодированных данных принятого видео, неподвижных изображений, сообщений электронной почты или прочего; и слот ex364 для карты памяти, который представляет собой блок интерфейса для носителя записи, который сохраняет данные тем же самым образом, как и блок ex367 памяти.
Ниже, со ссылкой на фиг. 24В, будет описан пример конфигурации сотового телефона ex114. В сотовом телефоне ex114 основной блок ex360 управления, выполненный с возможностью управления, в общем, каждым блоком основного тела, включая блок ex358 отображения, а также блок ex366 операционных клавиш, межсоединен через синхронную шину ex370 с блоком ex361 питания, блоком ex362 управления вводом операций, блоком ex355 обработки видеосигнала, блоком ex363 интерфейса камеры, блоком ex359 управления жидкокристаллическим дисплеем (ЖКД), блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки аудиосигнала, слотом ex364 для карты памяти и блоком ex367 памяти.
Когда клавишу завершения вызова или клавишу питания переводят во включенное состояние с помощью операции пользователя, блок ex361 питания обеспечивает питанием соответствующие блоки от аккумуляторной батареи для того, чтобы активизировать сотовый телефон ex114.
В сотовом телефоне ex114 блок ex354 обработки аудиосигнала преобразует аудиосигналы, отобранные с помощью блока ex356 ввода аудио в диалоговом режиме, в цифровые аудиосигналы под управлением основного блока ex360 управления, включающего в себя ЦПУ, ROM и RAM. Затем блок ex352 модуляции/демодуляции выполняет обработку расширения спектра над цифровыми аудиосигналами, и блок ex351 приема и передачи выполняет цифроаналоговое преобразование и преобразование частоты над данными для того, чтобы передать полученные в результате данные через антенну ex350. К тому же, в сотовом телефоне ex114, блок ex351 приема и передачи усиливает данные, принятые с помощью антенны ex350 в диалоговом режиме, и выполняет преобразование частоты и аналого-цифровое преобразование над данными.
Затем блок ex352 модуляции/демодуляции выполняет обработку спектра с обратным расширением над данными, и блок ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы для того, чтобы выводить их через блок ex357 вывода аудио. Кроме того, при передаче сообщения электронной почты в режиме передачи данных, текстовые данные, сообщения электронной почты, которые вводятся путем приведения в действие блока ex366 операционных клавиш и прочего основного тела, посылаются в основной блок ex360 управления через блок ex362 управления вводом операции. Основной блок ex360 управления побуждает блок ex352 модуляции/демодуляции выполнять процесс расширения спектра над текстовыми данными, и блок ex351 приема и передачи выполняет аналого-цифровое преобразование и преобразование частоты над полученными в результате данными для передачи данных в базовую станцию ex110 через антенну ex350. После получения сообщения электронной почты, процесс, который является приблизительно обратным к процессу передачи сообщения электронной почты, выполняется над принятыми данными, и полученные в результате данные подаются в блок ex358 отображения.
При передаче видео, неподвижных изображений или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала сжимает и кодирует видеосигналы, поданные из блока ex365 камеры с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления (то есть функционирует как устройство кодирования изображения согласно аспекту настоящего изобретения), и передает кодированные видеоданные в блок ex353 мультиплексирования/демультиплексирования. Напротив, во время захвата блоком ex365 камеры видео, неподвижных изображений или прочего, блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные с помощью блока ex356 ввода аудио, и передает кодированные аудиоданные в блок ex353 мультиплексирования/демультиплексирования.
Блок ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, поданные из блока ex355 обработки видеосигнала, и кодированные аудиоданные, поданные из блока ex354 обработки аудиосигнала, с использованием предопределенного способа. Затем блок ex352 модуляции/демодуляции (блок-схема модуляции/демодуляции) выполняет процесс расширения спектра над мультиплексированными данными, и блок ex351 приема и передачи выполняет цифроаналоговые преобразования и преобразования частоты над данными для того, чтобы передать полученные в результате данные через антенну ex350.
Когда принятые данные в виде файла, который связан с веб-страницей и т.п. в режиме передачи данных, или при приеме сообщений электронной почты с прикрепленным видео- и/или аудиофайлом, для того чтобы декодировать мультиплексированные данные, принятые через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных, и обеспечивает блок ex355 обработки видеосигнала кодированными видеоданными и блок ex354 обработки аудиосигнала кодированными аудиоданными через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущегося изображения, соответствующего способу кодирования движущегося изображения, показанному в каждом из вариантов осуществления (то есть функционирует как устройство декодирования изображения согласно аспекту настоящего изобретения), и затем блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей через блок ex359 управления ЖКД. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудио обеспечивает вывод аудио.
Кроме того, аналогично телевизору ex300, терминал, такой как сотовый телефон ex114, вероятно имеет три типа конфигурации осуществления, включающие в себя не только (i) передающий и приемный терминал, включающий как устройство кодирования, так и устройство декодировании, но также (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании цифровая широковещательная система ex200 принимает и передает мультиплексированные данные, полученные с помощью мультиплексированных аудиоданных, в видеоданные, мультиплексированные данные могут представлять собой аудиоданные, полученные путем мультиплексирования не аудиоданных, а символьных данных, которые относятся к видео, в видеоданные, и могут представлять собой не мультиплексированные данные, а непосредственно видеоданные.
Как таковой способ кодирования движущегося изображения и способ декодирования движущегося изображения в каждом из вариантов осуществления можно использовать в любом из описанных устройств и систем. Таким образом, можно получить преимущества, полученные в каждом из вариантов осуществления.
Кроме того, настоящее изобретение не ограничивается вариантами осуществления, и различные модификации и версии возможны без отклонения от объема настоящего изобретения.
ПЯТЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Видеоданные можно вырабатывать при необходимости путем переключения между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, которые показаны в каждом из вариантов осуществления и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с различным стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1.
В данном случае, когда множество видеоданных, которые соответствуют различным стандартам, генерируется и затем декодируется, способы декодирования необходимо выбирать в соответствии с различными стандартами. Однако поскольку нельзя обнаружить к какому стандарту соответствует каждое из множества видеоданных, которые будут декодировать, проблема состоит в том, что нельзя выбрать соответствующий способ декодирования.
Для того чтобы разрешить эту проблему, мультиплексированные данные, полученные путем мультиплексирования аудиоданных и прочего в видеоданные, имеют структуру, включающую в себя информацию идентификации, указывающую, какому стандарту соответствуют видеоданные. Ниже будет описана специфическая структура мультиплексированных данных, включающих в себя видеоданные, выработанные способом кодирования движущегося изображения и с помощью устройства кодирования движущегося изображения, которые показаны в каждом из вариантов осуществления. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока MPEG-2.
Фиг. 25 иллюстрирует структуру мультиплексированных данных. Как показано на фиг. 25, мультиплексированные данные можно получить путем мультиплексирования, по меньшей мере, одного из видеопотока, аудиопотока, потока демонстрационной графики (PG) и потока интерактивной графики. Видеопоток представляет собой первичное видео и вторичное видео фильма, аудиопоток (IG) представляет собой первичную аудиочасть и вторичную аудиочасть, которая смешивается с первичной аудиочастью, и поток демонстрационной графики представляет собой субтитры фильма. В данном случае первичное видео является обычным видео, которое будет отображаться на экране, и вторичное видео представляет собой видео, которое будет отображаться в меньшем окне в первичном видео. Кроме того, поток интерактивной графики представляет собой интерактивный экран, который будет вырабатываться с помощью размещения компонентов GUI на экране. Видеопоток кодируется способом кодирования движущегося изображения или с помощью устройства кодирования движущегося изображения, которые показаны в каждом из вариантов осуществления, или способом кодирования движущегося изображения, или с помощью устройства кодирования движущегося изображения в соответствии с общепринятым стандартом, таким как MPEG-2, MPEG-4 AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, таким как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD или линейный РСМ.
Каждый поток, включенный в мультиплексированные данные, идентифицируется с помощью PID, например, 0×1011 выделяется видеопотоку, который будет использоваться для видеофильма, 0×1100-0×111F выделяются аудиопотокам, 0×1200-0×121F выделяются потокам демонстрационной графики, 0×1400-0×141F выделяются потокам интерактивной графики, 0×1В00-0×1B1F выделяются видеопотокам, которые будут использоваться для вторичного видео и отдельно фильма, и 0×1А00-0×1A1F выделяются аудиопотокам, которые будут использоваться для вторичного аудио, которые будут смешиваться с первичным аудио.
Фиг. 26 схематично иллюстрирует то, как мультиплексируются данные, сначала видеопоток ex235, который состоит из видеокадров, и аудиопоток ex238, который состоит из аудиокадров, преобразуются в поток PES-пакетов ex236 и поток PES-пакетов ex239, и дополнительно в TS-пакеты ex237 и TS-пакеты ex240 соответственно. Аналогичным образом, данные потока ex241 демонстрационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245 и дополнительно в TS-пакеты ex243 и TS-пакеты ex246 соответственно. Эти TS-пакеты мультиплексируются в поток для получения мультиплексированных данных ex247.
Фиг. 27 более подробно иллюстрирует то, как видеопоток сохраняется в потоке PES-пакетов. Первая полоска на фиг. 27 указывает поток видеокадров в видеопотоке. Вторая полоска указывает поток PES-пакетов. Как показано стрелками, обозначенными как уу1, уу2, уу3 и уу4 на фиг. 27, видеопоток разделен на картинке в виде I картинки, В картинки и Р картинки, каждая из которых представляет собой блок представления видео, и картинки хранятся в полезной нагрузке каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок хранит метку времени презентации (PTS), указывающую время отображения картинки, и метку времени декодирования (DTS), указывающую время декодирования картинки.
Фиг. 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-фильтр. Исходный пакеты размещаются в мультиплексированных данных, как показано внизу на фиг. 28. Номера, дающие положительное приращение от заголовка мультиплексированных данных, называются номерами исходных пакетов (SPN).
Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитры и прочее, но также таблицу программ (РАТ), таблицу структуры программ (РМТ) и тактовый эталон программы (PCR). РАТ указывает PID у РМТ, используемой в мультиплексированных данных, и PID самой РАТ регистрируется как нуль. РМТ сохраняет PID потоков видео, аудио, субтитров и прочего, которые включены в мультиплексированные данные, и информацию атрибута потоков, соответствующих PID. РМТ также имеет различные дескрипторы, которые относятся к мультиплексированным данным. Дескрипторы имеют информацию, такую как информацию управления копированием, указывающую то, разрешено или нет копирование мультиплексированных данных. PCR сохраняет информацию о времени (STC), соответствующую ATS, указывающую, когда пакет PCR передается в декодер, для того, чтобы достичь синхронизации между таймером поступления (АТС), который является осью времени ATS и системным таймером (STC), который является осью времени PTS и DTS.
На фиг. 29 подробно показана структура данных PMT. В верхней части PMT размещается заголовок PMT. Заголовок PMT описывает длину данных, включенных в PMT и прочее. Множество дескрипторов, относящихся к мультиплексированным данным, размещается после заголовка РМТ. Информация, такая как информация управлением копированием, описывается в дескрипторах. После дескрипторов размещается множество частей потоковой информации, которая относится к потокам, включенным в мультиплексированные данные. Каждая часть потоковой информации включает в себя потоковые дескрипторы, каждый из которых описывает информацию, такую как тип потока для идентификации кодека сжатия, PID потока и информацию об атрибуте потока (такую как частота кадров или соотношение сторон экрана). Количество дескрипторов потока равно количеству потоков в мультиплексированных данных.
Когда мультиплексированные данные записаны на носителе записи и прочем, они записываются вместе с файлами информации о мультиплексированных данных.
Каждый из файлов информации о мультиплексированных данных представляет собой информацию управления относительно мультиплексированных данных, как показано на фиг. 30. Файлы информации о мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию о мультиплексированных данных, информацию об атрибуте потока и карту входов.
Как показано на фиг. 30, информация о мультиплексированных данных включает в себя системную частоту, время начала воспроизведения и время окончания воспроизведения. Системная частота указывает максимальную частоту передачи, при которой системный целевой декодер, который будет описан позже, передает мультиплексированные данные в PID фильтр. Интервалы ATS, включенные в мультиплексированные данные, устанавливаются не выше, чем системная скорость. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Интервал одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается на время окончания воспроизведения.
Как показано на фиг. 31, часть информации об атрибуте регистрируется в информации об атрибуте потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая часть информации об атрибуте имеет различную информацию, которая зависит от того, является ли собой соответствующий поток видеопотоком, аудиопотоком, потоком демонстрационной графики или потоком интерактивной графики. Каждая часть информации об атрибуте видеопотока несет в себе информацию, включающую в себя то, что вид кодека сжатия используется для сжатия видеопотока, и разрешение, соотношение сторон экрана и частоту кадров частей данных картинки, которые включены в видеопоток. Каждая часть информации об атрибуте аудиопотока несет в себе информацию, включающую в себя то, что вид кодека сжатия используется для сжатия аудиопотока, сколько каналов включено в аудиопоток, какой язык поддерживает аудиопоток, и насколько высокой является частота дискретизации. Информация об атрибуте видеопотока и информация об атрибуте аудиопотока используются для инициирования декодера перед тем, как проигрыватель воспроизводит информацию.
В настоящем варианте осуществления мультиплексированные данные, которые будут использоваться, представляют собой тип потока, включенный в РМТ. Кроме того, когда мультиплексированные данные записаны на носителе записи, используется информация об атрибуте видеопотока, включенная в информацию о мультиплексированных данных. Более конкретно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включает в себя этап или блок для выделения уникальной информации, показывающей видеоданные, выработанные с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, тип потока, включенный в РМТ, или информацию об атрибуте видеопотока. С помощью данной конфигурации, видеоданные, выработанные с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, можно отличить от видеоданных, которые соответствуют другому стандарту.
Кроме того, на фиг. 32 показаны этапы способа декодирования движущегося изображения согласно настоящему варианту осуществления. На этапе exS100 тип потока, включенный в РМТ, или информацию об атрибуте видеопотока, включенную в информацию о мультиплексированных данных, получают из мультиплексированных данных. Затем на этапе exS101 определяют, указывает или нет тип потока или информация об атрибуте видеопотока, что мультиплексированные данные вырабатываются с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения в каждом из вариантов осуществления. Когда определяют, что тип потока или информация об атрибуте видеопотока указывает, что мультиплексированные данные вырабатываются с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения в каждом из вариантов осуществления, на этапе exS102 выполняют декодирование с помощью способа декодирования движущегося изображения в каждом из вариантов осуществления. Кроме того, когда тип потока или информация об атрибуте видеопотока указывает соответствие традиционным стандартам, таким как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS103 выполняют декодирование с помощью способа декодирования движущегося изображения в соответствии с общепринятыми стандартами.
Как таковое, выделение нового уникального значения типу потока или информации об атрибуте видеопотока позволяет определить то, могут или нет выполнить декодирование способ декодирования движущегося изображения или устройство декодирования движущегося изображения, которые описаны в каждом из вариантов осуществления. Даже в случае когда мультиплексированные данные соответствуют другому стандарту, можно выбрать соответствующий способ или устройство декодирования. Таким образом, становится возможным декодирование информации без какой-либо ошибки. Кроме того, способ или устройство кодирования движущегося изображения или способ или устройство декодирования движущегося изображения в настоящем варианте осуществления можно использовать в устройствах или системах, описанных выше.
ШЕСТОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Каждый из способа способ кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления обычно выполнен в виде интегральной схемы или большой интегральной схемы (БИС (LSI)). В качестве примера БИС, на фиг. 33 показана конфигурация БИС ex500, которая изготовлена на одном чипе. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и элементы соединены друг с другом через шину ex510. Блок ex505 питания обеспечивает каждый из элементов питанием при включении блока ex505 питания.
Например, при выполнении кодирования БИС ex500 принимает AV-сигнал из микрофона ex117, камеры ex113 и прочего через AV IO ex509 под управлением блока ex501 управления, включающего в себя ЦПУ ex502, контроллер ex503 памяти, контроллер ex504 потока и блок ex512 управления частотой возбуждения. Принятый AV-сигнал временно сохраняется во внешней памяти ex511, такой как SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на части данных согласно объему и скорости обработки, для дальнейшей передачи в блок ex507 обработки сигнала. Затем, блок ex507 обработки сигнала кодирует аудиосигнал и/или видеосигнал. В данном случае кодирование видеосигнала представляет собой кодирование, описанное в каждом из вариантов осуществления. Кроме того, блок ex507 обработки сигнала иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные и IO ex506 потока наружу мультиплексированные данные. Поданные наружу мультиплексированные данные подаются в базовую станцию ex107 или записываются на носителе ex215 записи. При мультиплексировании наборов данных данные необходимо временно сохранять в буфере ex508 для того, чтобы наборы данных были синхронизированы друг с другом.
Хотя память ex511 является элементом, расположенным за пределами БИС ex500, ее можно включить в БИС ex500. Буфер ex500 не ограничивается одним буфером и может состоять из нескольких буферов. Кроме того, БИС ex500 можно изготовить в виде одного чипа или множества чипов.
Кроме того, хотя блок ex501 управления включает в себя ЦПУ ex502, контроллер ex503 памяти, контроллер ex504 потока, блок ex512 управления частотой возбуждения, конфигурация блока ex501 управления не ограничивается этим. Например, блок ex507 обработки сигнала может дополнительно включать в себя ЦПУ. Включение другого ЦПУ в блок ex507 обработки сигнала может повысить скорость обработки. Кроме того, в качестве другого примера, ЦПУ ex502 может служить в качестве или быть частью блока ex507 обработки сигнала, и, например, может включать в себя блок обработки аудиосигнала. В таком случае блок ex501 управления включает в себя блок ex507 обработки сигнала или ЦПУ ex502, включающий в себя часть блока ex507 обработки сигнала.
Здесь использован термин БИС, но также можно использовать термины ИС, системная БИС, супер БИС и БИС со сверхвысокой степенью интеграции, в соответствии с различиями в степени интеграции.
Более того, способы для достижения интеграции не ограничиваются БИС, и специальная схема или процессор общего назначения и т.д. позволяет также достичь интеграции. Для тех же самых целей можно использовать программируемую пользователем вентильную матрицу (FPGA), которую можно программировать после изготовления БИС или переконфигурируемого процессора, который позволяет реконфигурировать соединение или конфигурацию БИС.
В будущем, с развитием полупроводниковой технологии, совершенно новая технология может заменить БИС. Функциональные блоки можно интегрировать с использованием такой технологии. Возможность состоит в том, что настоящее изобретение применимо к биотехнологии.
СЕДЬМОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
При декодировании видеоданных, выработанных способом кодирования движущегося изображения или с помощью устройства кодирования движущегося изображения, описанного в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые соответствуют общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, объем обработки возможно увеличивается. Таким образом, БИС ex500 нуждается в установке более высокой частоты возбуждения, чем у ЦПУ ex502, которая будет использоваться при декодировании видеоданных в соответствии с общепринятым стандартом. Однако, когда частота возбуждения устанавливается более высокой, существует проблема в том, что потребляемая мощность увеличивается.
Для того чтобы решить данную проблему, устройство декодирования движущегося изображения, такое как телевизор ex300 и БИС ex500, сконфигурировано таким образом, чтобы определить, какому стандарту соответствуют видеоданные, и переключать между частотами возбуждения согласно определенному стандарту. На фиг. 34 показана конфигурация ex800 в настоящем варианте осуществления. Блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, когда видеоданные вырабатываются с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, описанного в каждом из вариантов осуществления. Затем, блок ex803 переключения частоты возбуждения выдает команду блоку ex800 декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют общепринятому стандарту, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения по сравнению с видеоданными, выработанными с помощью способа кодирования движущегося изображения или устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления. Затем, блок ex803 переключения частоты возбуждения выдает команду блоку ex802 декодирования, который соответствует общепринятому стандарту, декодировать видеоданные.
Более конкретно, блок ex803 переключения частоты возбуждения включает в себя ЦПУ ex502 и блок ЦПУ ex512 управления частотой возбуждения, показанные на фиг. 33. В данном случае каждый из блока ex801 декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блока ex802 декодирования, который соответствует общепринятому стандарту, соответствует блоку ex507 обработки сигнала, показанному на фиг. 33. ЦПУ ex502 определяет то, какому стандарту соответствуют видеоданные. Затем, блок ex512 управления частотой возбуждения определяет частоту возбуждения на основании сигнала, поступающего из ЦПУ ex502. Кроме того, блок ex507 обработки сигнала декодирует видеоданные на основании сигнала, поступающего из ЦПУ ex502. Например, информация идентификации, описанная в пятом варианте осуществления, возможно, используется для идентификации видеоданных. Информация об идентификации не ограничивается информацией идентификации, описанной в пятом варианте осуществления, но может представлять собой любую информацию до тех пор, пока информация указывает, какому стандарту соответствуют видеоданные. Например, когда то, какому стандарту соответствуют видеоданные, можно определить на основании внешнего сигнала для определения того, что видеоданные используются для телевизора или диска и т.д., определение можно выполнить на основании такого внешнего сигнала. Кроме того, ЦПУ ex502 выбирает частоту возбуждения на основании, например, таблицы поиска, в которой стандарты видеоданных ассоциируются с частотами возбуждения, как показано на фиг. 36. Частоту возбуждения можно выбрать путем сохранения таблицы поиска в буфере ex508 и во внешней памяти БИС, и со ссылкой на таблицу поиска с помощью ЦПУ ex502.
На фиг. 35 показаны этапы выполнения способа в настоящем варианте осуществления. Сначала на этапе exS200 блок ex507 обработки сигнала получает информацию идентификации из мультиплексированных данных. Затем, на этапе exS201 ЦПУ ex502 определяет то, вырабатываются или нет видеоданные с помощью способа кодирования и устройства кодирования, которые описаны в каждом из вариантов осуществления на основании информации идентификации. Когда видеоданные выработаны с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, на этапе exS202 ЦПУ ex502 передает сигнал для установки частоты возбуждения на более высокую частоту возбуждения в блок ex512 управления частотой возбуждения. Затем блок ex512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, когда информация идентификации указывает, что видеоданные соответствуют общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, на этапе exS203 ЦПУ ex502 передает сигнал для установки частоты возбуждения на более низкую частоту возбуждения в блок exS512 управления частотой возбуждения. Затем, блок exS512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения по сравнению со случаем, где видеоданные вырабатываются с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления.
Кроме того, наряду с переключением частот возбуждения, эффект экономии электроэнергии можно улучшить путем изменения напряжения, которое прикладывается к БИС ex500 или устройству, включающему в себя БИС ex500. Например, когда частота возбуждения устанавливается более низкой, напряжение, которое прикладывается к БИС ex500 или устройству, включающему в себя БИС ex500, возможно устанавливается на напряжение более низкое, чем напряжение в случае, где частота возбуждения установлена более высокой.
Кроме того, когда объем обработки для декодирования является наибольшим, частоту возбуждения можно установить более высокой, и когда объем обработки для декодирования является наименьшим, частоту возбуждения можно установить более низкой в качестве способа установки частоты возбуждения. Таким образом, способ установки не ограничивается способом, описанным выше. Например, когда объем обработки для декодирования видеоданных в соответствии с MPEG-4 AVC является большим, чем объем обработки для декодирования видеоданных выработанных с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, частота возбуждения, возможно, устанавливается в обратном порядке для установки, описанной выше.
Кроме того, способ установки частоты возбуждения не ограничивается способом установки более низкой частоты возбуждения. Например, когда информация идентификации указывает, что видеоданные вырабатываются с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, напряжение, которое будет прикладываться к БИС ex500 или устройству, включающему в себя БИС ex500, устанавливается, вероятно, на более высокое значение. Когда информация идентификации указывает, что видеоданные соответствуют общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, напряжение, которое будет прикладываться к БИС ex500 или устройству, включающему в себя БИС ex500, устанавливается, вероятно, на более низкое значение. В качестве другого примера, когда информация идентификации указывает, что видеоданные вырабатываются с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, возбуждение ЦПУ ex502 не должно, вероятно, останавливаться. Когда информация идентификации указывает, что видеоданные соответствуют общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1, возбуждение ЦПУ ex502, вероятно, приостанавливается в заданное время, так как ЦПУ ex502 имеет излишний объем обработки. Даже в случае когда информация идентификации указывает, что видеоданные вырабатываются с помощью способа кодирования движущегося изображения и устройства кодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, в случае где ЦПУ ex502 имеет излишний объем обработки, возбуждение ЦПУ ex502, вероятно, приостанавливается на заданный период времени. В этом случае время приостановки, вероятно, устанавливается более коротким по сравнению с временем в случае, когда информация идентификации указывает, что видеоданные соответствуют общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1.
Соответственно, эффект экономии электроэнергии можно повысить путем переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда БИС ex500 или устройство, включающее в себя БИС ex500, возбуждается с использованием аккумулятора, срок службы аккумулятора можно увеличить с помощью эффекта экономии электроэнергии.
ВОСЬМОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Существуют случаи, где множество видеоданных, которые соответствуют различным стандартам, подаются в устройства и системы, такие как телевизор и сотовый телефон. Для того чтобы обеспечить декодирование множества видеоданных, которые соответствуют различным стандартам, блок ex507 обработки сигнала БИС ex500 должен соответствовать различным стандартам. Однако проблемы, связанные с увеличением размеров схемы БИС ex500 и увеличением стоимости, возникают при индивидуальном использовании блоков ex507 обработки сигнала, которые соответствуют соответствующим стандартам.
Для того чтобы решить данную проблему, представлена конфигурация, в которой совместно используются блок декодирования для осуществления способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, и блок декодирования, который соответствует общепринятому стандарту, такому как MPEG-2, MPEG-4 AVC и VC-1. Например, способ декодирования движущегося изображения описан в каждом из вариантов осуществления, и способ декодирования, который соответствует MPEG-4 AVC, имеют, в частности, до некоторой степени, в общем, подробности обработки, кодирование энтропии, обратное квантование, деблокирующую фильтрацию и предсказание с компенсацией движения. Подробности обработки, которые будут совместно использоваться, вероятно, включают в себя использование блока ex902 декодирования, который соответствует MPEG-4 AVC. Напротив, выделенный блок ex901 декодирования, вероятно, используется для другой обработки, которая является уникальной согласно аспекту настоящего изобретения и не соответствует MPEG-4 AVC. Поскольку аспект настоящего изобретения характеризуется арифметическим декодированием, в частности, например, выделенный блок ex901 декодирования используется для арифметического декодирования. В иных случаях блок декодирования, вероятно, совместно используется для одного из процессов, таких как обратное квантование, деблокирующая фильтрация и компенсация движения, или для всех этих процессов. Блок декодирования для осуществления способа декодирования движущегося изображения в каждом из вариантов осуществления можно совместно использовать для обработки, которая будет совместно использоваться, и выделенный блок декодирования можно использовать для обработки, уникальной для MPEG-4 AVC.
Кроме того, ex1000 на фиг. 37В показан другой пример, в котором обработка до некоторой степени используется совместно. Этот пример использует конфигурацию, включающую в себя выделенный блок ex1001 декодирования, который поддерживает обработку, уникальную в аспекте настоящего изобретения, выделенный блок ex1002 декодирования, который поддерживает процесс, уникальный для другого общепринятого стандарта, и блок ex1003 декодирования, который поддерживает обработку, которая будет совместно использоваться между способом декодирования движущегося изображения согласно аспекту настоящего изобретения и традиционным способом декодирования движущегося изображения. В данном случае выделенные блоки ex1001 и ex1002 декодирования необязательно являются специализированными для обработки согласно аспекту настоящего изобретения и обработки общепринятого стандарта соответственно и могут представлять собой блоки, которые позволяют осуществить общую обработку. Кроме того, конфигурацию настоящего варианта осуществления можно осуществить с помощью БИС ex500.
Как таковое, уменьшение размеров схемы БИС и уменьшение стоимости возможно при совместном использовании блока декодирования для обработки, которая будет совместно использоваться между способом декодирования движущегося изображения согласно аспекту настоящего изобретения и способом декодирования движущегося изображения в соответствии с общепринятым стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение применимо к способу кодирования изображения, способу декодирования изображения, устройству кодирования изображения и устройству декодирования изображения и, в частности, применимо к способу кодирования изображения, способу декодирования изображения, устройству кодирования изображения и устройству декодирования изображения, которые используют арифметическое кодирование и арифметическое декодирование.
ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ПОЗИЦИЙ
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 Блок двоичного арифметического декодирования