Устройство кодирования изображений, способ кодирования изображений, носитель записи и программа, устройство декодирования изображений, способ декодирования изображений, носитель записи и программа

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении возможности задавать фрагмент, допускающий независимое кодирование и декодирование при иерархическом кодировании. Устройство кодирования изображений, которое разделяет изображения на несколько областей, чтобы выполнять кодирование для каждой разделенной области, и выполняет иерархическое кодирование для изображений с множеством слоев, составляющих движущееся изображение, которое содержит первый модуль формирования, который формирует второе изображение, соответствующее второму слою, отличающемуся от первого слоя; модуль кодирования любого из первого изображения и второго изображения; второй модуль формирования, который формирует информацию, указывающую, существует ли первая независимая область в первом изображении, которая ограничена так, что не обращается к другой области в первом изображении; и модуль задания второй независимой области, которая ограничена так, что не обращается к другой области во втором изображении, в позиции, соответствующей первой независимой области во втором изображении, если первая независимая область существует в первом изображении. 6 н. и 48 з.п. ф-лы, 16 ил.

Реферат

Область техники, к которой относится изобретение

[0001] Настоящее изобретение относится к кодированию и декодированию слоев с различными пространственными разрешениями или различным качеством изображений. В частности, настоящее изобретение относится к технологии кодирования и декодирования изображений для того, чтобы разделять каждое изображение, составляющее движущееся изображение, на несколько областей, с тем, чтобы выполнять кодирование и декодирование для каждой разделенной области.

Уровень техники

[0002] Стандарт H.264/Экспертной группы по киноизображению (MPEG)-4 усовершенствованного кодирования видео (AVC) (в дальнейшем называемый "H.264") известен как способ кодирования для записи со сжатием движущегося изображения.

[0003] В последние годы, начата деятельность по международной стандартизации более высокоэффективного способа кодирования в качестве преемника H.264, и создана объединенная группа для совместной работы над видеостандартами (JCT-VC) между Международной организацией по Стандартизации/Международной электротехнической комиссии (ISO/IEC) и сектором стандартизации связи Международного союза по телекоммуникациям (ITU-T). В JCT-VC, проводится стандартизация стандарта высокоэффективного кодирования видео (в дальнейшем называемого "HEVC") (см. NPL 1).

[0004] В HEVC, приспосабливается технология, называемая "способом разделения на (мозаичные) фрагменты", в которой изображение разделено на прямоугольные области (фрагменты) с тем, чтобы независимо выполнять кодирование и декодирование отдельных областей. Помимо этого, в способе разделения на фрагменты, предложена технология для того, чтобы выполнять кодирование и декодирование наборов фрагментов с ограничениями движения (в дальнейшем называемых "MCTS"), каждый из которых состоит из одного или более фрагментов, независимо от других фрагментов (см. NPL 2). В проекте, описанном в NPL 2, задается MCTS, который допускает задание для каждой последовательности. Другими словами, MCTS размещается в относительно идентичной позиции в каждом кадре в идентичной последовательности. В вышеуказанном проекте, при кодировании и декодировании MCTS в кадре, который должен обрабатываться, пиксельная группа, размещаемая в позиции, относительно идентичной позиции MCTS в другом кадре, подвергается межкадровому предсказанию. Другими словами, пикселы, за исключением пикселов в пиксельной группе, не используются в качестве опорных пикселов, к которым обращаются при поиске на основе вектора движения. Это дает возможность обеспечения независимости кодирования и декодирования в MCTS. Позиция каждого фрагмента, включенного в MCTS в изображении, включена в сообщение с дополнительной улучшающей информацией (SEI) для кодирования.

[0005] В стандартизации HEVC, также рассматривается расширение для иерархического кодирования. При иерархическом кодировании фрагмент, который должен быть кодирован, кодируется в базовом слое и улучшающем слое. Фрагменты, кодированные в соответствующих слоях, мультиплексируются с возможностью формировать поток битов. При иерархическом кодировании, описанном выше, можно независимо задавать граничную позицию фрагмента в базовом слое и граничную позицию фрагмента в улучшающем слое. Поскольку необходимо обращаться к фрагменту, который должен быть кодирован в базовом слое, при кодировании соответствующего фрагмента в улучшающем слое, необходимо идентифицировать позицию фрагмента в базовом слое. Соответственно, предложено использование tile_boundaries_aligned_flag в качестве параметра информации применимости видео (VUI) (vui_parameters) в улучшающем слое (см. NPL 3). Tile_boundaries_aligned_flag получается в результате кодирования информации совпадения, указывающей то, размещается ли фрагмент в относительно идентичной позиции в соответствующих слоях. Если tile_boundaries_aligned_flag имеет значение в единицу, обеспечивается то, что граничная позиция фрагмента в улучшающем слое совпадает с граничной позицией соответствующего фрагмента в базовом слое. Поскольку это дает возможность идентификации позиции фрагмента в базовом слое, который вызывается при кодировании и декодировании фрагмента в улучшающем слое, можно независимо кодировать и декодировать фрагмент в улучшающем слое с тем, чтобы обеспечивать высокоскоростное кодирование и декодирование. Базовый слой представляет собой слой самого верхнего уровня, а последующие улучшающие слои представляют собой слои нижнего уровня.

