УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ, СПОСОБ КОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ, ПРОГРАММА КОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ, СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ И ПРОГРАММА ДЕКОДИРОВАНИЯ ВИДЕО С ПРЕДСКАЗАНИЕМ
VIDEO PREDICTIVE ENCODING DEVICE, VIDEO PREDICTIVE ENCODING METHOD, VIDEO PREDICTIVE ENCODING PROGRAM, VIDEO PREDICTIVE DECODING DEVICE, VIDEO PREDICTIVE DECODING METHOD AND VIDEO PREDICTIVE DECODING PROGRAM

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к устройству кодирования видео с предсказанием, способу кодирования видео с предсказанием, программе кодирования видео с предсказанием, устройству декодирования видео с предсказанием, способу декодирования видео с предсказанием и программе декодирования видео с предсказанием.
УРОВЕНЬ ТЕХНИКИ
[0002] В традиционной технологии сжатия видео битовый поток инкапсулируется в блок уровня сетевой абстракции (NAL). Блок NAL предоставляет самостоятельный пакет и дает идентификационную информацию в разных сетевых окружениях. Заголовок блока NAL содержит информацию, используемую на системном уровне. Заголовок блока NAL становится частью заголовка пакета, используемого в пакетной сети, и спроектирован с возможностью управления медийными сетевыми элементами (MANE).
[0003] Заголовок блока NAL в традиционной технологии включает в себя нижеследующие синтаксические элементы: nal_ref_flag, который указывает, используется ли блок NAL в качестве опорного в процессе декодирования другого блока NAL; nal_unit_type, который указывает тип содержимого, передаваемого блоком NAL, причем блок NAL содержит информацию, такую как набор параметров, кодированный слайс (вырезка) или сообщение дополнительной информации по усовершенствованию (SEI); и temporal_id, который указывает временной идентификатор блока NAL.
[0004] Традиционная технология описывается в Непатентной литературе 1.
СПИСОК ЦИТИРУЕМОЙ ЛИТЕРАТУРЫ
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
[0005] Непатентная литература 1: Benjamin Bross et al., "High efficiency video coding (HEVC) text specification draft 7", Объединенной команды по кодированию видео (JCT-VC) ITU-T SGI6 WP3 и ISO/IEC JTC1/SC29/WG11, 9-я встреча: Женева, CH, 27-е апреля – 7-е мая 2012.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
[0006] Так как MANE спроектированы для проверки минимального числа байтов в начале пакета, заголовок блока NAL является ограниченным ресурсом. В традиционной технологии заголовок блока NAL составляет только 2 байта. По этой причине все синтаксические элементы заголовка блока NAL являются важными и должны передавать как можно больше информации и не относиться к другим синтаксическим элементам.
[0007] В большинстве типов блока NAL, nal_ref_flag должен быть установлен в фиксированное значение, и таким образом nal_ref_flag не нужен. В спецификации, описанной в Непатентной литературе 1, есть только три вида типов блока NAL, nal_ref_flag которого может принять значение 0 или 1. В других типах блока NAL, заданных в спецификации, значение nal_ref_flag является фиксированным. Это показано в Таблице 1.
<b>Таблица 1</b>
Диапазон типов блока NAL
Возможный nal_ref_flag
Фиксированный/переменныйnal_ref_flag
1-3
0 или 1
Переменный
4-8
1
Фиксированный
25-28
1
Фиксированный
29-31
0
Фиксированный
Таблица 1 является таблицей, показывающей соответствие между значениями nal_unit_type (столбец "диапазон блоков NAL") и возможными значениями nal_ref_flag (столбец "возможный nal_ref_flag"). В этом случае типы блока NAL nal_unit_type могут иметь значения 1, 2 или 3, и значение nal_ref_flag может быть 0 или 1. Остающиеся типы блока NAL зарезервированы или точно не определены.
[0008] Хотя значение nal_ref_flag однозначно определяется согласно значению nal_unit_type, как описано выше, традиционный способ назначает соответствующие биты для nal_ref_flag и nal_unit_type, что является неэффективным проектным решением.
РЕШЕНИЕ ПРОБЛЕМЫ
[0009] Решением вышеуказанной проблемы является предположить значение nal_ref_flag исходя из типа блока NAL, без явной отправки nal_ref_flag в заголовке блока NAL. Три типа блока NAL, в которых предполагается, что nal_ref_flag равен 1, добавляются к трем типам блока NAL, содержимым которых может быть опорное изображение или неопорное изображение. Для первоначальных трех типов блока NAL предполагается, что nal_ref_flag равен 0.
[0010] Для того чтобы решить вышеприведенную изложенную проблему, устройство кодирования видео с предсказанием согласно аспекту настоящего изобретения содержит средство ввода, которое вводит множество изображений, образующих видеопоследовательность; и средство кодирования, которое кодирует изображения посредством либо внутреннего предсказания, либо внешнего предсказания, чтобы сгенерировать данные сжатого изображения, и которое объединяет в пакеты данные сжатого изображения вместе с информацией заголовка пакета, при этом информация заголовка пакета содержит тип изображения, и при этом средство кодирования определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения. Средство кодирования устройства кодирования видео с предсказанием согласно одному аспекту настоящего изобретения определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
[0011] Устройство декодирования видео с предсказанием согласно аспекту настоящего изобретения содержит средство ввода, которое вводит данные сжатого изображения, возникающие в результате кодирования множества изображений, образующих видеопоследовательность, посредством либо внутреннего предсказания, либо внешнего предсказания и объединения в пакеты данных сжатого изображения с информацией заголовка пакета; и средство декодирования, которое восстанавливает информацию заголовка пакета и данные сжатого изображения, при этом информация заголовка пакета содержит тип изображения, однозначно указывающий, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, и при этом средство декодирования определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения.
[0012] В устройстве декодирования видео с предсказанием согласно аспекту настоящего изобретения средство декодирования определяет, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, на основе таблицы соответствия, в которой тип изображения предварительно сохранен в связи с информацией, указывающей, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения. Средство декодирования устройства декодирования видео с предсказанием согласно аспекту настоящего изобретения определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
[0013] Способом кодирования видео с предсказанием согласно аспекту настоящего изобретения является способ кодирования видео с предсказанием, содержащий: этап ввода, на котором вводят множество изображений, образующих видеопоследовательность; и этап кодирования, на котором кодируют изображения посредством либо внутреннего предсказания, либо внешнего предсказания, чтобы сгенерировать данные сжатого изображения, и объединяют в пакеты данные сжатого изображения с информацией заголовка пакета, при этом информация заголовка пакета содержит тип изображения, и при этом этап кодирования определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения. На этапе кодирования способа кодирования видео с предсказанием согласно аспекту настоящего изобретения определяют тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
[0014] Способом декодирования видео с предсказанием согласно аспекту настоящего изобретения является способ декодирования видео с предсказанием, содержащий: этап ввода, на котором вводят данные сжатого изображения, возникающие в результате кодирования множества изображений, образующих видеопоследовательность, посредством либо внутреннего предсказания, либо внешнего предсказания, и объединения в пакеты данных сжатого изображения с информацией заголовка пакета; и этап декодирования, на котором восстанавливают информацию заголовка пакета и данные сжатого изображения в качестве данных восстановленного изображения, при этом информация заголовка пакета содержит тип изображения, однозначно указывающий, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, и при этом этап декодирования определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения.
[0015] В способе декодирования видео с предсказанием согласно аспекту настоящего изобретения этап декодирования определяет, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, на основе таблицы соответствия, в которой тип изображения предварительно сохранен в связи с информацией, указывающей, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения. На этапе декодирования способа декодирования видео с предсказанием согласно аспекту настоящего изобретения определяют, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
[0016] Программой кодирования видео с предсказанием согласно аспекту настоящего изобретения является программа кодирования видео с предсказанием, содержащая: модуль ввода, который вводит множество изображений, образующих видеопоследовательность; и модуль кодирования, который кодирует изображения посредством либо внутреннего предсказания, либо внешнего предсказания, чтобы сгенерировать данные сжатого изображения, и который объединяет в пакеты данные сжатого изображения вместе с информацией заголовка пакета, при этом информация заголовка пакета содержит тип изображения, и при этом модуль кодирования определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения. Модуль кодирования программы кодирования видео с предсказанием согласно аспекту настоящего изобретения определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
[0017] Программой декодирования видео с предсказанием согласно аспекту настоящего изобретения является программа декодирования видео с предсказанием, содержащая: модуль ввода, который вводит данные сжатого изображения, возникающие в результате кодирования множества изображений, образующих видеопоследовательность, посредством либо внутреннего предсказания, либо внешнего предсказания, и объединения в пакеты данных сжатого изображения с информацией заголовка пакета; и модуль декодирования, который восстанавливает информацию заголовка пакета и данные сжатого изображения, при этом информация заголовка пакета содержит тип изображения, однозначно указывающий, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, и при этом модуль декодирования определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения.
[0018] В программе декодирования видео с предсказанием согласно аспекту настоящего изобретения модуль декодирования определяет, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, на основе таблицы соответствия, в которой тип изображения предварительно сохранен в связи с информацией, указывающей, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения. Модуль декодирования программы декодирования видео с предсказанием согласно аспекту настоящего изобретения определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения на том же самом временном уровне.
ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
[0019] Эффектом является экономия битов, используемых для nal_ref_flag, и обеспечение возможности их использования в качестве другой информации указания. Это является наиболее эффективным использованием заголовка блока NAL. Другой способ использования состоит в обеспечении возможности расширения типов блока NAL с 6 битов до 7 битов. В настоящее время существующие типы блока NAL назначаются половине из доступных 64 значений nal_unit_type, и другие 32 значения nal_unit_type зарезервированы и могут быть использованы при задании новых типов блока NAL в будущем. Посредством использования трех из этих зарезервированных значений типов блока NAL и расширяя количество битов типов блока NAL до 7 битов, становится целесообразно задать 93 (128-32-3=93) дополнительных блока NAL в будущем.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0020] Фиг. 1 является блок-схемой, показывающей устройство кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 2 является блок-схемой, показывающей устройство декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 3 является схемой последовательности операций, показывающей обработку способа кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 4 схемой последовательности операций, показывающей подробную часть обработки способа кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 5 схемой последовательности операций, показывающей обработку способа декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 6 схемой последовательности операций, показывающей подробную часть обработки способа декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения.
Фиг. 7 является аппаратной конфигурацией компьютера для исполнения программы, хранящейся на носителе информации.
Фиг. 8 является общим видом компьютера для исполнения программы, хранящейся на носителе информации.
Фиг. 9 является блок-схемой, показывающей пример конфигурации программы кодирования видео с предсказанием.
Фиг. 10 является блок-схемой, показывающей пример конфигурации программы декодирования видео с предсказанием.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[0021] Варианты осуществления настоящего изобретения будут описаны ниже с использованием Фиг. 1-10.
[0022] Сначала будет описан способ кодирования видео с предсказанием. Фиг. 1 является блок-схемой, показывающей устройство кодирования видео с предсказанием согласно варианту осуществления настоящего изобретения. Ссылочный номер 101 обозначает терминал ввода, 102 - блок разбиения на блоки, 103 - блок генерирования предсказанного сигнала, 104 - память кадров, 105 - блок вычитания, 106 - блок преобразования, 107 - блок квантования, 108 - блок деквантования, 109 - блок обратного преобразования, 110 - блок сложения, 111 - блок энтропийного кодирования, 112 - терминал вывода, и 113 - терминал ввода. Терминал ввода 101 соответствует средству ввода. Блок 105 вычитания, блок 106 преобразования, блок 107 квантования и блок 111 энтропийного кодирования соответствуют средству кодирования. Блок 108 деквантования, блок 109 обратного преобразования и блок 110 сложения соответствуют средству декодирования.
[0023] Что касается устройства кодирования видео с предсказанием, сконфигурированного как описано выше, его функционирование будет описано ниже. Видеосигнал, состоящий из множества изображений, подается в терминал 101 ввода. Изображение цели кодирования разбивается на множество областей блоком 102 разбиения на блоки. В варианте осуществления настоящего изобретения целевое изображение разбивается на блоки, каждый состоящий из пикселей 8×8, но оно может быть разбито на блоки любого размера или формы, в отличие от вышеприведенного. Предсказанный сигнал затем генерируется для области как цели процесса кодирования, (которая в дальнейшем будет называться целевым блоком). Вариант осуществления согласно настоящему изобретению использует два типа способов предсказания. А именно, ими являются внешнее предсказание и внутреннее предсказание.
[0024] При внешнем предсказании восстановленные изображения, которые были кодированы и в дальнейшем восстановлены, используются в качестве опорных изображений, и информация движения для предоставления предсказанного сигнала с наименьшей ошибкой из целевого блока определяется исходя из опорных изображений. Этот процесс называется оценкой движения. В зависимости от ситуации целевой блок может быть дополнительно разбит на подобласти, и для каждой из подобластей может быть определен способ внешнего предсказания. В этом случае наиболее эффективный способ разбиения для всего целевого блока и информация движения каждой подобласти определяются исходя из различных способов разбиения. В вариантах осуществления согласно настоящему изобретению операция проводится в блоке 103 генерирования предсказанного сигнала, целевой блок подается по линии L102 и опорные изображения подаются по линии L104. Опорными изображениями, которые должны быть здесь использованы, являются множество изображений, которые были кодированы и восстановлены в прошлом. Подробности являются такими же, как в способах MPEG-2 или 4 и H.264, которые являются традиционными технологиями. Информация движения и способ разбиения на подобласти, определяемые как описано выше, подаются по линии L112 в блок 111 энтропийного кодирования для кодирования в нем, и затем кодированные данные выводятся из терминала 112 вывода. Информация (опорный индекс), указывающая, из какого опорного изображения из множества опорных изображений получен предсказанный сигнал, также отправляется по линии L112 в блок 111 энтропийного кодирования. Блок 103 генерирования предсказанного сигнала получает сигналы опорных изображений из памяти 104 кадров, на основе опорных изображений и информации движения, соответствующих способу разбиения на подобласти и каждой подобласти, и генерирует предсказанный сигнал. Сигнал с внешним предсказанием, сгенерированный таким образом, подается по линии L103 в блок 105 вычитания.
[0025] При внутреннем предсказании сигнал с внутренним предсказанием генерируется с использованием значений реконструированных пикселей, пространственно смежных с целевым блоком. Конкретно, блок 103 генерирования предсказанного сигнала получает сигналы реконструированных пикселей в том же кадре из памяти 104 кадров и экстраполирует эти сигналы, чтобы сгенерировать сигнал с внутренним предсказанием. Информация о способе экстраполяции подается по линии L112 в блок 111 энтропийного кодирования для кодирования в нем, и затем кодированные данные выводятся из терминала 112 вывода. Сигнал с внутренним предсказанием, сгенерированный таким образом, подается в блок 105 вычитания. Способ генерирования сигнала с внутренним предсказанием в блоке 103 генерирования предсказанного сигнала является таким же, как способ H.264, являющийся традиционной технологией. Предсказанный сигнал с наименьшей ошибкой выбирается из сигналов с внешним предсказанием, полученных как описано выше, и выбранный предсказанный сигнал подается в блок 105 вычитания.
[0026] Блок 105 вычитания вычитает предсказанный сигнал (поданный по линии L103) из сигнала целевого блока (поданного по линии L102), чтобы сгенерировать остаточный сигнал. Этот остаточный сигнал преобразуется посредством дискретного косинусного преобразования блоком 106 преобразования, чтобы образовать коэффициенты преобразования, которые квантуются блоком 107 квантования. Наконец, блок 111 энтропийного кодирования кодирует квантованные коэффициенты преобразования, и кодированные данные выводятся вместе с информацией о способе предсказания из терминала 112 вывода.
[0027] Для внутреннего предсказания или внешнего предсказания последовательного целевого блока сжатый сигнал целевого блока подвергается обратной обработке для восстановления. А именно, блоком 108 деквантования осуществляется обратное квантование квантованных коэффициентов преобразования и затем преобразуются посредством обратного дискретного косинусного преобразования блоком 109 обратного преобразования, чтобы восстановить остаточный сигнал. Блок 110 сложения осуществляет сложение восстановленного остаточного сигнала с предсказанным сигналом, поданным по линии L103, чтобы восстановить сигнал целевого блока, и восстановленный сигнал сохраняется в памяти 104 кадров. Настоящий вариант осуществления использует блок 106 преобразования и блок 109 обратного преобразования, но в других вариантах осуществления также возможно использовать другую обработку преобразования вместо этих блоков преобразования. В зависимости от ситуации, в некоторых вариантах осуществления блок 106 преобразования и блок 109 обратного преобразования могут быть опущены.
[0028] Входные данные из терминала ввода 113 включают в себя информацию порядка отображения каждого изображения, тип кодирования каждого изображения (кодирование с внутренним предсказанием, кодирование с внешним предсказанием или кодирования с двунаправленным предсказанием) и информацию о типе блока NAL, и блок 103 генерирования предсказанного сигнала функционирует на основе этих порций информации. Эти порции информации также подаются по линии L113 в блок 111 энтропийного кодирования для кодирования в нем, и кодированные данные выводятся из терминала 112 вывода. Функционирование блока 111 энтропийного кодирования для кодирования типа блока NAL будет описано позднее.
[0029] Далее будет описан способ декодирования видео с предсказанием. Фиг. 2 является блок-схемой, показывающей устройство декодирования видео с предсказанием согласно варианту осуществления настоящего изобретения. Ссылочный номер 201 обозначает терминал ввода, 202 - блок анализа данных, 203 - блок деквантования, 204 - блок обратного преобразования, 205 - блок сложения, 206 - терминал вывода, 207 - память кадров, 208 - блок генерирования предсказанного сигнала и 209 - блок управления памятью кадров. Терминал ввода 201 соответствует средству ввода. Блок 202 анализа данных, блок 203 деквантования, блок 204 обратного преобразования и блок 205 сложения соответствуют средству декодирования. В других вариантах осуществления средство декодирования может быть средством, отличным от вышеприведенного. Кроме того, в вариантах осуществления средство декодирования может быть сконфигурировано без блока 204 обратного преобразования.
[0030] Что касается устройства декодирования видео с предсказанием, сконфигурированного как описано выше, его функционирование будет описано ниже. Сжатые данные, возникающие в результате кодирования со сжатием устройством кодирования видео с предсказанием, вводятся посредством терминала ввода 201. Эти сжатые данные содержат остаточный сигнал, возникающий в результате кодирования с предсказанием каждого целевого блока, полученного посредством разбиения изображения на множество блоков, и информацию, относящуюся к генерированию предсказанного сигнала. Информация, относящаяся к генерированию предсказанного сигнала, включает в себя, в дополнение к типу блока NAL, информацию о разбиении на блоки (размер блока), информацию движения и вышеупомянутый опорный индекс в случае внешнего предсказания, и включает в себя информацию о способе экстраполяции из реконструированных окружающих пикселей в случае внутреннего предсказания.
[0031] Блок 202 анализа данных извлекает остаточный сигнал целевого блока, информацию, относящуюся к генерированию предсказанного сигнала, включающую в себя тип блока NAL, параметр квантования, и информацию порядка отображения изображения из сжатых данных. Операция для извлечения типа блока NAL в блоке 202 анализа данных будет описана позднее. Блоком 203 деквантования осуществляется обратное квантование остаточного сигнала целевого блока на основе параметра квантования (поданного по линии L202). Результат преобразуется посредством дискретного косинусного преобразования блоком 204 обратного преобразования.
[0032] Далее информация, относящаяся к генерированию предсказанного сигнала, такая как информация порядка отображения целевого изображения, тип кодирования изображения, тип блока NAL и опорный индекс, подается по линии L206 в блок 208 генерирования предсказанного сигнала. Блок 208 генерирования предсказанного сигнала осуществляет доступ к памяти 207 кадров, на основе информации, относящейся к генерированию предсказанного сигнала, для получения опорного сигнала из множества опорных изображений (по линии L207), и генерирует предсказанный сигнал. Этот предсказанный сигнал подается по линии L208 в блок 205 сложения, блок 205 сложения осуществляет сложение этого предсказанного сигнала с восстановленным остаточным сигналом для восстановления сигнала целевого блока, и сигнал выводится по линии L205 из терминала 206 вывода и одновременно сохраняется в память 207 кадров.
[0033] Восстановленные изображения, которые должны быть использованы для декодирования и восстановления последовательного изображения, хранятся в памяти 207 кадров.
[0034] Таблица 2 и Таблица 3 являются таблицами, указывающими варианты выбора двух типов синтаксиса, касающихся режима использования двух байтов заголовка блока NAL.
<b>Таблица 2</b>
nal_unit(NumBytesInNALunit) {
Дескриптор
forbidden_zero_bit
f(1)
зарезервирован
u(1)
nal_unit_type
u(6)
temporal_id
u(3)
reserved_one_5bits
u(5)
.... (Оставшаяся часть блока NAL)
<b>Таблица 3</b>
nal_unit( NumBytesInNALunit) {
Дескриптор
forbidden_zero_bit
f(1)
зарезервирован
u(1)
nal_unit_type
u(6)
temporal_id
u(3)
reserved_one_5bits
u(5)
.... (Оставшаяся часть блока NAL)
В Таблицах 2 и 3 числа в скобках в столбце "Дескриптор" указывают количество битов соответствующих элементов.
[0035] В заголовке синтаксиса блока NAL из Таблицы 2 nal_ref_flag заменен зарезервированным битом (зарезервирован). Этот бит игнорируется существующими в настоящее время устройствами декодирования, но ему может быть назначено новое значение или семантика для будущих устройств декодирования. Следует отметить, что размещение битов в Таблице 2 служит лишь для описания, и зарезервированный бит может быть размещен в другом месте в 2-байтном заголовке.
[0036] В синтаксисе заголовка блока NAL из Таблицы 3 nal_unit_type назначено 7 битов, и тем самым самое большое могут быть заданы 128 разных видов nal_unit_type. В настоящем варианте осуществления было выбрано назначение 7 битов для nal_unit_type, но бит, сэкономленный в nal_ref_flag, может быть назначен для temporal_id.
[0037] Таблица 4 показывает типы блока NAL в настоящем варианте осуществления.
<b>Таблица 4</b>
nal_unit_type
Категория
Содержимое синтаксической структуры блока NAL и RBSP
nal_ref_flag
0
Не определен
-
1
Другой слайс
Кодированный слайс не RAP, не TFD и не TLA-изображения slice_layer_rbsp()
0
2
TFD-слайс
Кодированный слайс TFD-изображения slice_layer_rbsp()
0
3
TLA-слайс
Кодированный слайс не TFD TLA-изображения slice_layer_rbsp()
0
4
RAP-слайс
Кодированный слайс CRAT-изображения slice_layer_rbsp()
1
5
RAP-слайс
Кодированный слайс CRANT-изображения slice_layer_rbsp()
1
6
RAP-слайс
Кодированный слайс BLCT-изображения slice_layer_rbsp()
1
7
RAP-слайс
Кодированный слайс BLCNT-изображенияslice_layer_rbsp()
1
8
RAP-слайс
Кодированный слайс IDR-изображения slice_layer_rbsp()
1
9
Другой слайс
кодированный слайс не RAP, не TFD и не TLA-изображения slice_layer_rbsp()
1
10
TFD-слайс
Кодированный слайс TFD-изображения slice_layer_rbsp()
1
11
TLA-слайс
Кодированный слайс не TFD TLA-изображенияslice_layer_rbsp()
1
12..24
Зарезервирован
25
Набор параметров
Набор параметров видео video_parameter_set_rbsp()
1
26
Набор параметров
Набор параметров последовательности seq_parameter_set_rbsp()
1
27
Набор параметров
Набор параметров изображения pic_parameter_set_rbsp()
1
28
Набор параметров
Набор параметров адаптации aps_rbsp()
1
29
Информация
Разграничитель блока доступа access_unit_delimiter_rbsp()
0
30
Информация
Данные заполнителя filler_data_rbsp()
0
31
Информация
Дополнительная информация по усовершенствованию (SEI) sei_rbsp()
0
32..47
Зарезервирован
-
48..63
Не определен
Таблица 4 является таблицей, показывающей значения nal_ref_flag, оцененные исходя из значений nal_unit_type. Типы блока NAL могут быть сгруппированы во множество категорий, которые показаны во втором столбце Таблицы 4. Категории описаны ниже.
1) RAP-слайс: блок NAL, включающий в себя кодированный слайс изображения произвольного доступа.
2) TLA-слайс: блок NAL, включающий в себя кодированный слайс доступа к временному уровню.
3) TFD-слайс: блок NAL, включающий в себя кодированный слайс изображения, помеченного для сброса.
4) Другой слайс: блок NAL, включающий в себя кодированный слайс, помимо вышеуказанных слайсов.
5) Набор параметров: блок NAL, включающий в себя набор параметров видео, последовательности, изображения или адаптации.
6) Информация: блок NAL, включающий в себя разграничитель доступа, данные заполнителя или дополнительную информацию по усовершенствованию (SEI).
[0038] В настоящем варианте осуществления три новых вида типов блока NAL, соответствующих 9, 10, и 11 как значениям nal_unit_type (типам изображений), добавляются к nal_unit_type при традиционной технологии. Блоки NAL с этими значениями для nal_unit_type включают в себя те же типы слайса, как и блоки NAL с соответствующими значениями для nal_unit_type 1, 2 и 3. nal_unit_type: 1 включает в себя кодированный слайс не RAP, не TFD и не TLA-изображения, nal_unit_type: 2 включает в себя кодированный слайс TFD-изображения, и nal_unit_type: 3 включает в себя кодированный слайс не TFT-изображения и TLA-изображения.
Настоящий вариант осуществления отличается от традиционной технологии в том, что значения 1, 2 и 3 являются кодированными слайсами, принадлежащими неопорным изображениям, и значения 9, 10, и 11 являются кодированными слайсами, принадлежащими опорным изображениям.
[0039] Значения, назначенные соответствующим категориям, не ограничены категориями, описанными выше. Кроме того, каждая категория может быть расширена до некоторых подкатегорий, и этим подкатегориям могут быть назначены новые значения, с использованием зарезервированных значений в Таблице 4.
[0040] Фиг. 3 показывает функционирование устройства кодирования видео с предсказанием для кодирования заголовка блока NAL в настоящем варианте осуществления. На этапе 118 устройство кодирования видео с предсказанием получает видеоданные, которые должны быть объединены в пакеты. На этапе 120 устройство кодирует первый бит блока NAL, всегда имеющий фиксированное значение 0. На этапе 130 устройство определяет nal_unit_type и кодирует его. На этапе 140 устройство кодирует temporal_id и на этапе 150 устройство кодирует зарезервированные 5 битов (reserved_one_5bits), завершающие заголовок блока NAL. На этапе 160 устройство объединяет в пакеты оставшуюся полезную нагрузку (полезную нагрузку) и прекращает обработку.
[0041] Фиг. 4 показывает подробности процесса при определении и кодировании nal_unit_type на вышеуказанном этапе 130.
[0042] На этапе 210 устройство кодирования видео с предсказанием определяет, являются ли данные, которые должны быть объединены в пакеты, кодированным слайсом, принадлежащим любому из изображений произвольного доступа (RAP); если данные являются кодированным слайсом, принадлежащим любому из RAP (ДА), устройство переходит на этап 220. Если нет (НЕТ), устройство переходит на этап 230.
[0043] На этапе 220 устройство кодирования видео с предсказанием кодирует nal_unit_type посредством числа от 4 до 8, чтобы предположить, что nal_ref_flag равен 1, согласно типу RAP, и затем переходит на этап 140.
[0044] На этапе 230 устройство кодирования видео с предсказанием определяет, являются ли данные, которые должны быть объединены в пакеты, набором параметров, и если данные определены как набор параметров (ДА), устройство переходит на этап 240. Если данные не являются набором параметров (НЕТ), устройство переходит на этап 250.
[0045] На этапе 240 устройство кодирования видео с предсказанием кодирует nal_unit_type посредством числа от 25 до 28, чтобы предположить, что nal_ref_flag равен 1, согласно набору параметров, и затем устройство переходит на этап 140.
[0046] На этапе 250 устройство кодирования видео с предсказанием определяет, являются ли данные, которые должны быть объединены в пакеты, информационными данными, и если данные являются информационными данными (ДА), устройство переходит на этап 260. Если нет (НЕТ), устройство переходит на этап 270.
[0047] На этапе 260 устройство кодирования видео с предсказанием кодирует nal_unit_type посредством числа от 29 до 31, чтобы предположить, что nal_ref_flag равен 0, согласно типу информации, и затем переходит на этап 140.
[0048] На этапе 270 устройство кодирования видео с предсказанием определяет, являются ли данные, которые должны быть объединены в пакеты, опорным изображением, и если данные являются опорным изображением (ДА), устройство переходит на этап 280. Если данные не являются опорным изображением (НЕТ), устройство переходит на этап 290. Определение того, являются ли данные опорным изображением или нет, делается на основе опорной информации между изображениями, выведенными из блока генерирования предсказанного сигнала.
[0049] Ветвление по условию на этапе 270 может быть скомпоновано, как следует ниже. На этапе 270 видеоданные должны быть определены как либо опорное изображение, либо неопорное изображение. На этапе 270 устройство кодирования видео с предсказанием определяет, является ли изображение опорным изображением, и если изображение является опорным изображением (ДА), устройство переходит на этап 280. Если изображение не является опорным изображением (НЕТ), устройство переходит на этап 290.
[0050] На этапе 280 устройство кодирования видео с предсказанием кодирует nal_unit_type посредством числа от 9 до 11, чтобы предположить, что nal_ref_flag равен 1, согласно типу слайса, и затем переходит на этап 140.
[0051] На этапе 290 устройство кодирования видео с предсказанием кодирует nal_unit_type посредством числа от 1 до 3, чтобы предположить, что nal_ref_flag равен 0, согласно типу слайса, и затем устройство переходит на этап 140.
[0052] Фиг. 5 показывает функционирование устройства декодирования видео с предсказанием для декодирования заголовка блока NAL в настоящем варианте осуществления. На этапе 310 устройство декодирования видео с предсказанием получает следующий пакет для декодирования. На этапе 320 устройство декодирует первый бит (forbidden_zero_bit) блока NAL, всегда имеющий фиксированное значение 0. На этапе 330 устройство декодирует nal_unit_type и задает значение nal_ref_flag. На этапе 340 устройство декодирует temporal_id, и на этапе 350 устройство декодирует зарезервированные 5 битов (reserved_one_5bits), для завершения заголовка блока NAL. На этапе 360 устройство считывает оставшуюся полезную нагрузку из пакета и затем прекращает обработку.
[0053] Фиг. 6 показывает подробности процесса при декодировании nal_unit_type и задании значения nal_ref_flag на вышеуказанном этапе 330.
[0054] На этапе 400 устройство декодирования видео с предсказанием декодирует заголовок блока NAL для получения значения nal_unit_type.
[0055] На этапе 410 устройство декодирования видео с предсказанием определяет, является ли значение nal_unit_type числом от 1 до 3, и если значение является любым числом из 1-3 (ДА), блок NAL включает в себя один из кодированных слайсов неопорных изображений, и вследствие этого устройство переходит на этап 420. Если значение nal_unit_type не является числом от 1 до 3 (НЕТ), устройство переходит на этап 430.
[0056] На этапе 420 устройство декодирования видео с предсказанием задает значение nal_ref_flag в 0 и затем переходит на этап 340.
[0057] На этапе 430 устройство декодирования видео с предсказанием определяет, является ли значение nal_unit_type числом от 4 до 11, и если значение является любым числом из 4-11 (ДА), блок NAL включает в себя один из кодированных слайсов изображений произвольного доступа или кодированных слайсов опорных изображений, и вследствие этого устройство переходит на этап 440. Если значение nal_unit_type не является числом от 4 до 11 (НЕТ), устройство переходит на этап 450.
[0058] На этапе 440 устройство декодирования видео с предсказанием задает значение nal_ref_flag в 1 и затем переходит на этап 340.
[0059] На этапе 450 устройство декодирования видео с предсказанием определяет, является ли значение nal_unit_type числом от 25 до 28, и если значение является любым числом из 25-28 (ДА), блок NAL включает в себя набор параметров, и затем устройство переходит на этап 460. Если значение nal_unit_type не является числом от 25 до 28 (НЕТ), устройство переходит на этап 470.
[0060] На этапе 460 устройство декодирования видео с предсказанием задает значение nal_ref_flag в 1 и затем переходит на этап 340.
[0061] На этапе 470 устройство декодирования видео с предсказанием определяет, является ли значение nal_unit_type числом от 29 до 31, и если значение является любым числом из 29-31 (ДА), блок NAL включает в себя информационные данные, и затем устройство переходит на этап 480. Если значение nal_unit_type не является числом от 29 до 31 (НЕТ), nal_unit_type является недопустимым значением, и устройство переходит на этап 490.
[0062] На этапе 480 устройство декодирования видео с предсказанием задает значение nal_ref_flag в 0 и затем переходит на этап 340.
[0063] На этапе 490 устройство декодирования видео с предсказанием определяет, что значение nal_ref_flag точно не определено, и затем устройство переходит на этап 340.
[0064] В настоящем варианте осуществления вышеупомянутое задание nal_ref_flag выполняется посредством логического определения, но значение nal_ref_flag может также быть задано с использованием опорной таблицы для nal_ref_flag в противоположность индексу nal_unit_type в других вариантах осуществления. Таблица 5 является примером опорной таблицы nal_ref_flag в противоположность индексу nal_unit_type.
<b>Таблица 5</b>
Диапазон типов блока NAL
Предполагаемое значение nal_ref_flag
1-3
0
4-11
1
25-28
1
29-31
0
В Таблице 5 тридцать две записи nal_ref_flag заданы в те же значения, как и в последнем столбце Таблицы 4.
[0065] Вышеупомянутый способ оценки или задания nal_ref_flag не ограничивается устройством декодирования видео с предсказанием, но может также быть применен к MANE.
[0066] В настоящем варианте осуществления устройство декодирования видео с предсказанием может выбрать не выполнять задание nal_ref_flag и может непосредственно использовать значение nal_unit_type при определении, является ли декодированное изображение опорным изображением. Это может быть разъяснено, как следует ниже посредством использования логического выражения. Когда nal_unit_type релевантного изображения равно 1, 2 или 3, релевантное изображение является неопорным изображением. В ином случае релевантное изображение является опорным изображением и сохраняется для использования в качестве опорного для другого изображения.
[0067] В настоящем варианте осуществления определение опорного изображения и неопорного изображения применяется ко всем видеоданным. Однако в вариантах осуществления, где видеоданные подвергаются процессу выборочного отбрасывания кадров для сброса изображения на более высоком временном уровне, это определение более не может быть точным.
[0068] При таких обстоятельствах некоторые опорные изображения могут быть изображениями, которые не используются в качестве опорных. Чтобы избежать этой ситуации, в некоторых вариантах осуществления опорные изображения с nal_unit_type, равным 9, 10, и 11, и неопорные изображения с nal_unit_type, равным 1, 2, и 3, могут быть заданы как описано ниже.
[0069] Опорное изображение является изображением, которое должно быть использовано для внешнего предсказания любым другим изображением на том же самом временном уровне, как и вышеприведенное изображение.
[0070] Неопорное изображение является изображением, которое не должно быть использовано для внешнего предсказания любым другим изображением на том же самом временном уровне, как и вышеприведенное изображение.
[0071] В традиционном способе, описанном в Непатентной литературе 1, внешнее предсказание предписано содержимым набора опорных изображений (RPS) для задания, какое изображение может быть использовано для внешнего предсказания. По этой причине вышеприведенное определение может быть описано, как следует ниже.
[0072] Неопорное изображение (с nal_unit_type, равным 1, 2 или 3) не включено в RPS любого другого изображения на том же самом временном уровне, как и вышеприведенное изображение.
[0073] Опорное изображение (с nal_unit_type, равным 9, 10, или 11) включено в RPS любого другого изображения на том же самом временном уровне, как и вышеприведенное изображение.
[0074] Программа кодирования видео с предсказанием и программа декодирования видео с предсказанием для обеспечения компьютеру возможности функционирования в качестве вышеприведенного устройства кодирования видео с предсказанием и устройства декодирования видео с предсказанием может быть предоставлена в качестве программ, хранящихся на носителе информации. Примеры таких носителей информации включают в себя диски, CD-ROM, DVD, и ROM, полупроводниковую память и т.д.
[0075] Фиг. 7 является чертежом, показывающим аппаратную конфигурацию компьютера для исполнения программы, хранящейся на носителе информации, и Фиг. 8 является общим видом компьютера для исполнения программы, хранящейся на носителе информации. Компьютер может быть осуществлен в DVD-проигрывателе, телеприставке, сотовом телефоне и т.д., обеспеченном CPU, и может быть сконфигурирован с возможностью выполнения обработки и управления программным обеспечением.
[0076] Как показано на Фиг. 7, компьютер 30 обеспечен устройством 12 считывания, таким как блок дискового накопителя, блок CD-ROM накопителя, или блок DVD-накопителя, рабочей памятью (RAM) 14, в которой находится операционная система, памятью 16 для хранения программ, хранящихся на носителе 10 информации, блоком 18 монитора, на подобии дисплея, мышью 20 и клавиатурой 22, в качестве устройств ввода, устройством 24 связи для передачи и приема данных или подобного, и CPU 26 для управления исполнением программ. Когда носитель 10 информации помещен в устройство 12 считывания, компьютер 30 становится доступным для программы кодирования и декодирования видео с предсказанием, хранящейся на носителе 10 информации, посредством устройства 12 считывания, и становится способным функционировать в качестве устройства кодирования и декодирования видео с предсказанием, на основе программы кодирования и декодирования видео с предсказанием.
[0077] Как показано на Фиг. 8, программа кодирования видео с предсказанием или программа декодирования видео с предсказанием могут быть предоставлены в виде сигнала 40 компьютерных данных, наложенного на несущую волну, через сеть. В этом случае компьютер 30 может исполнять программу кодирования видео с предсказанием или программу декодирования видео с предсказанием после того, как программа кодирования видео с предсказанием или программа декодирования видео с предсказанием принята устройством 24 связи и сохранена в память 16.
[0078] Конкретно, как показано на Фиг. 9, программа кодирования видео с предсказанием является программой кодирования видео с предсказанием, обеспеченной модулем ввода P101 для реализации ввода множества изображений, образующих видеопоследовательность, и модулем P102 кодирования для кодирования изображений посредством либо внутреннего предсказания, либо внешнего предсказания, чтобы сгенерировать данные сжатого изображения, и для объединения в пакеты данных сжатого изображения с информацией заголовка пакета, при этом информация заголовка пакета содержит тип изображения и при этом модуль P102 кодирования определяет тип изображения, чтобы однозначно указать, используются ли данные кодированного изображения для ссылки при декодировании другого изображения.
[0079] Аналогично, как показано на Фиг. 10, программа декодирования видео с предсказанием P200 является программой декодирования видео с предсказанием, обеспеченной модулем ввода P201 для реализации ввода данных сжатого изображения, возникающих в результате кодирования множества изображений, образующих видеопоследовательность, посредством либо внутреннего предсказания, либо внешнего предсказания и объединения их в пакеты вместе с информацией заголовка пакета, и модулем P202 декодирования для восстановления информации заголовка пакета и данных сжатого изображения, при этом информация заголовка пакета содержит тип изображения, чтобы однозначно указать, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения и при этом модуль P202 декодирования определяет, на основе типа изображения, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения.
[0080] Модуль P202 декодирования может определить, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения, на основе таблицы соответствия, в которой тип изображения предварительно сохранен в связи с информацией, указывающей, используются ли данные восстановленного изображения для ссылки при декодировании другого изображения.
СПИСОК ССЫЛОЧНЫХ ОБОЗНАЧЕНИЙ
[0081] 101 терминал ввода; 102 блок разбиения на блоки; 103 блок генерирования предсказанного сигнала; 104 память кадров; 105 блок вычитания; 106 блок преобразования; 107 блок квантования; 108 блок деквантования; 109 блок обратного преобразования; 110 блок сложения; 111 блок энтропийного кодирования; 112 терминал вывода; 113 терминал ввода; 201 терминал ввода; 202 блок анализа данных; 203 блок деквантования; 204 блок обратного преобразования; 205 блок сложения; 206 терминал вывода; 207 память кадров; 208 блок генерирования предсказанного сигнала.