УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, НОСИТЕЛЬ ЗАПИСИ И ПРОГРАММА, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И НОСИТЕЛЬ ЗАПИСИ И ПРОГРАММА
IMAGE ENCODING DEVICE, AN IMAGE ENCODING METHOD, A RECORDING MEDIUM AND A PROGRAM, AN IMAGE DECODING DEVICE, AN IMAGE DECODING METHOD AND A RECORDING MEDIUM AND A PROGRAM

Область техники, к которой относится изобретение
[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 кодирования заголовков, чтобы формировать поток битов, и выводит сформированный поток битов за пределы устройства 100 кодирования изображений через терминал 111.
[0054] На этапе S309, модуль 103 уменьшения уменьшает размер входного изображения для того, чтобы формировать изображение базового слоя. Хотя базовый слой формируется посредством модуля 103 уменьшения, поскольку улучшающий слой имеет один слой в первом варианте осуществления, настоящее изобретение не ограничено этим. В случае иерархического кодирования, при котором используются два или более улучшающих слоев (общее число слоев равно трем или более), могут предоставляться несколько модулей 103 уменьшения, или один модуль 103 уменьшения может формировать изображения требуемого числа слоев.
[0055] На этапе S310, модуль 105 разделения базового слоя извлекает изображения фрагментов в базовом слое, который должен кодироваться, в порядке номеров фрагментов от верхнего левого угла изображения. Модуль 105 разделения базового слоя предоставляет каждое из извлеченных изображений фрагментов в базовом слое в модуль 107 кодирования базового слоя.
[0056] На этапе S311, модуль 106 определения независимых фрагментов принимает номер фрагмента для целевого фрагмента кодирования из модуля 105 разделения базового слоя. Модуль 106 определения независимых фрагментов принимает информацию позиции независимого фрагмента относительно целевого фрагмента кодирования из модуля 102 задания фрагментов. Информация позиции независимого фрагмента указывает пять и шесть в первом варианте осуществления. Модуль 106 определения независимых фрагментов сравнивает принимаемый номер фрагмента для целевого фрагмента кодирования с номером фрагмента в информации позиции независимого фрагмента. Если номер фрагмента для целевого фрагмента кодирования совпадает с номером фрагмента в информации позиции независимого фрагмента ("Да" на этапе S311), модуль 106 определения независимых фрагментов определяет то, что целевой фрагмент кодирования представляет собой независимый фрагмент, и задает флаг кодирования независимого фрагмента равным единице. Затем процесс переходит к этапу S312. Если номер фрагмента для целевого фрагмента кодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента ("Нет" на этапе S311), модуль 106 определения независимых фрагментов определяет то, что целевой фрагмент кодирования не представляет собой независимый фрагмент, и задает флаг кодирования независимого фрагмента равным нулю. Затем процесс переходит к этапу S313.
[0057] На этапе S312, целевой фрагмент кодирования представляет собой независимый фрагмент в кадре, который должен быть кодирован в базовом слое. Соответственно, модуль 107 кодирования базового слоя выполняет межкадровое предсказание и кодирование с обращением к восстановленному изображению, включенному в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования в другом кадре в базовом слое, подвергнутому локальному декодированию. Модуль 107 кодирования базового слоя выполняет внутреннее предсказание и кодирование с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования в кадре, который должен быть кодирован. Далее описывается случай, в котором фрагмент 5 в кадре 202 на фиг. 2 должен кодироваться. Модуль 107 кодирования базового слоя выполняет предсказание и кодирование с обращением к восстановленным изображениям, подвергнутым локальному декодированию фрагмента 5 и фрагмента 6 в кадре 201 и фрагмента 5 в кадре 202, сохраненным в модуле 108 восстановления базового слоя. Модуль 107 кодирования базового слоя предоставляет кодированные данные относительно целевого фрагмента кодирования в базовом слое, получающемся в результате кодирования, в модуль 110 интегрирования в качестве кодированных данных базового слоя. Модуль 110 интегрирования интегрирует кодированные данные базового слоя, предоставляемые из модуля 107 кодирования базового слоя, с другими частями кодированных данных, предоставляемых из модуля 114 кодирования заголовков и модуля 112 кодирования улучшающего слоя, чтобы формировать поток битов. Модуль 110 интегрирования выводит сформированный поток битов через терминал 111. Модуль 108 восстановления базового слоя последовательно формирует восстановленные изображения в базовом слое с использованием, например, коэффициентов (режим предсказания и ошибка предсказания), сформированных посредством модуля 107 кодирования базового слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0058] На этапе S313, целевой фрагмент кодирования не представляет собой независимый фрагмент в кадре, который должен быть кодирован в базовом слое. Соответственно, модуль 107 кодирования базового слоя выполняет межкадровое предсказание и кодирование целевого фрагмента кодирования с обращением к полному изображению другого кадра в базовом слое, подвергнутому локальному декодированию. В примере на фиг. 2, в случае кодирования фрагмента 5 в кадре 202, модуль 107 кодирования базового слоя выполняет предсказание и кодирование с обращением к восстановленным изображениям, подвергнутым локальному декодированию всех фрагментов в кадре 201 и фрагмента 5 в кадре 202, сохраненном в модуле 108 восстановления базового слоя. Модуль 107 кодирования базового слоя предоставляет сформированные кодированные данные базового слоя в модуль 110 интегрирования. Модуль 110 интегрирования интегрирует кодированные данные базового слоя с другими частями кодированных данных, чтобы формировать поток битов, и выводит сформированный поток битов через терминал 111, аналогично этапу S312. Модуль 108 восстановления базового слоя последовательно формирует восстановленные изображения в базовом слое с использованием, например, коэффициентов, сформированных посредством модуля 107 кодирования базового слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0059] На этапе S314, модуль 115 управления определяет то, закончено ли кодирование изображений всех фрагментов в базовом слое. Если модуль 115 управления определяет то, что кодирование изображений всех фрагментов в базовом слое не закончено ("Нет" на этапе S314), процесс возвращается к этапу S310. Модуль 105 разделения базового слоя извлекает и выводит фрагмент со следующим номером фрагмента, чтобы продолжать процесс. Если модуль 115 управления определяет то, что кодирование изображений всех фрагментов в базовом слое закончено ("Да" на этапе S314), процесс переходит к этапу S315.
[0060] На этапе S315, модуль 104 разделения улучшающего слоя извлекает изображения фрагментов в улучшающем слое, который должен кодироваться, в порядке номеров фрагментов от верхнего левого угла изображения. Модуль 104 разделения улучшающего слоя предоставляет каждое из извлеченных изображений фрагментов в улучшающем слое в модуль 112 кодирования улучшающего слоя.
[0061] На этапе S316, модуль 106 определения независимых фрагментов сравнивает принимаемый номер фрагмента для целевого фрагмента кодирования с номером фрагмента в информации позиции независимого фрагмента, аналогично этапу S311. Если номер фрагмента для целевого фрагмента кодирования совпадает с номером фрагмента в информации позиции независимого фрагмента ("Да" на этапе S316), модуль 106 определения независимых фрагментов определяет то, что целевой фрагмент кодирования представляет собой независимый фрагмент, и задает флаг кодирования независимого фрагмента равным единице. Затем процесс переходит к этапу S317. Если номер фрагмента для целевого фрагмента кодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента ("Нет" на этапе S316), модуль 106 определения независимых фрагментов определяет то, что целевой фрагмент кодирования не представляет собой независимый фрагмент, и задает флаг кодирования независимого фрагмента равным нулю. Затем процесс переходит к этапу S319.
[0062] На этапе S317, целевой фрагмент кодирования представляет собой независимый фрагмент в кадре, который должен быть кодирован в улучшающем слое. Соответственно, модуль 109 увеличения принимает восстановленное изображение, включенное в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования из восстановленных изображений в базовом слое, подвергнутом локальному декодированию, сохраненное в модуле 108 восстановления базового слоя. Модуль 109 увеличения выполняет увеличение с использованием только принимаемого восстановленного изображения, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в модуль 112 кодирования улучшающего слоя.
[0063] На этапе S318, модуль 112 кодирования улучшающего слоя выполняет предсказание и кодирование изображения целевого фрагмента кодирования, предоставляемого из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению в базовом слое, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению, сформированному на этапе S317. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание целевого фрагмента кодирования с обращением к восстановленному изображению набора независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования в улучшающем слое, подвергнутому локальному декодированию, сохраненному в модуле 113 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования. Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания (например, вектора движения, полученного с помощью межкадрового предсказания) и ошибки предсказания. Модуль 113 восстановления улучшающего слоя последовательно формирует восстановленные изображения в улучшающем слое с использованием, например, коэффициентов (режим предсказания и ошибка предсказания), сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0064] На этапе S319, целевой фрагмент кодирования не представляет собой независимый фрагмент в кадре, который должен быть кодирован в улучшающем слое. Соответственно, модуль 109 увеличения выполняет увеличение с использованием всего восстановленного изображения в базовом слое, сохраненного в модуле 108 восстановления базового слоя, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в модуль 112 кодирования улучшающего слоя.
[0065] На этапе S320, модуль 112 кодирования улучшающего слоя кодирует изображение целевого фрагмента кодирования, предоставляемое из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению в базовом слое, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению, сформированному на этапе S319. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание целевого фрагмента кодирования с обращением к восстановленному изображению в улучшающем слое, подвергнутому локальному декодированию, сохраненному в модуле 113 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание целевого фрагмента кодирования с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования. Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания и ошибки предсказания. Модуль 113 восстановления улучшающего слоя последовательно формирует восстановленные изображения в улучшающем слое с использованием, например, коэффициентов, сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0066] На этапе S321, модуль 115 управления определяет то, закончено ли кодирование изображений всех фрагментов в улучшающем слое. Если модуль 115 управления определяет то, что кодирование изображений всех фрагментов в улучшающем слое не закончено ("Нет" на этапе S321), процесс возвращается к этапу S315. Модуль 104 разделения улучшающего слоя извлекает и выводит фрагмент со следующим номером фрагмента, чтобы продолжать процесс. Если модуль 115 управления определяет то, что кодирование изображений всех фрагментов в улучшающем слое закончено ("Да" на этапе S321), процесс переходит к этапу S322.
[0067] На этапе S322, модуль 115 управления определяет то, закончено ли кодирование изображений всех кадров, включенных в последовательность, предоставляемую из терминала 101. Если какой-либо кадр, который не подвергнут кодированию, существует ("Нет" на этапе S322), процесс возвращается к этапу S309, чтобы обрабатывать следующий кадр. Если кадр, который не подвергнут кодированию, не существует ("Да" на этапе S322), процесс кодирования завершается.
[0068] В вышеуказанной конфигурации и режиме работы, можно сопоставлять относительную позицию каждого фрагмента в улучшающем слое с относительной позицией фрагмента в базовом слое, когда используются независимый фрагмент и набор независимых фрагментов. Другими словами, фрагмент, включенный в набор независимых фрагментов в базовом слое, задается таким образом, что он включен в набор независимых фрагментов в позиции, относительно идентичной позиции набора независимых фрагментов в базовом слое, в каждом улучшающем слое. Это дает возможность ограничения числа пикселов, к которым следует обращаться для предсказания и декодирования независимого фрагмента в любых слоях при иерархическом кодировании, чтобы реализовывать высокоскоростное предсказание. В частности, поскольку задание целевой области и т.п. в независимом фрагменте дает возможность независимого кодирования независимого фрагмента без обращения к фрагментам из базового слоя в улучшающем слое, можно обрабатывать необходимые части с более высокой скоростью, по сравнению с предшествующим уровнем техники.
[0069] Хотя в первом варианте осуществления описывается пример, в котором предсказание и кодирование выполняются с использованием только кадра раньше кадра, который должен быть кодирован, в качестве опорного кадра, как в примере на фиг. 2, настоящее изобретение не ограничено этим примером. Из вышеприведенного описания очевидно, что это применимо к случаю, в котором предсказание и кодирование выполняется с обращением к нескольким кадрам.
[0070] Хотя устройство 100 кодирования изображений с использованием модуля 103 уменьшения и модуля 109 увеличения описывается в первом варианте осуществления, настоящее изобретение не ограничено этим. Модуль 103 уменьшения и модуль 109 увеличения могут опускаться. Альтернативно, параметр квантования, заданный в модуле 112 кодирования улучшающего слоя, может задаваться меньшим параметра квантования, заданного в модуле 107 кодирования базового слоя, при этом коэффициент уменьшения и коэффициент увеличения задаются равными единице. Это дает возможность реализации иерархического кодирования на основе отношения "сигнал-шум" (SNR).
[0071] Хотя при предсказании фрагмента в наборе независимых фрагментов в улучшающем слое увеличенное изображение, к которому следует обращаться, формируется с использованием только изображений фрагментов в базовом слое в позиции, относительно идентичной позиции набора независимых фрагментов в первом варианте осуществления, настоящее изобретение не ограничено этим. Другими словами, к пикселам вокруг независимого фрагмента в базовом слое также можно обращаться, аналогично этапу S319.
[0072] Хотя иерархическое кодирование базового слоя и одного улучшающего слоя (иерархическое кодирование в сумме двух слоев) выполняется в первом варианте осуществления, настоящее изобретение не ограничено этим, и в сумме может выполняться иерархическое кодирование трех или более слоев. В этом случае, предоставление набора из модуля 103 уменьшения, модуля 104 разделения улучшающего слоя, модуля 112 кодирования улучшающего слоя, модуля 113 восстановления улучшающего слоя и модуля 109 увеличения числа слоев улучшающих слоев дает возможность поддержки большего числа слоев. Альтернативно, один модуль 112 кодирования улучшающего слоя, один модуль 413 восстановления улучшающего слоя, один модуль 409 увеличения и один модуль 403 уменьшения могут совместно использоваться при кодировании улучшающих слоев, как проиллюстрировано на фиг. 4.
[0073] Фиг. 4 является блок-схемой, иллюстрирующей пример конфигурации устройства 400 кодирования изображений, допускающего кодирование улучшающих слоев для нескольких слоев. Устройство кодирования изображений на фиг. 4 включает в себя один модуль 112 кодирования улучшающего слоя, один модуль 413 восстановления улучшающего слоя, один модуль 409 увеличения и один модуль 403 уменьшения. Идентичные ссылки с номерами используются на фиг. 4, чтобы идентифицировать компоненты, имеющие функции, идентичные функциям процессоров в устройстве 100 кодирования изображений на фиг. 1. Описание таких компонентов опускается в данном документе. Ссылаясь на фиг. 4, модуль 401 задания числа слоев задает число слоев при иерархическом кодировании. Модуль 403 уменьшения уменьшает размер входного изображения на основе числа слоев, предоставляемого из модуля 401 задания числа слоев, чтобы формировать уменьшенные изображения нескольких слоев, тогда как модуль 103 уменьшения на фиг. 1 уменьшает размер входного изображения, предоставляемого из терминала 101, чтобы формировать одно уменьшенное изображение. Запоминающее устройство 402 кадров сохраняет уменьшенное изображение каждого слоя, сформированное посредством модуля 403 уменьшения. Модуль 409 увеличения увеличивает восстановленные изображения на основе числа слоев, предоставляемых из модуля 401 задания числа слоев, чтобы формировать увеличенные изображения нескольких слоев, имеющих различные разрешения, тогда как модуль 109 увеличения на фиг. 1 увеличивает восстановленное изображение в базовом слое до размера улучшающего слоя, чтобы формировать одно увеличенное изображение. Модуль 413 восстановления улучшающего слоя принимает число слоев из модуля 401 задания числа слоев, чтобы формировать восстановленные изображения в улучшающих слоях с использованием, например, коэффициентов, сформированных посредством модуля 112 кодирования улучшающего слоя, и предоставляет восстановленные изображения в модуль 409 увеличения и модуль 112 кодирования улучшающего слоя. Модуль интегрирования 410 принимает число слоев из модуля 401 задания числа слоев, чтобы интегрировать части кодированных данных, соответствующие числу слоев, между собой, чтобы формировать поток битов.
[0074] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей примерный процесс кодирования, выполняемый посредством процессоров в устройстве 400 кодирования изображений, проиллюстрированном на фиг. 4. Только этапы, которые отличаются от этапов на фиг. 3A и 3B из числа этапов S309-S320 на фиг. 3A и 3B, описываются со ссылкой на фиг. 5. Идентичные номера этапов используются на фиг. 5, чтобы идентифицировать этапы, имеющие функции, идентичные функциям на фиг. 3A и 3B. Описание таких этапов опускается в данном документе. Предполагается, что модуль 401 задания числа слоев задает число слоев в три на этапе S301 на фиг. 3A. Число слоев не ограничено конкретным образом. Также предполагается, что vps_max_layers_minus1 задается равным двум на этапе S305 на фиг. 3A, с тем чтобы формировать кодированные данные заголовка.
[0075] Ссылаясь на фиг. 5, на этапе S501, модуль 403 уменьшения формирует уменьшенные изображения числа слоев в одном кадре. Поскольку число слоев задается равным трем на этапе S301 в настоящем варианте осуществления, модуль 403 уменьшения формирует одно изображение базового слоя и два изображения улучшающего слоя. В частности, модуль 403 уменьшения формирует изображение улучшающего первого слоя (первого улучшающего слоя), получающееся в результате горизонтального и вертикального разделения входного изображения на два, и изображение базового слоя, получающееся в результате горизонтального и вертикального разделения изображения первого улучшающего слоя на два. Модуль 403 уменьшения задает изображение, имеющее разрешение входного изображения, в качестве изображения улучшающего второго слоя (второго улучшающего слоя). Модуль 403 уменьшения предоставляет изображение базового слоя, изображение первого улучшающего слоя и изображение второго улучшающего слоя в запоминающее устройство 402 кадров.
[0076] На этапах S312 в S314, модуль 115 управления кодирует изображение базового слоя, предоставляемое из запоминающего устройства 402 кадров, как описано выше. Модуль 108 восстановления базового слоя выполняет локальное декодирование кодированного изображения для того, чтобы формировать восстановленное изображение, и хранит сформированное восстановленное изображение.
[0077] На этапе S502, модуль 401 задания числа слоев задает базовый слой, кодированный на этапе S312 или этапе S313, или улучшающий слой для слоя, кодированного на этапе S518 или этапа S520, описанных ниже, в качестве слоя верхнего уровня. Модуль 401 задания числа слоев задает последующий улучшающий слой, который должен быть кодирован, в качестве слоя нижнего уровня. Здесь, базовый слой, кодированный на этапе S312 или этапе S313, задается в качестве слоя верхнего уровня, и первый улучшающий слой задается в качестве слоя нижнего уровня.
[0078] На этапе S515, модуль 104 разделения улучшающего слоя извлекает изображения фрагментов в улучшающем слое, который должен кодироваться, в порядке номеров фрагментов от верхнего левого угла изображения в слое, который должен быть кодирован. Модуль 104 разделения улучшающего слоя предоставляет каждое из извлеченных изображений фрагментов в улучшающем слое в модуль 112 кодирования улучшающего слоя. Здесь, модуль 104 разделения улучшающего слоя извлекает изображение целевого фрагмента кодирования в изображении первого улучшающего слоя и предоставляет изображение в модуль 112 кодирования улучшающего слоя.
[0079] На этапе S517, целевой фрагмент кодирования представляет собой независимый фрагмент в кадре, который должен быть кодирован. Соответственно, модуль 409 увеличения принимает восстановленное изображение, включенное в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования из восстановленных изображений в слое верхнего уровня, сохраненном в модуле 108 восстановления базового слоя или модуле 413 восстановления улучшающего слоя. Модуль 409 увеличения выполняет увеличение с использованием только принимаемого восстановленного изображения, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в модуль 112 кодирования улучшающего слоя. В частности, модуль 409 увеличения формирует увеличенное изображение из восстановленных изображений, сохраненных в модуле 108 восстановления базового слоя, и предоставляет увеличенное изображение в модуль 112 кодирования улучшающего слоя.
[0080] На этапе S518, модуль 112 кодирования улучшающего слоя выполняет предсказание и кодирование изображения целевого фрагмента кодирования, предоставляемого из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению, сформированному на этапе S517. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание с обращением к восстановленному изображению набора независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования в другом кадре в улучшающем слое, подвергнутому локальному декодированию, сохраненному в модуле 413 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования. Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания (например, вектора движения, полученного с помощью межкадрового предсказания) и ошибки предсказания. Модуль 413 восстановления улучшающего слоя последовательно формирует восстановленные изображения в улучшающем слое с использованием, например, коэффициентов (режим предсказания и ошибка предсказания), сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0081] На этапе S519, целевой фрагмент кодирования не представляет собой независимый фрагмент в кадре, который должен быть кодирован. Соответственно, модуль 409 увеличения выполняет увеличение с использованием всего восстановленного изображения в базовом слое, сохраненного в модуле 108 восстановления базового слоя, или всего восстановленного изображения в улучшающем слое верхнего уровня, сохраненного в модуле 413 восстановления улучшающего слоя, например, с помощью фильтрации, чтобы формировать увеличенное изображение. Модуль 409 увеличения предоставляет сформированное увеличенное изображение в модуль 112 кодирования улучшающего слоя. Здесь, модуль 409 увеличения формирует увеличенное изображение из восстановленного изображения, сохраненного в модуле 108 восстановления базового слоя.
[0082] На этапе S520, модуль 112 кодирования улучшающего слоя кодирует изображение целевого фрагмента кодирования, предоставляемое из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению, сформированному на этапе S519. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание целевого фрагмента кодирования с обращением к восстановленному изображению в улучшающем слое, подвергнутому локальному декодированию, сохраненному в модуле 413 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание целевого фрагмента кодирования с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования. Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания и ошибки предсказания. Модуль 413 восстановления улучшающего слоя последовательно формирует восстановленные изображения в улучшающем слое с использованием, например, коэффициентов, сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0083] На этапе S503, модуль 115 управления определяет то, закончено ли кодирование всех слоев, заданных посредством модуля 401 задания числа слоев. Если модуль 115 управления определяет то, что кодирование фрагментов всех слоев не закончено ("Нет" на этапе S503), процесс возвращается к этапу S502. Модуль 401 задания числа слоев задает последующий слой в качестве слоя нижнего уровня, чтобы продолжать процесс. Если модуль 115 управления определяет то, что кодирование фрагментов всех слоев закончено ("Да" на этапе S503), процесс переходит к этапу S522. Здесь, модуль 115 управления определяет то, что кодирование второго улучшающего слоя не закончено ("Нет" на этапе S503). Процесс возвращается к этапу S502.
[0084] На этапе S522, модуль 115 управления определяет то, закончено ли кодирование изображений всех кадров, включенных в последовательность, предоставляемую из терминала 101. Если какой-либо кадр, который не подвергнут кодированию, существует ("Нет" на этапе S522), процесс возвращается к этапу S501, чтобы обрабатывать следующий кадр. Если кадр, который не подвергнут кодированию, не существует ("Да" на этапе S522), процесс кодирования завершается.
[0085] Ниже описывается кодирование изображения второго улучшающего слоя. На этапе S502, модуль 401 задания числа слоев задает первый улучшающий слой, кодированный на этапе S518 или этапе S520, в качестве слоя верхнего уровня, и задает второй улучшающий слой в качестве слоя нижнего уровня. На этапе S515, модуль 104 разделения улучшающего слоя извлекает изображение целевого фрагмента кодирования в изображении второго улучшающего слоя и предоставляет извлеченное изображение в модуль 112 кодирования улучшающего слоя.
[0086] На этапе S517, целевой фрагмент кодирования представляет собой независимый фрагмент в кадре, который должен быть кодирован. Соответственно, модуль 409 увеличения принимает восстановленное изображение, включенное в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования из восстановленных изображений в слое верхнего уровня (первом улучшающем слое), сохраненное в модуле 413 восстановления улучшающего слоя. Модуль 409 увеличения выполняет увеличение с использованием только принимаемого восстановленного изображения в наборе независимых фрагментов, например, с помощью фильтрации, чтобы формировать увеличенное изображение в слое верхнего уровня (первом улучшающем слое), и предоставляет увеличенное изображение в модуль 112 кодирования улучшающего слоя. На этапе S518, модуль 112 кодирования улучшающего слоя выполняет предсказание и кодирование изображения целевого фрагмента кодирования в слое нижнего уровня (втором улучшающем слое), предоставляемом из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), сформированному на этапе S517. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание с обращением к изображению набора независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента кодирования в слое нижнего уровня (втором улучшающем слое), подвергнутому локальному декодированию, сохраненному в модуле 413 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание с обращением к восстановленному изображению в слое нижнего уровня (втором улучшающем слое), подвергнутому локальному декодированию в целевом фрагменте кодирования. Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания (например, вектора движения, полученного с помощью межкадрового предсказания) и ошибки предсказания. Модуль 413 восстановления улучшающего слоя последовательно формирует восстановленные изображения в слое нижнего уровня (втором улучшающем слое) с использованием, например, коэффициентов, сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0087] На этапе S519, целевой фрагмент кодирования не представляет собой независимый фрагмент в кадре, который должен быть кодирован. Соответственно, модуль 409 увеличения выполняет увеличение с использованием восстановленного изображения в улучшающем слое верхнего уровня (первом улучшающем слое), сохраненного в модуле 413 восстановления улучшающего слоя, например, с помощью фильтрации, чтобы формировать увеличенное изображение в слое верхнего уровня (первом улучшающем слое). Модуль 409 увеличения предоставляет сформированное увеличенное изображение в модуль 112 кодирования улучшающего слоя.
[0088] На этапе S520, модуль 112 кодирования улучшающего слоя кодирует изображение целевого фрагмента кодирования, предоставляемое из модуля 104 разделения улучшающего слоя, с обращением к восстановленному изображению, подвергнутому локальному декодированию. В частности, модуль 112 кодирования улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), сформированному на этапе S519. Модуль 112 кодирования улучшающего слоя выполняет межкадровое предсказание с обращением к восстановленному изображению в слое нижнего уровня (втором улучшающем слое), подвергнутому локальному декодированию, сохраненному в модуле 413 восстановления улучшающего слоя. Модуль 112 кодирования улучшающего слоя выполняет внутреннее предсказание с обращением к восстановленному изображению, подвергнутому локальному декодированию в целевом фрагменте кодирования в слое нижнего уровня (втором улучшающем слое). Модуль 112 кодирования улучшающего слоя кодирует информацию относительно предсказания, полученную из предсказания и ошибки предсказания. Модуль 413 восстановления улучшающего слоя последовательно формирует восстановленные изображения в слое нижнего уровня (втором улучшающем слое) с использованием, например, коэффициентов, сформированных посредством модуля 112 кодирования улучшающего слоя во время кодирования, чтобы хранить сформированные восстановленные изображения.
[0089] На этапе S503, модуль 115 управления определяет то, закончено ли кодирование всех слоев, заданных посредством модуля 401 задания числа слоев. Если модуль 115 управления определяет то, что кодирование всех слоев закончено ("Да" на этапе S503), процесс переходит к этапу S522. Если модуль 115 управления определяет то, что кодирование всех слоев не закончено ("Да" на этапе S503), процесс возвращается к этапу S502. Здесь, поскольку кодирование закончено во втором улучшающем слое, процесс переходит к этапу S522. На этапе S522, модуль 115 управления определяет то, закончено ли кодирование изображений всех кадров, включенных в последовательность, предоставляемую из терминала 101. Если модуль 115 управления определяет то, что кодирование изображений всех кадров закончено ("Да" на этапе S522), процесс кодирования завершается.
[0090] При вышеуказанном процессе, также когда существуют улучшающие слои для нескольких слоев, можно формировать кодированные данные, в которых декодируются только кодированные данные, требующие набора независимых фрагментов, чтобы воспроизводить декодированное изображение с обращением только к минимальному объему данных изображений.
[0091] Когда MCTS SEI существует в потоке битов, tile_boundaries_aligned_flag vui_parameters, который является информацией совпадения относительно позиции фрагмента, постоянно задается равным единице. Другими словами, когда MCTS SEI существует в потоке битов в vui_parameters, tile_boundaries_aligned_flag в качестве кодированных данных может опускаться. Если MCTS SEI не существует в потоке битов, значение tile_boundaries_aligned_flag кодируется, и кодированные данные включены в поток битов. Если MCTS SEI существует в потоке битов, значение tile_boundaries_aligned_flag не кодируется и постоянно задается равным единице на стороне декодирования. Это дает возможность уменьшения избыточного tile_boundaries_aligned_flag.
[0092] При иерархическом кодировании, срезание важной области и адаптация набора независимых фрагментов к области, которая срезана для кодирования, дает возможность формирования кодированных данных, из которых важная область считывается на высокой скорости.
Второй вариант осуществления
[0093] Ниже описывается структура каждого процессора, составляющего устройство декодирования изображений согласно второму варианту осуществления, со ссылкой на фиг. 6. Фиг. 6 является блок-схемой, иллюстрирующей пример конфигурации устройства 600 декодирования изображений, включающего в себя модуль 605 декодирования изображений второго варианта осуществления. Случай, в котором декодируется поток битов, сформированный в первом варианте осуществления, иллюстрируется во втором варианте осуществления.
[0094] Ссылаясь на фиг. 6, поток битов вводится в устройство 600 декодирования изображений посредством связи и т.д. через интерфейс 601. Модуль 602 хранения сохраняет поток битов, предоставляемый из интерфейса 601, и потоки битов, которые записываются заранее. Модуль 603 управления отображением указывает способ отображения потока битов, инструктированный пользователем. Модуль 603 управления отображением предоставляет слой (иерархию), который должен быть декодирован, и область (область отображения), которая должна быть декодирована, в модуль 605 декодирования изображений в качестве сигнала управления отображением. Хотя слои, которые должны быть декодированы, представлены посредством числа слоев, и область отображения представлена посредством позиции фрагмента, который должен отображаться, во втором варианте осуществления, настоящее изобретение не ограничено этим. Модуль 604 выбора указывает назначение потока битов, который вводится. Ниже подробно описывается модуль 605 декодирования изображений. Модуль 606 отображения отображает декодированное изображение, сформированное посредством модуля 605 декодирования изображений.
[0095] Ниже описывается операция отображения изображения в устройстве 600 декодирования изображений. Ниже описывается случай, в котором модуль 603 управления отображением принимает инструкцию для того, чтобы декодировать и отображать изображение базового слоя в потоке битов от пользователя. Он соответствует случаю, в котором поток битов, получающийся в результате кодирования изображения, захваченного посредством камеры для слежения и т.п., принимается, чтобы отслеживать полное изображение, которое захвачено. Интерфейс 601 принимает поток битов (входной поток битов), вводимый в устройство 600 декодирования изображений для каждого кадра из камеры для слежения и т.п., и предоставляет входной поток битов в модуль 602 хранения и модуль 604 выбора. Модуль 602 хранения записывает входной поток битов. Модуль 604 выбора предоставляет входной поток битов в модуль 605 декодирования изображений в ответ на инструкцию из модуля 603 управления отображением. Модуль 605 декодирования изображений принимает информацию относительно слоя, который должен отображаться, фрагмента, который должен отображаться, и т.д. из модуля 603 управления отображением в качестве сигнала управления отображением. В частности, поскольку модуль 603 управления отображением принимает инструкцию для того, чтобы декодировать и отображать изображение базового слоя в потоке битов от пользователя, информация, указывающая то, что слой, который должен быть декодирован, представляет собой базовый слой, и информация, указывающая то, что область отображения представляет собой все фрагменты, предоставляется в модуль 605 декодирования изображений.
[0096] Ниже описывается структура каждого процессора, составляющего модуль 605 декодирования изображений согласно второму варианту осуществления, со ссылкой на фиг. 7. Фиг. 7 является блок-схемой, иллюстрирующей пример конфигурации модуля 605 декодирования изображений второго варианта осуществления.
[0097] Ссылаясь на фиг. 7, поток битов, предоставляемый из модуля 604 выбора, вводится в модуль 605 декодирования изображений через терминал 701. Для простоты предполагается, что данные заголовка и кодированные данные для каждого кадра вводятся в качестве потока битов. Хотя кодированные данные относительно всех слоев (кодированные данные слоя), составляющие один кадр, включены в кодированные данные для каждого кадра во втором варианте осуществления, настоящее изобретение не ограничено этим, и данные могут вводиться в модуль 605 декодирования изображений для каждой серии последовательных макроблоков. Структура данных кадра не ограничена этим.
[0098] Сигнал управления отображением относительно декодирования, предоставляемый из модуля 603 управления отображением на фиг. 6, вводится в модуль 605 декодирования изображений через терминал 702. Позиционная информация относительно слоя, который должен быть декодирован, и фрагмента, который должен быть декодирован, вводится в качестве сигнала управления отображением. Сигнал управления отображением, вводимый в терминал 702, предоставляется в модуль 704 разделения, декодер 707 базового слоя и декодер 710 улучшающего слоя. Буфер 703 сохраняет кодированные данные слоя, соответствующие одному кадру, предоставляемому из терминала 701.
[0099] Модуль 704 разделения разделяет кодированные данные заголовка, кодированные данные базового слоя и кодированные данные улучшающего слоя в каждом улучшающем слое из кодированных данных слоя, предоставляемых из буфера 703. Модуль 704 разделения разделяет кодированные данные слоя (кодированные данные базового слоя и кодированные данные улучшающего слоя в каждом улучшающем слое), разделенные для каждого слоя, на кодированные данные для каждого фрагмента и выводит кодированные данные для каждого фрагмента. Модуль 704 разделения предоставляет кодированные данные для каждого фрагмента в декодер 705 заголовков, декодер 707 базового слоя и декодер 710 улучшающего слоя. Модуль 704 разделения предоставляет число фрагментов, которые должны выводиться (фрагментов, которые должны быть декодированы), в модуль 706 определения независимых фрагментов в качестве позиционной информации относительно фрагмента, когда кодированные данные для каждого фрагмента предоставляются в каждый процессор.
[0100] Декодер 705 заголовков декодирует кодированные данные заголовка для каждой последовательности и для каждого изображения для того, чтобы воспроизводить параметр, необходимый для декодирования. В частности, когда MCTS SEI существует в кодированных данных заголовка, декодер 705 заголовков также декодирует MCTS SEI. Декодер 705 заголовков декодирует и воспроизводит флаг независимого фрагмента и информацию позиции независимого фрагмента. Модуль 706 определения независимых фрагментов определяет то, представляет ли собой фрагмент, который должен быть декодирован (целевой фрагмент декодирования), независимый фрагмент. Модуль 706 определения независимых фрагментов определяет то, представляет ли собой целевой фрагмент декодирования независимый фрагмент, на основе флага независимого фрагмента и информации позиции независимого фрагмента, предоставляемой из декодера 705 заголовков, и позиционной информации относительно целевого фрагмента декодирования, предоставляемой из модуля 704 разделения. Модуль 706 определения независимых фрагментов предоставляет результат определения в декодер 707 базового слоя и декодер 710 улучшающего слоя.
[0101] Декодер 707 базового слоя декодирует кодированные данные относительно каждого фрагмента в базовом слое, разделенного посредством модуля 704 разделения, чтобы формировать декодированное изображение в базовом слое. Запоминающее устройство 708 кадров хранит декодированное изображение каждого фрагмента в базовом слое, сформированное посредством декодера 707 базового слоя. Модуль 709 увеличения увеличивает декодированное изображение в базовом слое до разрешения улучшающего слоя, чтобы формировать увеличенное изображение. Модуль 720 выбора выбирает требуемое декодированное изображение из декодированного изображения в базовом слое и декодированное изображение в улучшающем слое, чтобы предоставлять выбранное декодированное изображение в терминал 712. Декодированное изображение, предоставляемое из модуля 720 выбора, выводится за пределы модуля 605 декодирования изображений через терминал 712.
[0102] Декодер 710 улучшающего слоя декодирует кодированные данные относительно каждого фрагмента в улучшающем слое, разделенного посредством модуля 704 разделения, чтобы формировать декодированное изображение в улучшающем слое. Запоминающее устройство 711 кадров хранит декодированное изображение каждого фрагмента в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя.
[0103] Контроллер 714 управляет процессорами в модуле 605 декодирования изображений и передает параметр между процессорами. Линии соединений между контроллером 714 и процессорами в модуле 605 декодирования изображений опускаются на фиг. 7. Контроллер 714 допускает управление процессорами в модуле 605 декодирования изображений и считывание и запись параметра между процессорами через сигнальную линию параметров или регистровую шину. Хотя контроллер 714 на фиг. 7 предоставляется в модуле 605 декодирования изображений во втором варианте осуществления, настоящее изобретение не ограничено этим. В частности, контроллер 714 может предоставляться за пределами модуля 605 декодирования изображений для того, чтобы управлять процессорами в модуле 605 декодирования изображений и считывать и записывать параметр между процессорами через сигнальную линию параметров или регистровую шину.
[0104] Фиг. 8A и 8B являются блок-схемами последовательности операций, иллюстрирующими примерный процесс декодирования изображения в модуле 605 декодирования изображений, описанном выше.
[0105] Далее описывается случай, в котором слой, который должен быть декодирован (целевой слой декодирования), представляет собой только базовый слой. Здесь предполагается, что модуль 603 управления отображением принимает инструкцию для того, чтобы декодировать и отображать базовый слой в потоке битов, предоставляемом из интерфейса 601 от пользователя.
[0106] Ссылаясь на фиг. 8A и 8B, на этапе S801, кодированные данные заголовка в заголовке потока битов, вводимые в модуль 605 декодирования изображений через терминал 701, предоставляются в декодер 705 заголовков посредством обработки в буфере 703 и модуле 704 разделения. Декодер 705 заголовков декодирует video_parameter_set, который представляет собой заголовок последовательности. Video_parameter_set включает в себя vps_max_layers_minus1, указывающий число слоев при иерархическом кодировании. Vps_max_layers_minus1 задается равным единице во втором варианте осуществления. Затем декодер 705 заголовков декодирует набор параметров последовательности. Набор параметров последовательности включает в себя vui_parameters. Vui_parameters включает в себя tile_boundaries_aligned_flag, который является информацией совпадения относительно позиции фрагмента. Tile_boundaries_aligned_flag задается равным единице во втором варианте осуществления.
[0107] На этапе S802, декодер 705 заголовков декодирует набор параметров изображения. Поскольку декодирование кодированных данных заголовка описывается подробно в NPL 1, описание декодирования кодированных данных заголовка опускается в данном документе.
[0108] На этапе S803, декодер 705 заголовков определяет то, включен ли независимый фрагмент в кадр, который должен быть декодирован. Декодер 705 заголовков использует результат определения в качестве флага независимого фрагмента. Декодер 705 заголовков на практике определяет то, существует ли MCTS SEI. Если декодер 705 заголовков определяет то, что MCTS SEI существует в кодированных данных заголовка ("Да" на этапе S803), декодер 705 заголовков задает флаг независимого фрагмента равным единице. Затем процесс переходит к этапу S804. Если декодер 705 заголовков определяет то, что MCTS SEI не существует в кодированных данных заголовка ("Нет" на этапе S803), декодер 705 заголовков задает флаг независимого фрагмента равным нулю. Затем процесс переходит к этапу S805. Во втором варианте осуществления, декодер 705 заголовков определяет то, что MCTS SEI существует в кодированных данных заголовка, и декодер 705 заголовков задает флаг независимого фрагмента равным единице. Затем процесс переходит к этапу S804. Когда независимый фрагмент существует в кадре, который должен быть декодирован, необходимо задавать tile_boundaries_aligned_flag vui_parameters, который является информацией совпадения относительно позиции фрагмента, единице. Если tile_boundaries_aligned_flag vui_parameters не задается равным единице, декодер 705 заголовков может возвращать ошибку для того, чтобы прекращать декодирование. Декодер 705 заголовков предоставляет флаг независимого фрагмента в модуль 706 определения независимых фрагментов, декодер 707 базового слоя и декодер 710 улучшающего слоя.
[0109] На этапе S804, декодер 705 заголовков декодирует MCTS SEI, чтобы получать флаг независимого фрагмента и информацию позиции независимого фрагмента.
[0110] На этапе S805, модуль 704 разделения принимает позиционную информацию относительно фрагмента в области отображения, предоставляемую из терминала 702. Во втором варианте осуществления, инструктируется отображение всего базового слоя. Соответственно, все фрагменты в базовом слое находятся в области отображения. В частности, модуль 704 разделения извлекает кодированные данные относительно целевого фрагмента декодирования в базовом слое из буфера 703 в порядке номеров фрагментов от фрагмента 0 и предоставляет кодированные данные относительно целевого фрагмента декодирования в базовом слое в декодер 707 базового слоя.
[0111] На этапе S806, модуль 706 определения независимых фрагментов принимает номер целевого фрагмента декодирования из модуля 704 разделения. Модуль 706 определения независимых фрагментов принимает информацию позиции независимого фрагмента из декодера 705 заголовков. Один набор независимых фрагментов существует, и информация позиции независимого фрагмента указывает пять и шесть во втором варианте осуществления. Модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Если модуль 706 определения независимых фрагментов определяет то, что номер фрагмента для целевого фрагмента декодирования совпадает с номером фрагмента в информации позиции независимого фрагмента ("Да" на этапе S806), модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования представляет собой независимый фрагмент. Затем процесс переходит к этапу S807. Если модуль 706 определения независимых фрагментов определяет то, что номер фрагмента для целевого фрагмента декодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента ("Нет" на этапе S806), модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования не представляет собой фрагмент в наборе независимых фрагментов. Затем процесс переходит к этапу S808.
[0112] На этапе S807, целевой фрагмент декодирования представляет собой независимый фрагмент в кадре, который должен быть декодирован в базовом слое. Соответственно, декодер 707 базового слоя выполняет декодирование с обращением только к независимому фрагменту в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования в другом кадре в декодированном базовом слое, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 707 базового слоя выполняет межкадровое предсказание с обращением к декодированному изображению независимого фрагмента в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования, сохраненного в запоминающем устройстве 708 кадров. Декодер 707 базового слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования, сохраненному в запоминающем устройстве 708 кадров. Декодер 707 базового слоя сохраняет декодированное изображение целевого фрагмента декодирования в декодированном базовом слое в запоминающем устройстве 708 кадров. К декодированному изображению обращаются при декодировании последующего фрагмента. Декодер 707 базового слоя предоставляет декодированное изображение целевого фрагмента декодирования в базовом слое в модуль 606 отображения на фиг. 6 через модуль 720 выбора и терминал 712.
[0113] На этапе S808, целевой фрагмент декодирования не представляет собой независимый фрагмент в кадре, который должен быть декодирован в базовом слое. Соответственно, декодер 707 базового слоя выполняет декодирование с обращением к декодированному изображению в базовом слое декодированного кадра и декодированным пикселам в базовом слое кадра, который должен быть декодирован. В частности, декодер 707 базового слоя выполняет межкадровое предсказание с обращением к декодированному изображению, сохраненному в запоминающем устройстве 708 кадров. Декодер 707 базового слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодер 707 базового слоя сохраняет декодированное изображение целевого фрагмента декодирования в декодированном базовом слое в запоминающем устройстве 708 кадров. К декодированному изображению обращаются при декодировании последующего фрагмента. Декодер 707 базового слоя предоставляет декодированное изображение целевого фрагмента декодирования в базовом слое в модуль 606 отображения на фиг. 6 через модуль 720 выбора и терминал 712.
[0114] На этапе S809, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое. Если контроллер 714 определяет то, что декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое, не закончено ("Нет" на этапе S809), процесс возвращается к этапу S805. Модуль 704 разделения извлекает и выводит следующий фрагмент, чтобы продолжать процесс. Если контроллер 714 определяет то, что декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое, закончено ("Да" на этапе S809), процесс переходит к этапу S810.
[0115] На этапе S810, модуль 704 разделения определяет то, включен ли улучшающий слой в слои, которые должны быть декодированы и отображены, на основе сигнала управления отображением, предоставляемого из модуля 603 управления отображением на фиг. 6 через терминал 702. Если декодирование и отображение улучшающего слоя инструктируются ("Да" на этапе S810), процесс переходит к этапу S811. Если декодирование и отображение улучшающего слоя не инструктируются ("Нет" на этапе S810), процесс переходит к этапу S818. Поскольку здесь должен декодироваться только базовый слой, процесс переходит к этапу S818. Декодер 710 улучшающего слоя не выполняет декодирование.
[0116] На этапе S818, контроллер 714 определяет то, закончено ли декодирование кодированных данных в базовом слое или кодированных данных в улучшающем слое всех кадров, включенных в последовательность, предоставляемую из терминала 701. Здесь, контроллер 714 определяет то, закончено ли декодирование кодированных данных в базовом слое всех кадров. Если кодированные данные в базовом слое или улучшающем слое, которые не подвергнуты декодированию, существуют ("Нет" на этапе S818), процесс возвращается к этапу S805, чтобы обрабатывать следующий кадр. Если кодированные данные относительно кадра, который не подвергнут декодированию, не существуют ("Да" на этапе S818), процесс декодирования завершается.
[0117] Изображение, декодированное посредством модуля 605 декодирования изображений, предоставляется в модуль 606 отображения на фиг. 6. Модуль 606 отображения отображает все декодированное изображение в базовом слое, предоставляемое из модуля 605 декодирования изображений, в ответ на инструкцию для того, чтобы отображать изображение в базовом слое, из модуля 603 управления отображением.
[0118] Когда отображение базового слоя движущегося изображения, которое записывается, инструктируется из модуля 603 управления отображением в ответ на инструкцию от пользователя, модуль 604 выбора принимает ввод из модуля 602 хранения. Модуль 603 управления отображением осуществляет управление таким образом, что требуемый поток битов выбирается из модуля 602 хранения, и выбранный поток битов предоставляется в модуль 604 выбора.
[0119] Далее описывается случай, в котором целевой слой декодирования представляет собой улучшающий слой. Здесь описывается процесс декодирования, когда модуль 603 управления отображением принимает инструкцию для того, чтобы декодировать улучшающий слой в потоке битов, предоставляемом из интерфейса 601, и отображать часть улучшающего слоя в потоке битов, от пользователя. Он соответствует случаю, в котором подробно отслеживается часть изображения, захваченного посредством камеры для слежения, и т.п. Модуль 605 декодирования изображений принимает инструкцию по числу фрагментов, включенных в область, которая должна быть декодирована и отображена в базовом слое и улучшающем слое, из модуля 603 управления отображением. Во втором варианте осуществления для простоты предполагается, что фрагменты, включенные в область, которая должна отображаться, представляют собой фрагмент 5 и фрагмент 6 на фиг. 2. Ниже описывается примерный процесс декодирования изображения в улучшающем слое в модуле 605 декодирования изображений в отношении блок-схем последовательности операций на фиг. 8A и 8B, как и в случае, в котором модуль 605 декодирования изображений принимает инструкцию для того, чтобы декодировать и отображать только базовый слой. Описываются просто этапы, общие для процесса декодирования только базового слоя.
[0120] На этапе S801, декодер 705 заголовков декодирует video_parameter_set и набор параметров последовательности, как и в случае, в котором инструктируется отображение только базового слоя. Декодер 705 заголовков декодирует vps_max_layers_minus1 в video_parameter_set и tile_boundaries_aligned_flag в наборе параметров последовательности.
[0121] На этапе S802, декодер 705 заголовков декодирует набор параметров изображения, как при отображении только базового слоя.
[0122] На этапе S803, декодер 705 заголовков определяет то, существует ли независимый фрагмент в кодированных данных заголовка, как при отображении только базового слоя.
[0123] На этапе S804, декодер 705 заголовков декодирует MCTS SEI, чтобы получать флаг независимого фрагмента и информацию позиции независимого фрагмента, как при отображении только базового слоя.
[0124] На этапе S805, модуль 704 разделения принимает позиционную информацию относительно фрагментов в области отображения, предоставляемую из терминала 702. Во втором варианте осуществления, позиции фрагментов, отображение которых указывается, представляют собой фрагмент 5 и фрагмент 6. Соответственно, модуль 704 разделения задает фрагмент 5 в качестве целевого фрагмента декодирования на основе позиционной информации относительно фрагментов, отображение которых указывается, предоставляемой из терминала 702, извлекает кодированные данные в базовом слое фрагмента 5 и предоставляет извлеченные кодированные данные в декодер 707 базового слоя. Модуль 704 разделения предоставляет позиционную информацию относительно фрагментов, отображение которых указывается, в модуль 706 определения независимых фрагментов.
[0125] На этапе S806, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Поскольку фрагмент 5, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент, процесс переходит к этапу S807.
[0126] На этапе S807, целевой фрагмент декодирования представляет собой независимый фрагмент. Декодер 707 базового слоя декодирует кодированные данные относительно фрагмента 5 в базовом слое, чтобы формировать декодированное изображение, и сохраняет декодированное изображение в запоминающем устройстве 708 кадров, как при отображении только базового слоя. Поскольку здесь должно выполняться отображение улучшающего слоя, декодер 707 базового слоя не выводит сформированное декодированное изображение из терминала 712. Тем не менее, настоящее изобретение не ограничено этим, и декодер 707 базового слоя может выводить декодированное изображение. В этом случае, могут выводиться как декодированное изображение, сформированное посредством декодера 707 базового слоя, так и декодированное изображение, сформированное посредством декодера 710 улучшающего слоя, и модуль 606 отображения может выбирать любое из декодированных изображений для того, чтобы отображать выбранное декодированное изображение.
[0127] На этапе S809, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в базовом слое в области отображения, предоставляемых из модуля 704 разделения. Поскольку здесь не закончено декодирование кодированных данных относительно фрагмента 6, процесс возвращается к этапу S805, чтобы декодировать кодированные данные в базовом слое фрагмента 6.
[0128] Ниже описывается декодирование кодированных данных в базовом слое фрагмента 6.
[0129] На этапе S805, модуль 704 разделения извлекает кодированные данные в базовом слое фрагмента 6. На этапе S806, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Поскольку фрагмент 6, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент, процесс переходит к этапу S807. На этапе S807, декодер 707 базового слоя декодирует кодированные данные в базовом слое фрагмента 6, чтобы формировать декодированное изображение, и сохраняет сформированное декодированное изображение в запоминающем устройстве 708 кадров.
[0130] На этапе S809, контроллер 714 определяет то, что декодирование кодированных данных относительно всех фрагментов в базовом слое в области отображения, предоставляемой из модуля 704 разделения, закончено ("Да" на этапе S809). Затем процесс переходит к этапу S810.
[0131] На этапе S810, модуль 704 разделения определяет то, включен ли улучшающий слой в слои, которые должны отображаться, на основе сигнала управления отображением, предоставляемого из модуля 603 управления отображением на фиг. 6 через терминал 702. Поскольку здесь должен отображаться улучшающий слой ("Да" на этапе S810), процесс переходит к этапу S811.
[0132] На этапе S811, модуль 704 разделения принимает позиционную информацию относительно фрагментов в области отображения, предоставляемую из терминала 702, аналогично этапу S805. Позиции фрагментов, отображение которых указывается, здесь представляют собой фрагмент 5 и фрагмент 6. Соответственно, модуль 704 разделения извлекает кодированные данные в улучшающем слое фрагмента 5, который представляет собой целевой фрагмент декодирования, на основе принимаемой позиционной информации относительно фрагментов, отображение которых указывается, и предоставляет извлеченные кодированные данные в декодер 710 улучшающего слоя. Модуль 704 разделения предоставляет позиционную информацию относительно фрагментов, отображение которых указывается, в модуль 706 определения независимых фрагментов.
[0133] На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента, аналогично этапу S806. Если номер фрагмента для целевого фрагмента декодирования совпадает с номером фрагмента в информации позиции независимого фрагмента ("Да" на этапе S812), процесс переходит к этапу S813. Если номер фрагмента для целевого фрагмента декодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента (этап "Нет" S812), процесс переходит к этапу S815. Здесь информация позиции независимого фрагмента указывает пять и шесть. Соответственно, модуль 706 определения независимых фрагментов определяет то, что фрагмент 5, который представляет собой целевой фрагмент декодирования, представляет собой фрагмент в наборе независимых фрагментов ("Да" на этапе S812). Процесс переходит к этапу S813.
[0134] На этапе S813, целевой фрагмент декодирования представляет собой независимый фрагмент в кадре, который должен быть декодирован в улучшающем слое. Модуль 709 увеличения принимает декодированное изображение, включенное в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в декодированном базовом слое, сохраненных в запоминающем устройстве 708 кадров. Модуль 709 увеличения выполняет увеличение с использованием только принимаемого декодированного изображения независимого фрагмента, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в декодер 710 улучшающего слоя.
[0135] На этапе S814, декодер 710 улучшающего слоя декодирует кодированные данные в улучшающем слое целевого фрагмента декодирования, предоставляемого из модуля 704 разделения. Декодер 710 улучшающего слоя формирует декодированное изображение с обращением к увеличенному изображению, предоставляемому из модуля 709 увеличения, декодированному изображению в декодированном улучшающем слое, сохраненному в запоминающем устройстве 711 кадров, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в базовом слое, сформированному на этапе S813. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в улучшающем слое, сохраненному в запоминающем устройстве 711 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. В примере на фиг. 2, при декодировании фрагмента 5 в кадре 206, декодер 710 улучшающего слоя выполняет декодирование с обращением к увеличенному изображению кадра 204, декодированным изображениям фрагмента 5 и фрагмента 6 декодированного кадра 205 и декодированным пикселам в фрагменте 5 кадра 206. Декодированное изображение фрагмента в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 711 кадров и хранится в запоминающем устройстве 711 кадров. Декодированное изображение в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в модуль 606 отображения на фиг. 6 через модуль 720 выбора и терминал 712.
[0136] На этапе S817, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в улучшающем слое в области отображения, предоставляемой из модуля 704 разделения. Поскольку здесь не закончено декодирование кодированных данных в улучшающем слое фрагмента 6 ("Нет" на этапе S817), процесс возвращается к этапу S811, чтобы декодировать кодированные данные в улучшающем слое фрагмента 6.
[0137] Ниже описывается декодирование кодированных данных в улучшающем слое фрагмента 6.
[0138] На этапе S811, модуль 704 разделения извлекает кодированные данные в улучшающем слое фрагмента 6. На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Поскольку фрагмент 6, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент ("Да" на этапе S812), процесс переходит к этапу S813.
[0139] На этапе S813, модуль 709 увеличения формирует увеличенное изображение с использованием только принимаемого декодированного изображения независимого фрагмента.
[0140] На этапе S814, декодер 710 улучшающего слоя декодирует кодированные данные в улучшающем слое фрагмента 6, чтобы формировать декодированное изображение, и сохраняет декодированное изображение в запоминающем устройстве 711 кадров. Декодер 710 улучшающего слоя обращается к увеличенному изображению, предоставляемому из модуля 709 увеличения, декодированному изображению в декодированном улучшающем слое, сохраненному в запоминающем устройстве 711 кадров, и декодированным пикселам в целевом фрагменте декодирования при декодировании кодированных данных в улучшающем слое фрагмента 6. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в базовом слое, сформированному на этапе S813. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования в улучшающем слое, сохраненному в запоминающем устройстве 711 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. В примере на фиг. 2, при декодировании фрагмента 6 в кадре 206, декодер 710 улучшающего слоя выполняет декодирование с обращением к увеличенному изображению кадра 204, декодированным изображениям фрагмента 5 и фрагмента 6 декодированного кадра 205 и декодированным пикселам в фрагменте 6 кадра 206. Декодированное изображение фрагмента в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 711 кадров и хранится в запоминающем устройстве 711 кадров. Декодированное изображение в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в модуль 606 отображения на фиг. 6 через модуль 720 выбора и терминал 712.
[0141] На этапе S817, контроллер 714 определяет то, что декодирование кодированных данных относительно всех фрагментов в улучшающем слое в области отображения закончено ("Да" на этапе S817). Процесс переходит к этапу S818.
[0142] На этапе S818, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно фрагментов в области отображения во всех кадрах, включенных в последовательность, предоставляемую из терминала 701. Если какой-либо кадр, который не подвергнут декодированию, существует ("Нет" на этапе S818), процесс возвращается к этапу S805, чтобы обрабатывать следующий кадр. Если кадр, который не подвергнут декодированию, не существует ("Да" на этапе S818), процесс декодирования завершается.
[0143] Выше описывается процесс декодирования в случае, если область отображения (целевой фрагмент декодирования) состоит из набора независимых фрагментов. Ниже описывается процесс декодирования в случае, если область отображения (целевой фрагмент декодирования) не состоит из набора независимых фрагментов. Этапы S801-S805 в процессе декодирования являются идентичными этапам, описанным выше.
[0144] На этапе S806, модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования не представляет собой независимый фрагмент ("Нет" на этапе S806). Процесс переходит к этапу S808. На этапе S808, декодер 707 базового слоя декодирует фрагмент в базовом слое, чтобы формировать декодированное изображение, и сохраняет сформированное декодированное изображение в запоминающем устройстве 708 кадров, как и в случае, в котором целевой слой декодирования представляет собой только базовый слой. Поскольку здесь должно выполняться отображение улучшающего слоя, декодер 707 базового слоя не выводит сформированное декодированное изображение из терминала 712.
[0145] На этапе S809, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое. Контроллер 714 здесь определяет то, что декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое, закончено ("Да" на этапе S809). Процесс переходит к этапу S810. На этапе S810, модуль 704 разделения определяет то, что отображение улучшающего слоя инструктируется, на основе сигнала управления отображением, который принимается ("Да" на этапе S810). Процесс переходит к этапу S811. На этапе S811, модуль 704 разделения принимает позиционную информацию относительно фрагмента в области отображения из терминала 702. Модуль 704 разделения извлекает кодированные данные в улучшающем слое целевого фрагмента декодирования на основе принимаемой позиционной информации. На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Модуль 706 определения независимых фрагментов здесь определяет то, что целевой фрагмент декодирования не представляет собой фрагмент в наборе независимых фрагментов (номер фрагмента для целевого фрагмента декодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента) ("Нет" на этапе S812). Процесс переходит к этапу S815.
[0146] На этапе S815, целевой фрагмент декодирования не представляет собой независимый фрагмент. Модуль 709 увеличения принимает декодированные изображения фрагмента в базовом слое в позиции, относительно идентичной позиции целевого фрагмента декодирования и фрагментов вокруг фрагмента из декодированных изображений в декодированном базовом слое, сохраненных в запоминающем устройстве 708 кадров. Модуль 709 увеличения выполняет увеличение с использованием принимаемых декодированных изображений в базовом слое, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет сформированное увеличенное изображение в декодер 710 улучшающего слоя.
[0147] На этапе S816, декодер 710 улучшающего слоя декодирует кодированные данные в улучшающем слое целевого фрагмента декодирования, предоставляемого из модуля 704 разделения. Декодер 710 улучшающего слоя формирует декодированное изображение с обращением к увеличенному изображению, предоставляемому из модуля 709 увеличения, декодированному изображению в декодированном улучшающем слое, сохраненному в запоминающем устройстве 711 кадров, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в базовом слое, сформированному на этапе S815. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в улучшающем слое, сохраненному в запоминающем устройстве 711 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодированное изображение фрагмента в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 711 кадров и хранится в запоминающем устройстве 711 кадров. Декодированное изображение в улучшающем слое, сформированное посредством декодера 710 улучшающего слоя, предоставляется в модуль 606 отображения на фиг. 6 через модуль 720 выбора и терминал 712.
[0148] На этапе S817, контроллер 714 определяет то, закончено ли декодирование всех фрагментов, на основе позиционной информации относительно фрагментов в области отображения, предоставляемой из терминала 702 в модуль 704 разделения. Если декодирование всех фрагментов в области отображения не закончено ("Нет" на этапе S817), процесс возвращается к этапу S811. Модуль 704 разделения извлекает и выводит следующий фрагмент, чтобы продолжать процесс. Если декодирование всех фрагментов в области отображения закончено ("Да" на этапе S817), процесс переходит к этапу S818.
[0149] На этапе S818, контроллер 714 определяет то, закончено ли декодирование кодированных данных, соответствующих всем кадрам. Если кодированные данные, которые не подвергнуты декодированию, существуют ("Нет" на этапе S818), процесс возвращается к этапу S805, чтобы обрабатывать следующий кадр. Если кодированные данные, которые не подвергнуты декодированию, не существуют ("Да" на этапе S818), процесс декодирования завершается.
[0150] Снова ссылаясь на фиг. 6, модуль 606 отображения принимает инструкцию для того, чтобы отображать изображение в улучшающем слое, из модуля 603 управления отображением. Соответственно, модуль 606 отображения отображает декодированное изображение в улучшающем слое, декодированное посредством модуля 605 декодирования изображений. Поскольку улучшающий слой имеет разрешение выше разрешения базового слоя, отображение декодированного изображения в улучшающем слое дает возможность модулю 606 отображения достигать преимущества, как и в случае, в котором часть изображения в базовом слое увеличена для отображения.
[0151] Когда отображение базового слоя движущегося изображения, которое записывается, инструктируется из модуля 603 управления отображением в ответ на инструкцию от пользователя, модуль 604 выбора принимает ввод из модуля 602 хранения. Модуль 603 управления отображением осуществляет управление таким образом, что требуемый поток битов выбирается из модуля 602 хранения, и выбранный поток битов предоставляется в модуль 604 выбора.
[0152] В вышеуказанной конфигурации и режиме работы, можно сопоставлять относительную позицию каждого фрагмента в улучшающем слое с относительной позицией фрагмента в базовом слое, когда используются независимый фрагмент и набор независимых фрагментов. Другими словами, когда фрагмент включен в набор независимых фрагментов в базовом слое, фрагмент в позиции, относительно идентичной позиции фрагмента, включен в набор независимых фрагментов в каждом улучшающем слое. Соответственно, при декодировании потока битов при иерархическом кодировании, можно декодировать независимый фрагмент с обращением только к минимальному объему данных изображений в любом слое. Уменьшение данных изображений, к которым следует обращаться для предсказания вышеуказанным способом, дает возможность подавления объема передачи данных, уменьшения объема вычислений и реализации низкой потребляемой мощности. Помимо этого, независимое декодирование независимо от фрагментов, отличных от фрагмента, в каждом слое из базового слоя в улучшающего слоя при декодировании независимого фрагмента дает возможность реализации высокоскоростной обработки. В частности, выполнение кодирования таким образом, что набор независимых фрагментов адаптирован к важной области на стороне кодирования так, чтобы формировать поток битов, дает возможность декодирования важной области на высокой скорости при декодировании потока битов.
[0153] Хотя во втором варианте осуществления описывается пример, в котором предсказание и кодирование выполняются с использованием только кадра раньше кадра, который должен быть декодирован, в качестве опорного кадра, как в примере на фиг. 2, настоящее изобретение не ограничено этим примером. Из вышеприведенного описания очевидно, что это применимо к случаю, в котором предсказание и кодирование выполняется с обращением к нескольким кадрам.
[0154] Хотя во втором варианте осуществления описывается модуль 605 декодирования изображений с использованием модуля 709 увеличения, настоящее изобретение не ограничено этим. Модуль 709 увеличения может опускаться. Альтернативно, параметр квантования, декодированный в декодере 710 улучшающего слоя, может задаваться меньшим параметра квантования, декодированного в декодере 707 базового слоя, при этом коэффициент увеличения задается равным единице. Это дает возможность декодирования данных при иерархическом SNR-кодировании.
[0155] Хотя во втором варианте осуществления описывается пример, в котором кодированные данные во всех слоях включены в кодированные данные, соответствующие одному кадру, настоящее изобретение не ограничено этим, и кодированные данные могут вводиться для каждого слоя. Например, кодированные данные для каждого слоя могут сохраняться в модуле 602 хранения, и кодированные данные в улучшающем слое могут срезаться и считываться из модуля 602 хранения при необходимости.
[0156] Хотя во втором варианте осуществления описывается иерархическое кодирование базового слоя и одного улучшающего слоя (иерархическое кодирование в сумме двух слоев), настоящее изобретение не ограничено этим, и может выполняться иерархическое кодирование в сумме трех или более слоев. В этом случае, предоставление набора из декодера 710 улучшающего слоя, запоминающего устройства 711 кадров и модуля 709 увеличения числа слоев улучшающих слоев дает возможность поддержки большего числа слоев. Альтернативно, один декодер 710 улучшающего слоя, одно запоминающее устройство 911 кадров и один модуль 909 увеличения могут совместно использоваться при декодировании слоев, как проиллюстрировано на фиг. 9. Фиг. 9 является блок-схемой, иллюстрирующей примерную конфигурацию модуля декодирования изображений, допускающего декодирование улучшающих слоев для нескольких слоев. Модуль декодирования изображений на фиг. 9 включает в себя один декодер 710 улучшающего слоя, одно запоминающее устройство 911 кадров и один модуль 909 увеличения. Идентичные ссылки с номерами используются на фиг. 9, чтобы идентифицировать компоненты, имеющие функции, идентичные функциям процессоров в модуле 605 декодирования изображений на фиг. 7. Описание таких компонентов опускается в данном документе. Ссылаясь на фиг. 9, запоминающее устройство 908 кадров хранит декодированное изображение, сформированное посредством декодера 707 базового слоя. Запоминающее устройство 908 кадров отличается от запоминающего устройства 708 кадров на фиг. 7 тем, что запоминающее устройство 908 кадров дополнительно имеет функцию вывода в модуль 920 выбора. Модуль 909 увеличения отличается от модуля 709 увеличения на фиг. 7 тем, что модуль 909 увеличения допускает избирательный прием ввода из запоминающего устройства 911 кадров и ввода из запоминающего устройства 908 кадров. Запоминающее устройство 911 кадров отличается от запоминающего устройства 711 кадров на фиг. 7 тем, что запоминающее устройство 911 кадров дополнительно имеет функцию, чтобы предоставлять кодированные данные относительно требуемого фрагмента в модуль 909 увеличения и модуль 920 выбора. Модуль 920 выбора избирательно принимает требуемое декодированное изображение из запоминающего устройства 908 кадров или запоминающего устройства 911 кадров, чтобы предоставлять выбранное декодированное изображение в терминал 912. Декодированное изображение, предоставляемое из модуля 920 выбора, выводится за пределы модуля 605 декодирования изображений через терминал 912.
[0157] Фиг. 10A и 10B являются блок-схемами последовательности операций, иллюстрирующими примерный процесс декодирования, выполняемый посредством процессоров в модуле 605 декодирования изображений, проиллюстрированном на фиг. 9. Только этапы, которые отличаются от этапов на фиг. 8A и 8B из числа этапов S805-S818 на фиг. 8A и 8B, описываются со ссылкой на фиг. 10A и 10B. Идентичные номера этапов используются на фиг. 10A, и 10B, чтобы идентифицировать этапы, имеющие функции, идентичные функциям на фиг. 8A и 8B. Описание таких этапов опускается в данном документе. Здесь описывается пример, в котором декодируется поток битов, который формируется с помощью способа кодирования на фиг. 5 посредством устройства 400 кодирования изображений, проиллюстрированного на фиг. 4 первого варианта осуществления, и который имеет три слоя. На этапах 801-S804, декодер 705 заголовков декодирует кодированные данные заголовка способом, описанным выше. Vps_max_layers_minus1 здесь задается равным двум.
[0158] Далее описывается случай, в котором целевой слой декодирования представляет собой только базовый слой. Здесь предполагается, что модуль 603 управления отображением принимает инструкцию для того, чтобы начинать декодирование и отображение всего базового слоя в потоке битов, предоставляемом из интерфейса 601 от пользователя. Также предполагается, что декодирование одного кадра в базовом слое закончено на этапах S805-S809 на фиг. 8A, как при отображении только базового слоя, описанного выше. Тем не менее, все декодированные изображения, сформированные посредством декодера 707 базового слоя, сохраняются в запоминающем устройстве 908 кадров.
[0159] Ссылаясь на фиг. 10A и 10B, на этапе S1010, декодер 707 базового слоя или декодер 710 улучшающего слоя сравнивает число декодированных слоев со слоем, который должен отображаться, указываемым посредством модуля 603 управления отображением, чтобы определять то, декодируется ли слой, который должен отображаться. Если слой, который должен отображаться, включен в число декодированных слоев ("Да" на этапе S1010), процесс переходит к этапу S1003. Если слой, который должен отображаться, не включен в число декодированных слоев ("Нет" на этапе S1010), процесс переходит к этапу S1001. Здесь предполагается, что модуль 704 разделения определяет то, что слой, который должен отображаться, представляет собой только базовый слой на основе сигнала управления отображением, предоставляемого из терминала 702. Соответственно, декодер 707 базового слоя определяет то, что слой, который должен отображаться, включен в число декодированных слоев ("Да" на этапе S1010). Процесс переходит к этапу S1003.
[0160] На этапе S1003, модуль 920 выбора выбирает декодированное изображение в слое самого нижнего уровня из декодированных слоев. Поскольку слой самого нижнего уровня представляет собой базовый слой в этом случае, модуль 920 выбора считывает декодированное изображение в декодированном базовом слое из запоминающего устройства 908 кадров и предоставляет декодированное изображение, которое считывается, в модуль 606 отображения на фиг. 6 через терминал 912. Модуль 606 отображения отображает все декодированное изображение в базовом слое, предоставляемое из модуля 605 декодирования изображений, в ответ на инструкцию для того, чтобы отображать изображение в базовом слое, из модуля 603 управления отображением.
[0161] Далее описывается случай, в котором целевой слой декодирования представляет собой улучшающий слой. Здесь описывается декодирование в случае, если модуль 603 управления отображением принимает инструкцию для того, чтобы декодировать улучшающий слой и часть отображения декодированного изображения в улучшающем слое в потоке битов, предоставляемом из интерфейса 601 от пользователя. Здесь предполагается, что слой, который должен отображаться, представляет собой второй улучшающий слой (число слоев равно трем). Также здесь для простоты предполагается, что фрагменты, включенные в область, которая должна отображаться, представляют собой фрагмент 5 и фрагмент 6 на фиг. 2. Ниже описывается процесс декодирования в отношении блок-схем последовательности операций на фиг. 10A и 10B, как и в случае, в котором инструктируются декодирование и отображение только базового слоя. Описываются просто этапы, общие для декодирования только базового слоя.
[0162] На этапе S806, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Поскольку фрагмент 5, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент, процесс переходит к этапу S807. На этапе S807, декодер 707 базового слоя декодирует кодированные данные относительно фрагмента 5 в базовом слое, чтобы формировать декодированное изображение, и сохраняет декодированное изображение в запоминающем устройстве 908 кадров. На этапе S809, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в базовом слое в области отображения, предоставляемой из модуля 704 разделения.
[0163] На этапе S1010, декодер 707 базового слоя или декодер 710 улучшающего слоя сравнивает число декодированных слоев со слоем, который должен отображаться, указываемым посредством модуля 603 управления отображением, чтобы определять то, декодируется ли слой, который должен отображаться. Здесь, слой, который должен отображаться, представляет собой второй улучшающий слой (число слоев равно трем), на основе сигнала управления отображением, предоставляемого из терминала 702. Соответственно, декодер 707 базового слоя определяет то, что слой, который должен отображаться, не декодируется ("Нет" на этапе S1010). Процесс переходит к этапу S1001.
[0164] На этапе S1001, декодер 710 улучшающего слоя задает базовый слой, декодированный на этапе S807 или этапе S808, или улучшающий слой для слоя, декодированного на этапе S1014 или этапе S1016, описанных ниже, в качестве слоя верхнего уровня. Декодер 710 улучшающего слоя задает последующий улучшающий слой, который должен быть декодирован, в качестве слоя нижнего уровня. Во-первых, декодер 710 улучшающего слоя задает базовый слой, декодированный на этапе S807 или этапе S803, в качестве слоя верхнего уровня, и задает первый улучшающий слой в качестве слоя нижнего уровня.
[0165] На этапе S1011, модуль 704 разделения принимает позиционную информацию относительно фрагментов в области отображения, предоставляемую из терминала 702. Здесь, позиции фрагментов в области отображения представляют собой фрагмент 5 и фрагмент 6. Модуль 704 разделения извлекает кодированные данные в слое нижнего уровня (первом улучшающем слое) фрагмента 5, который представляет собой целевой фрагмент декодирования в кодированных данных слоя, сохраненных в буфере 703, на основе позиционной информации, предоставляемой из терминала 702. Модуль 704 разделения предоставляет извлеченные кодированные данные в декодер 710 улучшающего слоя. Модуль 704 разделения предоставляет позиционную информацию относительно фрагмента в модуль 706 определения независимых фрагментов.
[0166] На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Если номер фрагмента для целевого фрагмента декодирования совпадает с номером фрагмента в информации позиции независимого фрагмента ("Да" на этапе S812), процесс переходит к этапу S1013. Если номер фрагмента для целевого фрагмента декодирования не совпадает с номером фрагмента в информации позиции независимого фрагмента (этап "Нет" S812), процесс переходит к этапу S1015. Здесь, информация позиции независимого фрагмента указывает пять и шесть, и фрагмент 5, который представляет собой целевой фрагмент декодирования, совпадает с номерами фрагментов в информации позиции независимого фрагмента. Соответственно, модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования представляет собой фрагмент в наборе независимых фрагментов. Процесс переходит к этапу S1013.
[0167] На этапе S1013, целевой фрагмент декодирования представляет собой независимый фрагмент. Поскольку слой верхнего уровня представляет собой базовый слой, модуль 909 увеличения принимает декодированное изображение независимого фрагмента, включенного в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в базовом слое, сохраненное в запоминающем устройстве 908 кадров. Модуль 909 увеличения выполняет увеличение с использованием только принимаемого декодированного изображения независимого фрагмента, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в декодер 710 улучшающего слоя.
[0168] На этапе S1014, декодер 710 улучшающего слоя декодирует кодированные данные в слое нижнего уровня (первом улучшающем слое) целевого фрагмента декодирования, предоставляемого из модуля 704 разделения, аналогично этапу S814. Декодер 710 улучшающего слоя формирует декодированное изображение с обращением к увеличенному изображению, предоставляемому из модуля 909 увеличения, декодированному изображению в декодированном улучшающем слое (первом улучшающем слое), сохраненному в запоминающем устройстве 711 кадров, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (базовом слое), сформированному на этапе S1013. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в слое нижнего уровня (первом улучшающем слое), сохраненному в запоминающем устройстве 911 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодированное изображение фрагмента в слое нижнего уровня (первом улучшающем слое), декодированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 911 кадров и хранится в запоминающем устройстве 911 кадров.
[0169] На этапе S1017, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в слое нижнего уровня (первом улучшающем слое) в области отображения, предоставляемой из модуля 704 разделения. Поскольку здесь не закончено декодирование кодированных данных в улучшающем слое фрагмента 6, процесс возвращается к этапу S1011, чтобы декодировать кодированные данные в слое нижнего уровня (первом улучшающем слое) фрагмента 6.
[0170] Ниже описывается декодирование кодированных данных в слое нижнего уровня (первом улучшающем слое) фрагмента 6.
[0171] На этапе S1011, модуль 704 разделения извлекает кодированные данные в слое нижнего уровня (первом улучшающем слое) фрагмента 6, который представляет собой целевой фрагмент декодирования, в кодированных данных слоя, сохраненных в буфере 703. На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Здесь, модуль 706 определения независимых фрагментов определяет то, что фрагмент 6, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент. Процесс переходит к этапу S1013.
[0172] На этапе S1013, модуль 909 увеличения формирует увеличенное изображение с использованием только принимаемого декодированного изображения относительно независимого фрагмента в слое верхнего уровня (базовом слое). В частности, модуль 909 увеличения принимает декодированное изображение из запоминающего устройства 908 кадров и выполняет увеличение с использованием принимаемого декодированного изображения, например, с помощью фильтрации, чтобы формировать увеличенное изображение.
[0173] На этапе S1014, декодер 710 улучшающего слоя декодирует кодированные данные в слое нижнего уровня (первом улучшающем слое) фрагмента 6, чтобы формировать декодированное изображение, и предоставляет декодированное изображение в запоминающее устройство 911 кадров. При декодировании кодированных данных в слое нижнего уровня (первом улучшающем слое) фрагмента 6, декодер 710 улучшающего слоя обращается к увеличенному изображению, предоставляемому из модуля 909 увеличения, декодированному изображению в декодированном улучшающем слое, сохраненному в запоминающем устройстве 911 кадров, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (базовом слое), сформированному на этапе S1013. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в слое нижнего уровня (первом улучшающем слое), сохраненному в запоминающем устройстве 911 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодированное изображение фрагмента в слое нижнего уровня (первом улучшающем слое), декодированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 911 кадров и хранится в запоминающем устройстве 911 кадров.
[0174] На этапе S1017, контроллер 714 определяет то, что декодирование кодированных данных относительно всех фрагментов в слое нижнего уровня (первом улучшающем слое) в области отображения закончено. Процесс переходит к этапу S1002.
[0175] На этапе S1002, контроллер 714 определяет то, закончено ли декодирование всех слоев, представленных посредством декодированного vps_max_layers_minus1. Если контроллер 714 определяет то, что декодирование фрагментов всех слоев не закончено ("Нет" на этапе S1002), процесс возвращается к этапу S1010, чтобы выполнять определение относительно отображения. Если контроллер 714 определяет то, что декодирование фрагментов всех слоев закончено ("Да" на этапе S1002), процесс переходит к этапу S1003. Поскольку здесь не закончено декодирование улучшающего слоя, декодер 710 улучшающего слоя определяет то, что декодирование фрагментов всех слоев не закончено. Процесс возвращается к этапу S1010.
[0176] Здесь выполняется декодирование второго улучшающего слоя. На этапе S1010, декодер 710 улучшающего слоя определяет то, декодируется ли слой, который должен отображаться. Слой, который должен отображаться, представляет собой второй улучшающий слой, на основе сигнала управления отображением, предоставляемого из терминала 702. Поскольку декодер 710 улучшающего слоя определяет то, что декодирование закончено в первом улучшающем слое (второй улучшающий слой не декодируется) ("Нет" на этапе S1010), процесс переходит к этапу S1001. На этапе S1001, декодер 710 улучшающего слоя задает первый улучшающий слой, декодированный на этапе S1014 или этапе S1016, в качестве слоя верхнего уровня, и задает второй улучшающий слой в качестве слоя нижнего уровня.
[0177] На этапе S1011, модуль 704 разделения извлекает кодированные данные относительно фрагмента в слое нижнего уровня (втором улучшающем слое) в кодированных данных слоя, сохраненных в буфере 703, и предоставляет извлеченные кодированные данные в декодер 710 улучшающего слоя. Здесь, модуль 704 разделения извлекает кодированные данные в слое нижнего уровня (втором улучшающем слое) фрагмента 5 и предоставляет извлеченные кодированные данные в декодер 710 улучшающего слоя. На этапе S812, модуль 706 определения независимых фрагментов определяет то, что фрагмент 5, который представляет собой целевой фрагмент декодирования, представляет собой независимый фрагмент. Процесс переходит к этапу S1013. На этапе S1013, слой верхнего уровня представляет собой улучшающий слой (первый улучшающий слой). Соответственно, модуль 909 увеличения принимает декодированное изображение независимого фрагмента, включенного в набор независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в слое верхнего уровня (первом улучшающем слое), сохраненное в запоминающем устройстве 908 кадров. Модуль 909 увеличения выполняет увеличение с использованием только принимаемого декодированного изображения независимого фрагмента в слое верхнего уровня (первом улучшающем слое), например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет увеличенное изображение в декодер 710 улучшающего слоя.
[0178] На этапе S1014, декодер 710 улучшающего слоя декодирует кодированные данные в слое нижнего уровня (втором улучшающем слое) целевого фрагмента декодирования, предоставляемого из модуля 704 разделения. Декодер 710 улучшающего слоя формирует декодированное изображение с обращением к следующим изображениям. В частности, декодер 710 улучшающего слоя обращается к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), предоставляемому из модуля 909 увеличения, декодированному изображению в декодированном улучшающем слое (втором улучшающем слое), сохраненному в запоминающем устройстве 911 кадров, и декодированным пикселам в целевом фрагменте декодирования. Более конкретно, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), сформированному на этапе S1013. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в наборе независимых фрагментов в позиции, относительно идентичной позиции целевого фрагмента декодирования из декодированных изображений в слое нижнего уровня (втором улучшающем слое), сохраненному в запоминающем устройстве 911 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодированное изображение фрагмента в слое нижнего уровня (втором улучшающем слое), декодированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 911 кадров и хранится в запоминающем устройстве 911 кадров.
[0179] На этапе S1017, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в слое нижнего уровня (втором улучшающем слое) в области отображения, предоставляемой из модуля 704 разделения. Поскольку здесь не закончено декодирование кодированных данных в улучшающем слое фрагмента 6, процесс возвращается к этапу S1011, чтобы декодировать кодированные данные в слое нижнего уровня (втором улучшающем слое) фрагмента 6. Поскольку декодирование слоя нижнего уровня фрагмента 6 выполняется таким же образом, как при декодировании кодированных данных во втором улучшающем слое фрагмента 5, описание декодирования слоя нижнего уровня фрагмента 6 опускается в данном документе. Тем не менее, в этом случае, первый улучшающий слой задается в качестве слоя верхнего уровня, и второй улучшающий слой задается в качестве слоя нижнего уровня.
[0180] На этапе S1002, контроллер 714 определяет то, что декодирование фрагментов всех слоев закончено, поскольку декодирование второго улучшающего слоя закончено. Процесс переходит к этапу S1003. На этапе S1003, модуль 920 выбора выбирает декодированное изображение в слое самого нижнего уровня из декодированных слоев. В этом случае, поскольку слой самого нижнего уровня представляет собой второй улучшающий слой, модуль 920 выбора считывает декодированное изображение во втором улучшающем слое из запоминающего устройства 911 кадров и предоставляет декодированное изображение во втором улучшающем слое в модуль 606 отображения на фиг. 6 через терминал 912. Модуль 606 отображения отображает все декодированное изображение во втором улучшающем слое, предоставляемое из модуля 605 декодирования изображений, в ответ на инструкцию для того, чтобы отображать изображение во втором улучшающем слое, из модуля 603 управления отображением.
[0181] Слой, который должен отображаться, представляет собой второй улучшающий слой (число слоев равно трем) в вышеприведенном описании. Тем не менее, когда число слоев кодированных данных при иерархическом кодировании равно трем или более, и слой, который должен отображаться, представляет собой первый улучшающий слой (число слоев равно двум), после того, как декодирование первого улучшающего слоя закончено ("Нет" на этапе S1002), процесс возвращается к этапу S1010 и затем переходит к этапу S1003. Соответственно, декодирование кодированных данных в слоях выше второго улучшающего слоя не выполняется.
[0182] Выше описывается случай, в котором область отображения (целевой фрагмент декодирования) состоит из набора независимых фрагментов. Далее описывается случай, в котором область отображения (целевой фрагмент декодирования) не состоит из набора независимых фрагментов. Этапы S801-S805 выполняются вышеуказанным способом.
[0183] На этапе S806, модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования не представляет собой независимый фрагмент. Процесс переходит к этапу S808. На этапе S808, декодер 707 базового слоя декодирует фрагмент в базовом слое, чтобы формировать декодированное изображение, и сохраняет сформированное декодированное изображение в запоминающем устройстве 908 кадров, как и в случае, в котором целевой слой декодирования представляет собой только базовый слой.
[0184] На этапе S809, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое. Контроллер 714 здесь определяет то, что декодер 707 базового слоя заканчивает декодирование кодированных данных относительно всех фрагментов, соответствующих одному кадру в базовом слое ("Да" на этапе S809). Процесс переходит к этапу S1010. На этапе S1010, декодер 707 базового слоя или декодер 710 улучшающего слоя определяет то, что слой, который должен отображаться, не декодируется ("Нет" на этапе S1010), поскольку отображение должно выполняться во втором улучшающем слое. Процесс переходит к этапу S1001.
[0185] На этапе S1001, декодер 710 улучшающего слоя задает базовый слой, декодированный на этапе S808, в качестве слоя верхнего уровня, и задает последующий улучшающий слой, который должен быть декодирован (первый улучшающий слой), в качестве слоя нижнего уровня. На этапе S1011, модуль 704 разделения принимает позиционную информацию относительно фрагментов в области отображения, предоставляемую из терминала 702. Модуль 704 разделения извлекает кодированные данные в слое нижнего уровня (первом улучшающем слое) целевого фрагмента декодирования в кодированных данных слоя, сохраненных в буфере 703, на основе принимаемой позиционной информации. На этапе S812, модуль 706 определения независимых фрагментов сравнивает номер фрагмента для целевого фрагмента декодирования с номером фрагмента в информации позиции независимого фрагмента. Фрагмент 5, который представляет собой целевой фрагмент декодирования, здесь не совпадает с номером фрагмента в информации позиции независимого фрагмента. Соответственно, модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования не представляет собой фрагмент в наборе независимых фрагментов ("Нет" на этапе S812). Процесс переходит к этапу S1015.
[0186] На этапе S1015, модуль 909 увеличения принимает декодированные изображения фрагмента в базовом слое в позиции, относительно идентичной позиции целевого фрагмента декодирования и фрагментов вокруг фрагмента из декодированных изображений в слое верхнего уровня (базовом слое), сохраненных в запоминающем устройстве 708 кадров. Модуль 909 увеличения выполняет увеличение с использованием только принимаемых декодированных изображений фрагментов в базовом слое, например, с помощью фильтрации, чтобы формировать увеличенное изображение, и предоставляет сформированное увеличенное изображение в декодер 710 улучшающего слоя.
[0187] На этапе S1016, декодер 710 улучшающего слоя декодирует кодированные данные в слое нижнего уровня (первом улучшающем слое) целевого фрагмента декодирования, предоставляемого из модуля 704 разделения. Декодер 710 улучшающего слоя формирует предсказанное изображение с обращением к следующим изображениям. В частности, декодер 710 улучшающего слоя обращается к увеличенному изображению в слое верхнего уровня (базовом слое), предоставляемому из модуля 909 увеличения, декодированному изображению в декодированном слое нижнего уровня (первом улучшающем слое), сохраненному в запоминающем устройстве 911 кадров, и декодированным пикселам в слое нижнего уровня (первом улучшающем слое) целевого фрагмента декодирования. Декодер 710 улучшающего слоя формирует декодированное изображение из предсказанного изображения, сформированного через обращение, и декодированной ошибки предсказания. Более конкретно, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (базовом слое), сформированному на этапе S1015. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в слое нижнего уровня (первом улучшающем слое), сохраненному в запоминающем устройстве 711 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования в слое нижнего уровня (первом улучшающем слое). Декодированное изображение фрагмента в слое нижнего уровня (первом улучшающем слое), сформированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 911 кадров и хранится в запоминающем устройстве 911 кадров.
[0188] На этапе S1017, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в слое нижнего уровня (первом улучшающем слое) в области отображения. Контроллер 714 здесь определяет то, что декодер 710 улучшающего слоя заканчивает декодирование кодированных данных относительно всех фрагментов в первом улучшающем слое ("Да" на этапе S1017). Процесс переходит к этапу S1002. На этапе S1002, контроллер 714 определяет то, закончено ли декодирование всех слоев. Контроллер 714 здесь определяет то, что декодер 710 улучшающего слоя не заканчивает декодирование второго улучшающего слоя ("Нет" на этапе S1002). Процесс возвращается к этапу S1010.
[0189] Здесь выполняется декодирование второго улучшающего слоя. На этапе S1010, декодер 710 улучшающего слоя определяет то, что декодирование второго улучшающего слоя, который должен отображаться, не закончено ("Нет" на этапе S1010). Процесс переходит к этапу 1001. На этапе S1001, декодер 710 улучшающего слоя задает первый улучшающий слой, декодированный на этапе S1016, в качестве слоя верхнего уровня, и задает второй улучшающий слой в качестве слоя нижнего уровня. На этапе S1011, модуль 704 разделения извлекает кодированные данные относительно целевого фрагмента декодирования в слое нижнего уровня (втором улучшающем слое) и предоставляет извлеченные кодированные данные в декодер 710 улучшающего слоя. На этапе S812, модуль 706 определения независимых фрагментов определяет то, что целевой фрагмент декодирования не представляет собой фрагмент в наборе независимых фрагментов ("Нет" на этапе S812). Процесс переходит к этапу S1015. На этапе S1015, модуль 909 увеличения принимает декодированное изображение в улучшающем слое (первом улучшающем слое), сохраненное в запоминающем устройстве 908 кадров, поскольку слой верхнего уровня представляет собой улучшающий слой (первый улучшающий слой). Модуль 909 увеличения выполняет увеличение с использованием принимаемого декодированного изображения в слое верхнего уровня (первом улучшающем слое), например, с помощью фильтрации, чтобы формировать увеличенное изображение. Здесь, модуль 909 увеличения может использовать фрагмент в позиции, относительно идентичной позиции целевого фрагмента декодирования и пикселов вокруг фрагмента, чтобы формировать увеличенное изображение. Модуль 909 увеличения предоставляет сформированное увеличенное изображение в декодер 710 улучшающего слоя.
[0190] На этапе S1016, декодер 710 улучшающего слоя декодирует кодированные данные в слое нижнего уровня (втором улучшающем слое) целевого фрагмента декодирования, предоставляемого из модуля 704 разделения. Декодер 710 улучшающего слоя формирует декодированное изображение с обращением к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), предоставляемому из модуля 909 увеличения, декодированному изображению в декодированном улучшающем слое (втором улучшающем слое), сохраненному в запоминающем устройстве 911 кадров, и декодированным пикселам в целевом фрагменте декодирования. В частности, декодер 710 улучшающего слоя выполняет межслойное предсказание с обращением к увеличенному изображению в слое верхнего уровня (первом улучшающем слое), сформированному на этапе S1015. Декодер 710 улучшающего слоя выполняет межкадровое предсказание с обращением к декодированному изображению в слое нижнего уровня (втором улучшающем слое), сохраненному в запоминающем устройстве 911 кадров. Декодер 710 улучшающего слоя выполняет внутреннее предсказание с обращением к декодированному изображению в целевом фрагменте декодирования. Декодированное изображение фрагмента в слое нижнего уровня (втором улучшающем слое), декодированное посредством декодера 710 улучшающего слоя, предоставляется в запоминающее устройство 911 кадров и хранится в запоминающем устройстве 911 кадров.
[0191] На этапе S1017, контроллер 714 определяет то, закончено ли декодирование кодированных данных относительно всех фрагментов в слое нижнего уровня (втором улучшающем слое) в области отображения, предоставляемой из модуля 704 разделения. Поскольку контроллер 714 здесь определяет то, что декодер 710 улучшающего слоя заканчивает декодирование кодированных данных относительно всех фрагментов во втором улучшающем слое. Процесс переходит к этапу S1002. На этапе S1002, контроллер 714 определяет то, что декодирование фрагментов во всех слоях закончено ("Да" на этапе S1002), поскольку декодирование второго улучшающего слоя закончено. Процесс переходит к этапу S1003. На этапе S1003, модуль 920 выбора выбирает декодированное изображение в слое самого нижнего уровня из декодированных слоев. В этом случае, поскольку слой самого нижнего уровня представляет собой второй улучшающий слой, модуль 920 выбора считывает декодированное изображение из запоминающего устройства 911 кадров и предоставляет декодированное изображение, которое считывается, в модуль 606 отображения на фиг. 6 через терминал 912. Модуль 606 отображения отображает декодированное изображение во втором улучшающем слое, предоставляемое из модуля 605 декодирования изображений, в ответ на инструкцию для того, чтобы отображать изображение во втором улучшающем слое, из модуля 603 управления отображением.
[0192] Слой, который должен отображаться, представляет собой второй улучшающий слой (число слоев равно трем) в вышеприведенном описании. Тем не менее, когда число слоев кодированных данных при иерархическом кодировании равно трем или более, и слой, который должен отображаться, представляет собой первый улучшающий слой (число слоев равно двум), после того, как декодирование первого улучшающего слоя закончено ("Нет" на этапе S1002), процесс возвращается к этапу S1010 и затем переходит к этапу S1003. Соответственно, декодирование кодированных данных в слоях выше второго улучшающего слоя не выполняется.
[0193] В вышеуказанной конфигурации и режиме работы, можно сопоставлять относительную позицию каждого независимого фрагмента в каждом улучшающем слое с относительной позицией независимого фрагмента в базовом слое. Другими словами, когда определенный фрагмент в базовом слое задается в качестве независимого фрагмента, фрагмент в позиции, относительно идентичной позиции независимого фрагмента в базовом слое, представляет собой независимый фрагмент в каждом улучшающем слое. Это дает возможность ограничения числа пикселов, к которым следует обращаться для предсказания и декодирования кодированных данных относительно независимого фрагмента в любом слое при иерархическом кодировании. В частности, в примере на фиг. 6, если фрагмент, отображение которого указывается посредством модуля 603 управления отображением, представляет собой независимый фрагмент, необходимые кодированные данные могут считываться из модуля 602 хранения. Модуль 605 декодирования изображений может декодировать только кодированные данные. Соответственно, можно реализовывать высокоскоростную обработку, по сравнению с предшествующим уровнем техники.
[0194] Когда MCTS SEI существует в потоке битов, tile_boundaries_aligned_flag vui_parameters, который является информацией совпадения относительно позиции фрагмента, постоянно задается равным единице. Другими словами, когда MCTS SEI существует в потоке битов в vui_parameters, tile_boundaries_aligned_flag в качестве кодированных данных может опускаться. Если MCTS SEI не существует в потоке битов, tile_boundaries_aligned_flag декодируется, и к декодированным данным обращаются при последующем декодировании. Если MCTS SEI существует в потоке битов, tile_boundaries_aligned_flag постоянно задается равным единице на стороне декодирования, поскольку tile_boundaries_aligned_flag не кодируется. Это дает возможность выполнения декодирования таким же образом без tile_boundaries_aligned_flag.
Третий вариант осуществления
[0195] Процессоры, проиллюстрированные на фиг. 1, фиг. 4, фиг. 6, фиг. 7 и фиг. 9, сконфигурированы как аппаратные средства в первом варианте осуществления и втором варианте осуществления. Тем не менее, процессы, выполняемые в процессорах, могут выполняться посредством компьютерных программ.
[0196] Фиг. 11 является блок-схемой, иллюстрирующей примерную аппаратную конфигурацию компьютера, который выполняет обработку в каждом процессоре в устройстве кодирования изображений согласно первому варианту осуществления и устройстве декодирования изображений согласно второму варианту осуществления.
[0197] Ссылаясь на фиг. 11, центральный процессор 1101 (CPU) полностью управляет компьютером с использованием компьютерных программ и данных, сохраненных в оперативном запоминающем устройстве 1102 (RAM) и постоянном запоминающем устройстве 1103 (ROM), и выполняет процессы, описанные выше, выполняемые посредством устройства кодирования изображений согласно первому варианту осуществления и устройства декодирования изображений согласно второму варианту осуществления. Другими словами, CPU 1101 выступает в качестве каждого процессора, проиллюстрированного на фиг. 1, фиг. 4, фиг. 6, фиг. 7 и фиг. 9.
[0198] RAM 1102 имеет область, в которой временно сохраняются компьютерные программы и данные, загружаемые из внешнего устройства 1106 хранения данных, данные, внешне полученные через интерфейс 1107, и т.д. RAM 1102 также имеет рабочую область, используемую посредством CPU 1101 для того, чтобы выполнять различные процессы. Другими словами, RAM 1102 допускает, например, выделение в качестве запоминающего устройства кадров и надлежащее предоставление различных других областей.
[0199] ROM 1103 сохраняет данные настроек, загрузочную программу и т.д. компьютера. Функциональный модуль 1104 состоит из клавиатуры, мыши и т.д. и допускает выдачу различных инструкций в CPU 1101 в ответ на операции пользователем. Модуль 1105 вывода осуществляет такое управление, чтобы отображать результат обработки посредством CPU 1101. Модуль 1105 вывода также осуществляет такое управление, чтобы отображать результат обработки посредством CPU 1101 в модуле отображения (не проиллюстрирован), состоящем, например, из жидкокристаллического дисплея.
[0200] Внешнее устройство 1106 хранения данных представляет собой устройство хранения данных большой емкости, типично представленное посредством жесткого диска. Операционная система (ОС) и компьютерные программы, используемые посредством CPU 1101 для того, чтобы реализовывать функцию процессоров, проиллюстрированных на фиг. 1, фиг. 4, фиг. 6, фиг. 7 и фиг. 9, сохраняются во внешнем устройстве 1106 хранения данных. Данные изображений, которые должны обрабатываться, могут сохраняться во внешнем устройстве 1106 хранения данных.
[0201] Компьютерные программы и данные, сохраненные во внешнем устройстве 1106 хранения данных, надлежащим образом загружаются в RAM 1102 под управлением CPU 1101 для обработки посредством CPU 1101. Сеть, к примеру, локальная вычислительная сеть (LAN) или Интернет, и другое устройство, к примеру, проекционное устройство или устройство отображения, может соединяться с интерфейсом 1107. Компьютер допускает получение и передачу множества информации через интерфейс 1107. Вышеуказанные компоненты соединяются между собой через шину 1108.
[0202] Операции в вышеуказанных конфигурациях, которые описываются выше в отношении блок-схем последовательности операций, в основном управляются посредством CPU 1101.
Другие варианты осуществления
[0203] Чтобы легко реализовывать настоящее изобретение, полезно явно указывать присутствие независимого фрагмента на уровне около заголовка потока битов. Например, ниже описывается способ с использованием vui_parameters со ссылкой на фиг. 12. Фиг. 12 иллюстрирует пример синтаксиса vui_parameters. Motion_constrained_tile_sets_flag, указывающий то, что независимый фрагмент постоянно существует в потоке битов, включен в vui_parameters. Если motion_constrained_tile_sets_flag задается равным единице, MCTS SEI включена, независимый фрагмент существует в потоке битов, и относительная позиция каждого фрагмента в базовом слое совпадает с относительной позицией фрагмента в улучшающем слое. Другими словами, поскольку tile_boundaries_aligned_flag постоянно задается равным единице, необязательно кодировать tile_boundaries_aligned_flag. Напротив, если motion_constrained_tile_sets_flag задается равным нулю, MCTS SEI не включена, и независимый фрагмент не существует в потоке битов. Соответственно, необходимо кодировать tile_boundaries_aligned_flag. Такое устройство декодирования изображений, которое декодирует поток битов, допускает получение информации, указывающей то, что независимый фрагмент включен в поток битов, до того выполняется как процесс декодирования каждого фрагмента. Соответственно, устройство декодирования изображений может выполнять процесс декодирования на высокой скорости с использованием независимого фрагмента при декодировании определенной области. Как результат, можно определять то, является ли эффективным, например, применение частичного увеличения, до того как выполняется процесс декодирования каждого фрагмента.
[0204] Размер изображения, число фрагментов, получающихся в результате разделения, и позиция независимого фрагмента в одном кадре не ограничены размером, числом и позицией, описанными в вышеописанных вариантах осуществления.
[0205] Варианты осуществления настоящего изобретения также могут быть реализованы посредством компьютера системы или устройства, который считывает и выполняет компьютерно-исполняемые инструкции, записанные на запоминающем носителе (например, на некратковременном компьютерно-читаемом запоминающем носителе), чтобы выполнять функции одного или более вышеописанного варианта(ов) осуществления настоящего изобретения, и посредством способа, осуществляемого посредством компьютера системы или устройства, например, посредством считывания и выполнения компьютерно-исполняемых инструкций из запоминающего носителя, чтобы выполнять функции одного или более из вышеописанного варианта(ов) осуществления. Компьютер может содержать одно или более из центрального процессора (CPU), микропроцессора (MPU) или другой схемы и может включать в себя сеть отдельных компьютеров или отдельных процессоров компьютера. Компьютерно-исполняемые инструкции могут предоставляться в компьютер, например, из сети или с запоминающего носителя. Запоминающий носитель может включать в себя, например, одно или более из жесткого диска, оперативного запоминающего устройства (RAM), постоянного запоминающего устройства (ROM), устройства хранения распределенных вычислительных систем, оптического диска (такого как компакт-диск (CD), универсальный цифровой диск (DVD) или Blu-Ray-диск (BD)™), устройства флэш-памяти, карты памяти и т.п.
[0206] Хотя настоящее изобретение описано со ссылкой на примерные варианты осуществления, следует понимать, что изобретение не ограничено раскрытыми примерными вариантами осуществления. Объем прилагаемой формулы изобретения должен соответствовать самой широкой интерпретации, так что он заключает в себе все такие модификации и эквивалентные структуры и функции.
[0207] Эта заявка испрашивает приоритет по патентной заявке Японии номер 2013-146305, поданной 12 июля 2013 года, которая настоящим полностью содержится в данном документе по ссылке.