[0006] Тем не менее, в MCTS, описанном в NPL 2, иерархическое кодирование не рассматривается. В частности, когда граница фрагмента и позиция MCTS допускают задание для каждого слоя, относительные позиции фрагмента в соответствующих слоях могут не совпадать друг с другом. Например, когда определенный фрагмент в улучшающем слое включен в MCTS, а фрагмент в позиции, соответствующей определенному фрагменту в базовом слое, не включен в MCTS, необходимо также декодировать окружающие фрагменты, в дополнение к фрагменту в позиции, соответствующей определенному фрагменту в базовом слое.

[0007] Ниже это подробно описывается со ссылкой на фиг. 13. Фиг. 13 иллюстрирует то, как разделять кадр на фрагменты. Ссылаясь на фиг. 13, ссылки с номерами 1301-1310 обозначают кадр. Каждый из кадров 1301-1310 включает в себя 12 фрагментов с номерами 0-11 фрагментов. Фрагмент с номером фрагмента "1" в дальнейшем называется "фрагментом 1". Это применимо к другим номерам фрагментов. Для описания, в базовом слое, каждый кадр горизонтально разделен на два фрагмента, а вертикально не разделен. В улучшающем слое, каждый кадр горизонтально разделен на четыре фрагмента, а вертикально разделен на три фрагмента. Тонкие прямоугольники представляют границы фрагментов на фиг. 13.

[0008] Каждый из кадров 1301, 1303, 1305, 1307 и 1309 указывает кадр каждого слоя во время t. Кадр 1301 указывает кадр в базовом слое во время t. Кадр 1305 указывает кадр в улучшающем первом слое (первом улучшающем слое) во время t. Кадр 1303 указывает кадр, получающийся в результате увеличения восстановленного изображения, получающегося в результате локального декодирования кадра 1301, до разрешения первого улучшающего слоя. Кадр 1309 указывает кадр в улучшающем втором слое (втором улучшающем слое) во время t. Кадр 1307 указывает кадр, получающийся в результате увеличения декодированного изображения кадра 1305 до разрешения второго улучшающего слоя.

[0009] Каждый из кадров 1302, 1304, 1306, 1308 и 1310 указывает кадр каждого слоя во время t+дельта. Кадр 1302 указывает кадр в базовом слое во время t+дельта. Кадр 1306 указывает кадр в первом улучшающем слое во время t+дельта. Кадр 1304 указывает кадр, получающийся в результате увеличения декодированного изображения кадра 1302 до разрешения первого улучшающего слоя. Кадр 1310 указывает кадр во втором улучшающем слое во время t+дельта. Кадр 1308 указывает кадр, получающийся в результате увеличения декодированного изображения кадра 1306 до разрешения второго улучшающего слоя.

[0010] фрагмент 5 в каждом из кадров (в кадрах 1305, 1306, 1309 и 1310) в улучшающем слое здесь описывается как фрагмент в MCTS. Ссылаясь на фиг. 13, каждый полужирный прямоугольник указывает фрагмент, принадлежащий MCTS, или позицию, соответствующую фрагменту.

[0011] Ссылаясь на фиг. 13, фрагмент 5 в кадре 1306 в первом улучшающем слое должен декодироваться, чтобы декодировать MCTS (фрагмент 5) в кадре 1310 во втором улучшающем слое. Помимо этого, фрагмент 0 в кадре 1302 в базовом слое должен декодироваться, чтобы декодировать фрагмент 5 в кадре 1306 в первом улучшающем слое. Кроме того, межкадровое предсказание должно выполняться с обращением к кадру 1301, и все фрагменты в кадре 1301 должны декодироваться, чтобы декодировать фрагмент 0 в кадре 1302 в базовом слое.

[0012] Другими словами, в предшествующем уровне техники, при декодировании MCTS во втором улучшающем слое во время t+дельта, необходимо декодировать область, отличную от области, указывающей позицию фрагмента 5 в кадре 1302 в базовом слое во время t+дельта (области, обозначаемой посредством пунктирных линий в кадре 1304). Соответственно, при кодировании и декодировании определенного фрагмента с использованием MCTS и т.п. при иерархическом кодировании, возникает проблема в том, что невозможно независимо кодировать и декодировать только фрагменты, соответствующие позиции MCTS.

Список библиографических ссылок

Непатентные документы

[0013] NPL 1

ITU-T H.265 (апрель 2013 года) High efficiency video coding

NPL 2

JCT-VC contributed article JCTVC-M0235 Internet<http://phenix.int-evry.fr/jct/doc_end_user/docments/13_Incheon/wg11/>

NPL 3

JCT-VC contributed article JCTVC-M0202 Internet<http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/>

Сущность изобретения

[0014] Настоящее изобретение предоставляет технологию для того, чтобы кодировать и декодировать определенный набор фрагментов в качестве MCTS независимо от других фрагментов при иерархическом кодировании. Фрагмент, допускающий независимое кодирование и декодирование, такой как каждый фрагмент, включенный в MCTS, в дальнейшем называется "независимым фрагментом". Совокупность независимых фрагментов, таких как MCTS, в дальнейшем называется "набором независимых фрагментов".

[0015] Настоящее изобретение предоставляет устройство кодирования изображений, которое выполняет иерархическое кодирование изображений, составляющих движущееся изображение с множеством слоев. Устройство кодирования изображений включает в себя первый модуль формирования, модуль кодирования, первый модуль получения и модуль задания. Первый модуль формирования формирует первое изображение и второе изображение различных слоев из изображений. Модуль кодирования кодирует, по меньшей мере, любое из первого изображения и второго изображения. Первый модуль получения получает информацию, указывающую то, существует ли первая область, допускающая кодирование без обращения к другой области в первом изображении, в первом изображении. Модуль задания задает вторую область в позиции, соответствующей первой области в первом изображении, во втором изображении, если первая область существует в первом изображении, на основе информации, полученной посредством первого модуля получения.

[0016] Настоящее изобретение предоставляет устройство декодирования изображений, которое декодирует кодированные данные, получающиеся в результате иерархического кодирования изображений, составляющих движущееся изображение с множеством слоев. Устройство декодирования изображений включает в себя первый модуль получения, второй модуль получения и модуль декодирования. Первый модуль получения получает первые данные, соответствующие первому изображению, и вторые данные, соответствующе второму изображению слоя, отличающегося от слоя первого изображения, причем первые данные и вторые данные формируются из кодированных данных. Второй модуль получения получает информацию, указывающую то, существует ли первая область, допускающая декодирование без обращения к другой области в первом изображении, в первом изображении. Модуль декодирования декодирует первую область в первом изображении с использованием второй области, существующей в позиции, соответствующей первой области в первом изображении, во втором изображении, если первая область существует в первом изображении, на основе информации, полученной посредством второго модуля получения.

[0017] Дополнительные признаки настоящего изобретения должны становиться ясными из нижеприведенного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи.

[0018] Согласно настоящему изобретению, можно задавать фрагмент, допускающий независимое кодирование и декодирование при иерархическом кодировании.

Краткое описание чертежей

[0019] Фиг. 1 является блок-схемой, иллюстрирующей пример конфигурации устройства кодирования изображений согласно первому варианту осуществления.

Фиг. 2 иллюстрирует примерную структуру фрагмента.

Фиг. 3A является блок-схемой последовательности операций, иллюстрирующей примерный процесс кодирования изображений в устройстве кодирования изображений первого варианта осуществления.

Фиг. 3B является блок-схемой последовательности операций, иллюстрирующей примерный процесс кодирования изображений в устройстве кодирования изображений первого варианта осуществления.

Фиг. 4 является блок-схемой, иллюстрирующей пример конфигурации другого устройства кодирования изображений в первом варианте осуществления.

Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей примерный процесс кодирования изображений в устройстве кодирования изображений, проиллюстрированном на фиг. 4.

Фиг. 6 является блок-схемой, иллюстрирующей пример конфигурации устройства декодирования изображений согласно второму варианту осуществления.

Фиг. 7 является блок-схемой, иллюстрирующей пример конфигурации модуля декодирования изображений во втором варианте осуществления.

Фиг. 8A является блок-схемой последовательности операций, иллюстрирующей примерный процесс декодирования изображений в модуле декодирования изображений, проиллюстрированном на фиг. 7.

Фиг. 8B является блок-схемой последовательности операций, иллюстрирующей примерный процесс декодирования изображений в модуле декодирования изображений, проиллюстрированном на фиг. 7.

Фиг. 9 является блок-схемой, иллюстрирующей примерную другую конфигурацию модуля декодирования изображений, проиллюстрированного на фиг. 7.

Фиг. 10A является блок-схемой последовательности операций, иллюстрирующей примерный процесс декодирования изображений в модуле декодирования изображений, проиллюстрированном на фиг. 9.

Фиг. 10B является блок-схемой последовательности операций, иллюстрирующей примерный процесс декодирования изображений в модуле декодирования изображений, проиллюстрированном на фиг. 9.

Фиг. 11 является блок-схемой, иллюстрирующей примерную аппаратную конфигурацию компьютера, применимого к устройству кодирования изображений согласно первому варианту осуществления и устройству декодирования изображений согласно второму варианту осуществления.

Фиг. 12 иллюстрирует пример синтаксиса vui_parameters потока битов.

Фиг. 13 иллюстрирует примерную структуру фрагмента в предшествующем уровне техники.

Подробное описание вариантов осуществления

[0020] Ниже подробно описываются варианты осуществления в данном документе со ссылкой на прилагаемые чертежи. Конфигурации, описанные в вариантах осуществления, являются только примерами, и настоящее изобретение не ограничено конфигурациями, описанными ниже.

Первый вариант осуществления

[0021] Ниже описывается структура каждого процессора, составляющего устройство кодирования изображений согласно первому варианту осуществления, со ссылкой на фиг. 1. Фиг. 1 является блок-схемой, иллюстрирующей пример конфигурации устройства 100 кодирования изображений первого варианта осуществления.

[0022] Ссылаясь на фиг. 1, изображение (входное изображение) вводится в устройство 100 кодирования изображений через терминал 101 (модуль ввода). Входное изображение вводится для каждого кадра. Модуль 102 задания фрагментов определяет число фрагментов, горизонтально разделенных в одном кадре, числе фрагментов, вертикально разделенных в одном кадре, и позицию каждого фрагмента. Помимо этого, модуль 102 задания фрагментов определяет то, какой фрагмент, из фрагментов, получающихся в результате разделения, кодируется как независимый фрагмент. Информация, указывающая число фрагментов, горизонтально разделенных, число фрагментов, вертикально разделенных, и позицию каждого фрагмента, которая задается посредством модуля 102 задания фрагментов, в дальнейшем называется "информацией разделения на фрагменты". Поскольку информация разделения на фрагменты описывается в части, в которой набор параметров изображения (PPS), который представляет собой данные заголовка относительно каждого изображения, описывается в NPL 1, описание информации разделения на фрагменты опускается в данном документе.

[0023] Фиг. 2 иллюстрирует пример того, как разделять кадр на фрагменты в первом варианте осуществления. В примере на фиг. 2 первого варианта осуществления, один кадр составляет 4K2K (4096 горизонтальных пикселов x 2160 вертикальных пикселов). Эти 4096 горизонтальных пикселов x 2160 вертикальных пикселов в дальнейшем обозначаются посредством 4096x2160 пикселов в первом варианте осуществления. Это применимо к различным числам пикселов. Ссылаясь на фиг. 2, ссылки с номерами 201-206 обозначают кадры. Каждый из кадров 201-206 горизонтально разделен на четыре, а вертикально разделен на три, так что он состоит из 12 фрагментов с номерами 0-11 фрагментов. Другими словами, размер одного фрагмента составляет 1024x720 пикселов. Тем не менее, число фрагментов, получающихся в результате разделения, не ограничено этими числами. Фрагмент 5 и фрагмент 6, обведенные посредством полужирных прямоугольников в кадрах 201-206 на фиг. 2, представляют собой независимые фрагменты, и область, состоящая из фрагментов 5 и 6, соответствует набору независимых фрагментов. Тонкие прямоугольники в кадрах 201-206 на фиг. 2 представляют границы фрагментов. Полужирные прямоугольники в увеличенных изображениях на фиг. 2 представляют позицию, соответствующую набору независимых фрагментов. Как следует из фиг. 2, число фрагментов, горизонтально разделенных, число фрагментов, вертикально разделенных, и относительная позиция каждого фрагмента являются общими для соответствующих слоев.

[0024] Ссылаясь на фиг. 2, кадр 201 указывает кадр в базовом слое, вводимый во время t. Кадр 202 указывает кадр в базовом слое, вводимый во время t+дельта. Кадр 201 подвергнут кодированию и локальному декодированию (деквантованию и обратному преобразованию) во время t+дельта, и кадр 201, подвергнутый локальному декодированию, может использоваться в качестве опорного кадра при кодировании кадра 202.

[0025] Кадр 203 представляет увеличенное изображение, получающееся в результате формирования восстановленного изображения посредством локального декодирования после кодирования кадра 201 и увеличения восстановленного изображения до размера, равного размеру в улучшающем слое. Кадр 204 представляет увеличенное изображение, получающееся в результате формирования восстановленного изображения посредством локального декодирования после кодирования кадра 202 и увеличения восстановленного изображения до размера, равного размеру в улучшающем слое.

[0026] Кадр 205 указывает кадр в улучшающем слое, вводимый во время t. Кадр 206 указывает кадр в улучшающем слое, вводимый во время t+дельта.

[0027] Далее приводится описание каждого процессора на фиг. 1. Каждый кадр во время t+дельта описывается как кадр, который должен быть кодирован.

[0028] Модуль 102 задания фрагментов формирует флаг независимого фрагмента, представляющий информацию, указывающую то, включает ли каждая последовательность в себя независимый фрагмент. Модуль 102 задания фрагментов задает значение флага независимого фрагмента равным единице, если независимый фрагмент включен в кадр, который должен быть кодирован, и задает значение флага независимого фрагмента равным нулю, если независимый фрагмент не включен в кадр, который должен быть кодирован. Когда независимый фрагмент включен в кадр, который должен быть кодирован (значение флага независимого фрагмента равно единице), модуль 102 задания фрагментов формирует информацию позиции независимого фрагмента, указывающую позицию независимого фрагмента. Хотя информация позиции независимого фрагмента, в общем, представляется посредством номера фрагмента в изображении, настоящее изобретение не ограничено этим. Модуль 102 задания фрагментов предоставляет флаг независимого фрагмента и информацию позиции независимого фрагмента, которые формируются, в последующие модули в качестве информации разделения на фрагменты. В первом варианте осуществления, информация разделения на фрагменты, выводимая из модуля 102 задания фрагментов, предоставляется в модуль 104 разделения улучшающего слоя, модуль 105 разделения базового слоя, модуль 106 определения независимых фрагментов и модуль 114 кодирования заголовков.

[0029] Модуль 103 уменьшения уменьшает размер входного изображения, предоставляемого из терминала 101, с использованием предварительно определенного фильтра и т.д., чтобы формировать уменьшенное изображение (изображение базового слоя), имеющее уменьшенное разрешение.

[0030] Модуль 104 разделения улучшающего слоя использует входное изображение, предоставляемое из терминала 101, в качестве изображения улучшающего слоя, чтобы разделять изображение улучшающего слоя на один или более фрагментов на основе информации разделения на фрагменты, предоставляемой из модуля 102 задания фрагментов. В примере на фиг. 2, модуль 104 разделения улучшающего слоя разделяет кадр 206, который вводится, на 12 фрагментов: фрагменты 0-11. Помимо этого, модуль 104 разделения улучшающего слоя предоставляет фрагменты, получающиеся в результате разделения, в последующие модули в порядке номеров фрагментов (0, 1, 2, ..., 11).

[0031] Модуль 114 кодирования заголовков формирует кодированные данные заголовка для каждой последовательности и для каждого изображения. В частности, модуль 114 кодирования заголовков принимает флаг независимого фрагмента и информацию позиции независимого фрагмента, сформированную в модуле 102 задания фрагментов, формирует MCTS SEI (SEI-сообщение) и кодирует VUI-параметр (vui_parameters).

[0032] Модуль 105 разделения базового слоя разделяет изображение базового слоя, сформированное посредством модуля 103 уменьшения, на один или более фрагментов на основе информации разделения на фрагменты, предоставляемой из модуля 102 задания фрагментов. В частности, модуль 105 разделения базового слоя разделяет изображение базового слоя на фрагменты таким образом, что позиция каждого фрагмента на основе информации разделения на фрагменты является относительно идентичной позицией в изображении базового слоя, сформированном посредством модуля 103 уменьшения. В первом варианте осуществления, модуль 105 разделения базового слоя разделяет кадр 202, который вводится, на 12 фрагментов: фрагменты 0-11, как проиллюстрировано на фиг. 2. Модуль 105 разделения базового слоя предоставляет фрагменты, получающиеся в результате разделения, в последующие модули в порядке номеров фрагментов. Модуль 105 разделения базового слоя предоставляет номера фрагментов, которые должны выводиться (фрагментов, которые должны быть кодированы), в модуль 106 определения независимых фрагментов.

[0033] Модуль 106 определения независимых фрагментов определяет то, представляет ли собой фрагмент, который должен быть кодирован (целевой фрагмент кодирования), независимый фрагмент. Модуль 106 определения независимых фрагментов определяет то, представляет собой целевой фрагмент кодирования ли независимый фрагмент, на основе флага независимого фрагмента и информации позиции независимого фрагмента, сформированной посредством модуля 102 задания фрагментов, и номера целевого фрагмента кодирования, предоставляемого из модуля 105 разделения базового слоя. Если флаг независимого фрагмента задается равным единице, информация позиции независимого фрагмента указывает то, что позиция независимого фрагмента представляет собой фрагмент 5, и целевой фрагмент кодирования представляет собой фрагмент 5, модуль 106 определения независимых фрагментов определяет то, что целевой фрагмент кодирования представляет собой независимый фрагмент. Модуль 106 определения независимых фрагментов предоставляет результат определения в последующие модули в качестве флага кодирования независимого фрагмента. Модуль 106 определения независимых фрагментов задает значение флага кодирования независимого фрагмента равным единице, если целевой фрагмент кодирования представляет собой независимый фрагмент, и задает значение флага кодирования независимого фрагмента равным нулю, если целевой фрагмент кодирования не представляет собой независимый фрагмент.

[0034] Модуль 107 кодирования базового слоя кодирует изображение целевого фрагмента кодирования в изображении базового слоя, предоставляемом из модуля 105 разделения базового слоя. Модуль 107 кодирования базового слоя кодирует целевой фрагмент кодирования на основе флага кодирования независимого фрагмента, предоставляемого из модуля 106 определения независимых фрагментов, чтобы формировать кодированные данные базового слоя.

[0035] Когда флаг кодирования независимого фрагмента указывает то, что целевой фрагмент кодирования представляет собой независимый фрагмент, модуль 107 кодирования базового слоя выполняет кодирование следующим образом. Модуль 107 кодирования базового слоя выполняет предсказание и кодирование с обращением только к пикселам в позиции, относительно идентичной позиции набора независимых фрагментов, включающего в себя целевой фрагмент кодирования в восстановленном изображении в базовом слое, подвергнутом локальному декодированию. В примере на фиг. 2, когда фрагмент 5 в кадре 202 представляет собой целевой фрагмент кодирования, модуль 107 кодирования базового слоя выполняет предсказание и кодирование с обращением только к фрагменту 5 и фрагменту 6 в наборе независимых фрагментов в кадре 201. Напротив, когда флаг кодирования независимого фрагмента указывает то, что целевой фрагмент кодирования не представляет собой независимый фрагмент, модуль 107 кодирования базового слоя выполняет предсказание и кодирование ошибки предсказания и т.д. с обращением ко всем пикселам в восстановленном изображении в базовом слое, подвергнутом локальному декодированию. В примере на фиг. 2, когда фрагмент 2 в кадре 202 должен кодироваться, модуль 107 кодирования базового слоя выполняет предсказание и кодирование с обращением ко всем фрагментам (фрагментам 0-11) в кадре 201.

[0036] Модуль 107 кодирования базового слоя предоставляет режим предсказания, используемый для предсказания, ошибку предсказания, сформированную при предсказании, кодированные данные базового слоя, сформированные посредством кодирования ошибки предсказания, и т.д. в последующие модули.

[0037] Модуль 108 восстановления базового слоя принимает коэффициенты (режим предсказания и ошибка предсказания), сформированные посредством модуля 107 кодирования базового слоя, и выполняет локальное декодирование ошибки предсказания, чтобы формировать восстановленное изображение в базовом слое. Модуль 108 восстановления базового слоя хранит сформированное восстановленное изображение. Это обусловлено тем, что восстановленное изображение используется для предсказания в модуле 107 кодирования базового слоя и модуле 112 кодирования улучшающего слоя.

[0038] Модуль 109 увеличения увеличивает восстановленное изображение в базовом слое до размера в улучшающем слое. В примере на фиг. 2, модуль 109 увеличения увеличивает восстановленное изображение каждого кадра 201 и кадра 202, чтобы формировать кадр 203 и кадр 204, соответственно.

[0039] Модуль 112 кодирования улучшающего слоя кодирует изображение фрагмента, предоставляемое из модуля 104 разделения улучшающего слоя. В частности, модуль 112 кодирования улучшающего слоя выбирает опорное изображение на основе флага кодирования независимого фрагмента, предоставляемого из модуля 106 определения независимых фрагментов, и кодирует целевой фрагмент кодирования, чтобы формировать кодированные данные улучшающего слоя.

[0040] Если флаг кодирования независимого фрагмента задается равным единице (если целевой фрагмент кодирования представляет собой независимый фрагмент), модуль 112 кодирования улучшающего слоя обращается к увеличенному изображению, получающемуся в результате увеличения восстановленного изображения в базовом слое, подвергнутому локальному декодированию, и восстановленному изображению в улучшающем слое, подвергнутому локальному декодированию. Модуль 112 кодирования улучшающего слоя выполняет предсказание и кодирование с обращением к изображению, включенному в набор независимых фрагментов каждого из увеличенного изображения и восстановленного изображения. В примере на фиг. 2, когда фрагмент 5 в кадре 206 должен кодироваться, модуль 112 кодирования улучшающего слоя выполняет предсказание и кодирование с обращением к фрагменту 5 и фрагменту 6 в кадре 204 и восстановленному изображению, подвергнутому локальному декодированию в фрагменте 5 в кадре 206. Если флаг кодирования независимого фрагмента задается равным нулю (если целевой фрагмент кодирования не представляет собой независимый фрагмент), модуль 112 кодирования улучшающего слоя выполняет предсказание без ограничения независимым фрагментом с обращением к увеличенному изображению в базовом слое, подвергнутому локальному декодированию, и восстановленному изображению в улучшающем слое, подвергнутому локальному декодированию. Модуль 112 кодирования улучшающего слоя кодирует ошибку предсказания и т.д., сформированную при предсказании.

[0041] Модуль 112 кодирования улучшающего слоя предоставляет режим предсказания, используемый для предсказания, ошибку предсказания, сформированную при предсказании, кодированные данные улучшающего слоя, сформированные посредством кодирования ошибки предсказания, и т.д. в последующие модули, аналогично модулю 107 кодирования базового слоя.

[0042] Модуль 113 восстановления улучшающего слоя выполняет локальное декодирование с использованием, например, коэффициентов (режим предсказания и ошибка предсказания), сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы формировать восстановленное изображение в улучшающем слое. Модуль 113 восстановления улучшающего слоя хранит сформированное восстановленное изображение, поскольку восстановленное изображение используется при кодировании в модуле 112 кодирования улучшающего слоя.

[0043] Модуль 110 интегрирования интегрирует кодированные данные базового слоя, сформированные посредством модуля 107 кодирования базового слоя, кодированные данные улучшающего слоя, сформированные посредством модуля 112 кодирования улучшающего слоя, и кодированные данные заголовка, сформированные посредством модуля 114 кодирования заголовков, между собой, чтобы формировать поток битов. Поток битов, сформированный посредством модуля 110 интегрирования, выводится из терминала 111.

[0044] Модуль 115 управления управляет процессорами в устройстве кодирования изображений и передает параметр между процессорами. Линии соединений между модулем 115 управления и процессорами в устройстве кодирования изображений опускаются на фиг. 1. Модуль 115 управления допускает управление процессорами в устройстве кодирования изображений и считывание и запись параметра между процессорами через сигнальную линию параметров или регистровую шину. Хотя модуль 115 управления на фиг. 1 предоставляется в устройстве кодирования изображений в первом варианте осуществления, настоящее изобретение не ограничено этим. В частности, модуль 115 управления может предоставляться за пределами устройства кодирования изображений для того, чтобы управлять процессорами в устройстве кодирования изображений и считывать и записывать параметр между процессорами через сигнальную линию параметров или регистровую шину.

[0045] Ниже описывается примерный процесс кодирования изображения в устройстве 100 кодирования изображений, описанном выше, в отношении блок-схем последовательности операций на фиг. 3A и 3B.

[0046] Ссылаясь на фиг. 3A и 3B, на этапе S301, устройство 100 кодирования изображений получает число слоев при иерархическом кодировании, которое указывается пользователем. В первом варианте осуществления предполагается, что используется один улучшающий слой, и выполняется иерархическое кодирование двух слоев (базового слоя и одного улучшающего слоя).

[0047] На этапе S302, модуль 102 задания фрагментов определяет число разделенных фрагментов в кадре, который должен быть кодирован, и позиции разделения, а также определяет то, какой фрагмент в кадре, который должен быть кодирован, задается в качестве независимого фрагмента. В первом варианте осуществления предполагается, что фрагмент 5 и фрагмент 6 представляют собой независимые фрагменты, и фрагмент 5 и фрагмент 6 составляют один набор независимых фрагментов. Соответственно, модуль 102 задания фрагментов задает флаг независимого фрагмента равным единице в первом варианте осуществления. Если независимый фрагмент не включен в кадр, который должен быть кодирован, модуль 102 задания фрагментов задает флаг независимого фрагмента равным нулю. Модуль 102 задания фрагментов предоставляет флаг независимого фрагмента, который определяется, в модуль 104 разделения улучшающего слоя, модуль 105 разделения базового слоя, модуль 106 определения независимых фрагментов и модуль 114 кодирования заголовков.

[0048] На этапе S303, модуль 114 кодирования заголовков определяет флаг независимого фрагмента, предоставляемый из модуля 102 задания фрагментов. Если модуль 114 кодирования заголовков определяет то, что флаг независимого фрагмента задается равным единице, процесс переходит к этапу S304. Если модуль 114 кодирования заголовков определяет то, что флаг независимого фрагмента задается равным нулю, процесс переходит к этапу S305.

[0049] На этапе S304, модуль 114 кодирования заголовков задает tile_boundaries_aligned_flag vui_parameters, который представляет информацию совпадения относительно позиции каждого фрагмента, равным единице. Tile_boundaries_aligned_flag vui_parameters получается в результате кодирования информации совпадения, указывающей то, размещается ли фрагмент в относительно идентичной позиции в соответствующих слоях.

[0050] На этапе S305, модуль 114 кодирования заголовков кодирует video_parameter_set, который представляет собой заголовок последовательности. Video_parameter_set включает в себя vps_max_layers_minus1, указывающий число слоев при иерархическом кодировании. Vps_max_layers_minus1 задается равным единице в первом варианте осуществления. Затем модуль 114 кодирования заголовков кодирует набор параметров последовательности (описано в 7.3.2.2 в NPL 1). Набор параметров последовательности также включает в себя vui_parameters. Vui_parameters включает в себя tile_boundaries_aligned_flag, заданный на этапе S304. Модуль 110 интегрирования принимает кодированные данные (video_parameter_set и набор параметров последовательности), чтобы формировать поток битов. Модуль 110 интегрирования выводит сформированный поток битов за пределы устройства 100 кодирования изображений через терминал 111.

[0051] На этапе S306, модуль 114 кодирования заголовков кодирует набор параметров изображения (описано в 7.4.3.3 в NPL 1), который представляет собой заголовок изображения. Модуль 110 интегрирования принимает кодированные данные относительно заголовка изображения (набора параметров изображения), чтобы формировать поток битов. Модуль 110 интегрирования выводит сформированный поток битов за пределы устройства 100 кодирования изображений через терминал 111.

[0052] На этапе S307, модуль 114 кодирования заголовков определяет флаг независимого фрагмента, предоставляемый из модуля 102 задания фрагментов. Если модуль 114 кодирования заголовков определяет то, что флаг независимого фрагмента задается равным единице, процесс переходит к этапу S308. Если модуль 114 кодирования заголовков определяет то, что флаг независимого фрагмента задается равным нулю, процесс переходит к этапу S309.

[0053] На этапе S308, модуль 114 кодирования заголовков кодирует MCTS SEI, поскольку последовательность, которая должна быть кодирована, включает в себя независимый фрагмент. MCTS SEI описывается в главе 2 в NPL 2. В первом варианте осуществления, поскольку один набор независимых фрагментов включен в один кадр, num_sets_in_message_minus1 задается равным нулю. Значение mcts_id задается равным нулю. Значение num_tile_rects_in_set_minus1 задается равным единице. Num_tile_rects_in_set_minus1 указывает число независимых фрагментов, принадлежащих MCTS. Поскольку два фрагмента: фрагмент 5 и фрагмент 6, включены в набор независимых фрагментов в качестве независимых фрагментов в первом варианте осуществления, значение num_tile_rects_in_set_minus1 задается равным единице. Top_left_tile_index и bottom_right_tile_index указывают позиции независимых фрагментов. Top_left_tile_index имеет значение в пять, а bottom_right_tile_index имеет значение в шесть в первом варианте осуществления. Модуль 114 кодирования заголовков кодирует части информации заголовка вышеуказанным способом, чтобы формировать MCTS SEI. Модуль 110 интегрирования принимает MCTS SEI, сформированную посредством модуля 114 кодирования заголовков,