Область техники, к которой относится изобретение
Изобретение относится к способу получения данных движения по меньшей мере для одного макроблока изображения высокого разрешения, называемого макроблоком верхнего слоя, из данных движения, связанных по меньшей мере с одним макроблоком изображения низкого разрешения, называемого макроблоком базового слоя. Изобретение также относится к устройствам кодирования и декодирования, осуществляющим упомянутый способ.
Уровень техники
Современные способы масштабируемого иерархического кодирования позволяют кодировать информацию иерархически, для того чтобы ее можно было декодировать при различных уровнях качества и разрешающей способности. Поток данных, формируемый устройством масштабируемого кодирования, таким образом, разделяется на несколько слоев, базовый слой и один или несколько слоев расширения. Эти устройства позволяют приспосабливать поток уникальных данных к переменным условиям передачи (пропускная способность, частота появления ошибок, …), а также возможностям устройств приема (центрального процессора, характеристик устройств воспроизведения, …). При способе пространственно масштабируемого иерархического кодирования (или декодирования) кодируется первая часть данных, называемых базовым слоем, относящихся к изображениям низкого разрешения, также называемым изображениями базового слоя (BL pictures), и из этого базового слоя кодируется (или декодируется) по меньшей мере другая часть данных, называемых слоем расширения, которая относится к изображениям высокого разрешения, также называемым изображениями верхнего слоя (HL pictures) или изображениями слоя расширения. Данные движения, относящиеся к слою расширения, можно наследовать (то есть получать) из данных движения, относящихся к базовому слою, с помощью способа, называемого способом межуровневого предсказания или способом межуровневого наследования. Поэтому каждый макроблок изображения высокого разрешения предсказывается согласно классическим режимам пространственного или временного предсказания (например, режим внутренного предсказания, режим двунаправленного предсказания, режим направленного предсказания, прямое/обратное предсказание, …) или согласно режиму межуровневого предсказания. В вышеупомянутом случае данные движения, связанные с макроблоком высокого разрешения, должны быть получены или унаследованы из данных движения (также называемых данными перемещения), связанных с макроблоками изображений низкого разрешения, вне зависимости от формата изображений высокого и низкого разрешений, т.е. прогрессивного или чересстрочного. В этом контексте выражение «данные движения» включает в себя не только вектора движения, но и, более широко, информацию кодирования, такую как шаблон разбиения, связанный с макроблоком/блоком пикселей изображения высокого разрешения для разделения упоминаемого макроблока/блока на несколько субблоков, режимы кодирования, связанные с упомянутыми блоками, и ссылочные индексы изображений, связанные с некоторыми блоками, позволяющие ссылаться на используемое изображение для предсказания упомянутого блока.
Сущность изобретения
Задачей изобретения является смягчение по меньшей мере одного из этих недостатков. В особенности это относится к способу получения данных движения по меньшей мере для одного макроблока изображения высокого разрешения, называемого макроблоком верхнего слоя из данных движения, связанных с макроблоками изображений низкого разрешения, называемыми макроблоками базового слоя, режима кодирования макроблока среди режима кадра и режима поля, связанного с каждым макроблоком, и режима кодирования изображения связанного с изображением высокого разрешения и изображением низкого разрешения. Способ включает в себя следующие этапы:
разделения макроблока высокого уровня на неперекрывающиеся простейшие блоки;
вычисления для каждого простейшего блока промежуточной позиции в пределах изображения низкого разрешения, называемой мнимой позицией базового слоя (vbl_pos), из позиции простейшего блока в пределах изображения высокого разрешения в зависимости от режима кодирования макроблока верхнего слоя и в зависимости от режимов кодирования изображения изображений высокого и низкого разрешения;
идентификации для каждого простейшего блока макроблока базового слоя, называемого base_MB, содержащего пиксель, расположенный в мнимой позиции базового слоя;
вычисления для каждого простейшего блока конечной позиции в пределах изображения низкого разрешения, называемой действительной позицией базового слоя, из мнимой позиции базового слоя в зависимости от режимов кодирования base_MB и макроблоков верхнего слоя и в зависимости от режимов кодирования изображения изображений высокого и низкого разрешения;
идентификации для каждого простейшего блока макроблока основного уровня, называемого real_base_MB, содержащего пиксель, расположенный в действительной позиции базового слоя; и
получения данных движения для макроблока верхнего слоя из данных движения идентифицированного макроблока базового слоя real_base_MB для каждого простейшего блока.
Согласно предпочтительному варианту осуществления макроблоки базового слоя разделяются, а данные движения связаны с каждой из раздельных частей. Упомянутый способ дополнительно содержит этап идентификации для каждого простейшего блока, часть (mbPartldxBase) real_base_MB содержит пиксель, расположенный в действительной позиции базового слоя, после этапа идентификации, для каждого простейшего блока макроблок базового слоя, называемый real_base_MB, содержит пиксель, расположенный в действительной позиции базового слоя.
Предпочтительно этап получения данных движения для макроблока верхнего слоя содержит этапы, в которых:
разделяют макроблок верхнего слоя в зависимости от идентифицированного макроблока базового слоя real_base_MB и от идентифицированной части макроблока базового слоя real_base_MB для каждого простейшего блока; и
получают векторы движения для каждой части макроблока верхнего слоя из данных движения идентифицированного макроблока базового слоя real_base_MB для каждого простейшего блока.
Согласно предпочтительному варианту осуществления макроблок верхнего слоя представляет собой блок 16 на 16 пикселей, в котором каждый простейший блок - это блок 4 на 4 пикселя.
Преимущественно способ является частью процесса для кодирования видеосигналов и частью процесса декодирования видеосигналов.
Изобретение также относится к устройству кодирования последовательности изображений высокого разрешения и последовательности изображений низкого разрешения, каждое изображение разделяют на неперекрывающиеся макроблоки, режим кодирования макроблока среди режима кадра и режима поля связывают с каждым макроблоком, а режим кодирования изображения связывают с изображениями высокого разрешения и изображениями низкого разрешения. Устройство кодирования содержит:
первое средство кодирования для кодирования изображений низкого разрешения, причем первое средство кодирования формирует данные движения для макроблоков изображений низкого разрешения и поток данных базового слоя;
средство наследования для получения данных движения по меньшей мере для одного макроблока изображения высокого разрешения, называемого макроблоком высокого разрешения, из данных движения макроблоков изображения низкого разрешения, называемых макроблоками низкого разрешения; и
второе средство кодирования для кодирования изображений высокого разрешения с использованием полученных данных движения, причем второе средство кодирования формирует поток данных слоя расширения.
Изобретение также относится к устройству декодирования по меньшей мере последовательности изображений высокого разрешения, причем кодируемые изображения появляются в форме потока данных, каждое изображение разделяют на неперекрывающиеся макроблоки, режим кодирования макроблока среди режима кадра и режима поля связывают с каждым макроблоком, а режим кодирования изображения связывают с изображением высокого разрешения и изображением низкого разрешения. Устройство декодирования содержит:
первое средство декодирования для декодирования по меньшей мере первой части потока данных, для того чтобы сформировать изображения низкого разрешения и данные движения для макроблоков изображения низкого разрешения;
средство наследования для получения данных движения по меньшей мере для одного макроблока изображения высокого разрешения из данных движения макроблоков изображения низкого разрешения; и
второе средство декодирования для декодирования по меньшей мере второй части потока данных с использованием полученных данных движения для того, чтобы сформировать изображения высокого разрешения.
В соответствии с важной особенностью изобретения средство наследования устройств кодирования и декодирования содержит:
средство разделения макроблока верхнего слоя на неперекрывающиеся простейшие блоки;
средство вычисления для каждого простейшего блока промежуточной позиции в пределах изображения низкого разрешения, называемой мнимой позицией базового слоя (vbl_pos), из позиции простейшего блока в пределах изображения высокого разрешения в зависимости от режима кодирования макроблока верхнего слоя и в зависимости от режимов кодирования изображения изображений высокого и низкого разрешения;
средство идентификации для каждого простейшего блока макроблока базового слоя, называемого base_MB, содержащего пиксель, расположенный в мнимой позиции базового слоя;
средство вычисления для каждого простейшего блока конечной позиции в пределах изображения низкого разрешения, называемой действительной позицией базового слоя, из мнимой позиции базового слоя в зависимости от режимов кодирования макроблока base_MB и макроблоков верхнего слоя и в зависимости от режимов кодирования изображения изображений высокого и низкого разрешения;
средство идентификации для каждого простейшего блока макроблока базового слоя, называемого real_base_MB, содержащего пиксель, расположенный в действительной позиции базового слоя; и
средство получения данных движения для макроблока верхнего слоя из данных движения идентифицированного макроблока real_base_MB базового слоя для каждого простейшего блока.
Предпочтительно первым средством кодирования является видеокодер MPEG-4 AVC.
Преимущественно устройство кодирования содержит средство объединения потока данных базового слоя и слоя расширения в единый поток данных.
Предпочтительно первым средством декодирования является видеодекодер MPEG-4 AVC.
Краткое описание чертежей
Другие особенности и преимущества изобретения станут очевидны из последующего описания вариантов его осуществления, это описание делается совместно с чертежами, на которых:
фиг.1 иллюстрирует пару макроблоков, расположенных вертикально, каждый из которых кодируется в режиме кадра (левая часть чертежа) или в режиме поля (правая часть чертежа);
фиг.2 иллюстрирует схему последовательности операций способа в соответствии с настоящим изобретением;
фиг.3 иллюстрирует пример получения данных движения для данного макроблока верхнего слоя;
фиг.4 иллюстрирует устройство кодирования для кодирования видеосигналов в соответствии с настоящим изобретением; и
фиг.5 иллюстрирует устройство декодирования для декодирования видеосигналов в соответствии с настоящим изобретением.
Подробное описание предпочтительных вариантов осуществления
В стандарте SVC, в настоящее время определенном JVT (MPEG & ITU) в документе JVT-R202 из ISO/IEC MPEG & ITU-T VCEG, озаглавленном «Scalable Video Coding - Joint Draft 5» и впоследствии упоминаемом как JSVM5, пространственное масштабирование рассматривается только для прогрессивных материалов. Межуровневое предсказание движения между двумя (и более) последовательными пространственными слоями (один из которых базовый, а другой(ие) является(ются) слоем(ями) расширения) рассматривается только в случае прогрессивных видеопоследовательностей. Задачи изобретения - расширить такие способы межуровневого предсказания, чтобы поддерживать любые комбинации чересстрочного/прогрессивного масштабирования. В соответствии со множеством стандартов видеокодирования чересстрочная развертка изображения, которая содержит чередующиеся верхнее и нижнее поле, захваченные в различные моменты времени, может быть закодирована либо как изображения двух полей (режим изображения поля), т.е. два поля изображения кодируются отдельно, либо как изображение кадра (режим изображения кадра), т.е. изображение кодируется как отдельный кадр. MPEG-4 AVC, описываемый в документе ISO/IEC JTC 1/SC 29/WG 11 N5546, озаглавленном «Text of 14496-2 Third Edition», позволяет осуществить это решение или независимо для целого изображения, или независимо для каждой из двух вертикальных макроблочных пар. Когда принимается решение на уровне изображения, это называется PAFF кодирование (PAFF означает Кадр/Поле, адаптированные к Изображению), а когда принимается решение на уровне макроблочных пар, это называется MBAFF (MBAFF означает Кадр/Поле, адаптированные к Макроблоку). Более точно, согласно MPEG-4 AVC, когда чересстрочное изображение кодируется как изображение кадра и если допускается MBAFF, то каждая пара вертикальных макроблоков (MBs) может быть закодирована как чересстрочная, т.е. MBs пары кодируются в режиме поля (правая часть фиш.1), или как прогрессивная, т.е. MBs пары кодируются в режиме кадра (левая часть фиг.1). На фиг.1 серые строки представляют четные строки изображения, которые чередуются с нечетными строками, т.е. белыми строками изображений. Прогрессивное изображение всегда кодируется в режиме кадра. Режим кодирования изображения определяет, является ли упомянутое изображение закодированным кадром или полем, и если оно закодировано кадром, то допускается MBAFF.
Способ согласно изобретению позволяет сразу получать данные движения по меньшей мере для одного макроблока изображения высокого разрешения (также называемого Макроблоком Верхнего Слоя и записываемого как HL MB) из данных движения, связанных с макроблоками изображений низкого разрешения (называемых Макроблоком Базового Слоя и записываемого как BL MB), независимо от формата (чересстрочный или прогрессивный) последовательностей высокого и низкого разрешения.
Способ получения данных движения по меньшей мере для одного HL MB из BL MB описан ниже со ссылками на фиг.2 для текущего HL MB. На фиг.2 представлены блоки исключительно как функциональные объекты, которые необязательно соответствуют физически отделяемым объектам. А именно они могли быть разработаны в виде программного обеспечения или осуществлены в виде одной или нескольких интегральных схем. Фиг.3 изображает пример такого получения данных для текущего HL MB. Дополнительно, согласно этому способу данные движения для HL MB получены непосредственно из данных движения BL MB, т.е. нет данных движения, явно полученных для таких промежуточных макроблоков, как мнимые макроблоки базового слоя (известного также как VBL MBs). Это значительно упрощает процесс в целом. Действительно, больше нет необходимости получать данные движения для промежуточных MBs, связанных с текущим HL MB, перед получением собственных данных движения. Дополнительно, этот способ избавляет от получения данных движения несколько раз для одного и того же VBL MB, который связан с различными соседними HL MBs.
Согласно этому способу текущий HL MB вначале делится (этап 2100) на промежуточные блоки верхнего слоя elem_blk (например, блоки 4×4), как изображено на фиг.3.
Далее, способ состоит из вычисления (этап 2200) для каждого блока elem_blk в позиции (blk_x, blk_y) (в единицах пикселей) мнимой позиции базового слоя vbl_pos=(vbl_x, vbl_y) следующим образом:
vbl_x = blk_x · Wbase / Wenh ; и
vbl_y = offset + factor · (y1 · hb / he),
где offset, factor и hb - переменные, определяемые следующим образом:
- если одно из двух следующих условий выполняется:
текущий HL MB является макроблоком поля и изображение базового слоя закодировано в режиме адаптивного макроблока кадра поля (MBAFF) или
текущий HL MB является макроблоком поля, а изображение базового слоя является прогрессивным и henh < 2·hbase;
то factor = 2, hb = hbase/2 и offset = 0, если макроблок верхнего слоя является ВЕРХНИМ макроблоком, или offset = 16, если макроблок верхнего слоя является НИЖНИМ макроблоком;
- иначе, factor = 1, hb = hbase и offset = 0;
и где y1 и he - переменные определяемые следующим образом:
- если текущий HL MB является макроблоком поля и если изображение верхнего слоя закодировано в режиме адаптивного макроблока кадра поля (MBAFF), то y1 = blk_y/2 и he = henh/2.
- иначе, y1 = blk_y и he = henh.
Этап 2300 заключается в идентификации для каждого elem_blk макроблока base_MB базового слоя, содержащего пиксель с позицией vbl_pos в изображении базового слоя, т.е. пиксель с координатами (vbl_x, vbl_y), как изображено на фиг.3.
Затем на этапе 2400 вычисляется позиция базового слоя real_bl_pos = (bl_x, bl_y) в пределах изображения низкого уровня, для каждого elem_blk, из мнимой позиции базового слоя vbl_pos на основе режима кодирования кадра/поля base_MB. bl_x приравнивается к vbl_x и bl_y получается следующим образом:
если следующие условия выполняются:
- изображение базового слоя закодировано в режиме адаптивного макроблока кадра поля (MBAFF);
- макроблок base_MB базового слоя является макроблоком поля; и
- изображение верхнего слоя - прогрессивное (т.е. закодировано в режиме кадра), или макроблок верхнего слоя является макроблоком кадра,
то применяется преобразование мнимой позиции базового слоя vbl_pos от поля к кадру. Адрес данного макроблока со значением (ax, ay) в изображении w столбцов определяется как (ay·w + ax). Пусть mbAddrBaseTOP и mbAddrBaseBOT будут определяться следующим образом:
если base_MB является ВЕРХНИМ макроблоком, тогда mbAddrBaseTOP - это адрес base_MB, а mbAddrBaseBOT - адрес макроблока базового слоя, расположенного под base_MB,
иначе, mbAddrBaseBOT - это адрес base_MB, а mbAddrBaseTOP - адрес макроблока базового слоя, расположенного над base_MB.
Поэтому если оба макроблока со значением mbAddrBaseTOP и mbAddrBaseBOT кодированы в режиме внутреннего кодирования, то bl_y = vbl_y,
в противном случае пусть y2 будет переменной, приравниваемой к (vbl_y % 16) / 4, а mbAddrBase будет определяться следующим образом:
- если y2 меньше чем 2, то mbAddrBase = mbAddrBaseTOP;
- иначе, mbAddrBase = mbAddrBaseBOT;
если base_MB представляет собой ВЕРХНИЙ макроблок, тогда bl_y = (mbAddrBase/wbase) + 4·(blk_y/2), иначе, bl_y = (mbAddrBase/wbase) + 4·(blk_y/2+2).
В ином случае если одно из следующих условий выполняется:
- изображение базового слоя является прогрессивным (т.е. закодированно в режиме кадра), а текущий HL MB является макроблоком поля и henh < 2·hbase;
- изображение базового слоя кодируется в режиме кадра/поля, адаптиванного к макроблоку (MBAFF), макроблок base_MB базового слоя является макроблоком кадра, а макроблок верхнего слоя является макроблоком поля,
то применяется преобразование мнимой позиции базового слоя vbl_pos от поля к кадру. Пусть mbAddrBaseTOP и mbAddrBaseBOT будут определяться следующим образом:
если base_MB является верхним макроблоком, mbAddrBaseTOP - это адрес base_MB, а mbAddrBaseBOT - адрес макроблока базового слоя, расположенного под base_MB,
иначе, mbAddrBaseBOT - это адрес base_MB, а mbAddrBaseTOP - адрес макроблока базового слоя, расположенного над base_MB.
Поэтому если оба макроблока со значением mbAddrBaseTOP и mbAddrBaseBOT кодированы в режиме внутреннего кодирования, тогда bl_y = vbl_y,
в противном случае если макроблок со значением mbAddrBaseTOP кодирован в режиме внутреннего кодирования, mbAddrBaseTOP устанавливается в mbAddrBaseBOT, или же если макроблок со значением mbAddrBaseBOT кодирован в режиме внутреннего кодирования, mbAddrBaseBOT устанавливается в mbAddrBaseTOP.
Пусть y2 будет переменой, приравниваемой к (vbl_y % 16) / 4, и будет определяться следующим образом:
- если y2 меньше чем 2, mbAddrBase = mbAddrBaseTOP,
- иначе, mbAddrBase = mbAddrBaseBOT,
если base_MB представляет собой ВЕРХНИЙ макроблок, тогда bl_y = (mbAddrBase/wbase) + 4·(2·(blk_y%2)), иначе, bl_y = (mbAddrBase/wbase) + 4·(2·(blk_y%2)+1). В противном случае bl_y = vbl_y.
Этап 2500 состоит из идентификации для каждого elem_blk макроблока real_base_MB
базового слоя, содержащего пиксель в позиции изображения базового слоя real_bl_pos = (bl_x,bl_y), причем индекс mbPartldxBase части базового слоя содержит позицию пикселя real_bl_pos в пределах макроблока базового слоя real_base_MB и индекс subMbPartldxBase подчасти базового слоя, если имеется в наличии, содержит пиксель позиции real_bl_pos в пределах части базового слоя с индексом mbPartldxBase. Упомянутый real_base_MB, упомянутый индекс mbPartldxBase и индекс subMbPartldxBase, если имеются в наличии, связаны с упомянутым elem_blk.
Следующий этап 2600 заключается в получении данных движения, связанных с текущим HL MB. Преимущественно этап получения данных движения содержит два подэтапа. Действительно, сначала получают тип mb_type макроблока и типы подмакроблоков, перед получением векторов движения и ссылочных индексов. Более точно, подэтап 2610 состоит из получения типа mb_type макроблока, т.е. разделения изображения, и возможных типов sub_mb_type подмакроблоков (sub_mb_type определяет, как данная часть разбита, например 8×8, чей sub_mb_type 8×4 делится на две подчасти 8×4) текущего HL MB с использованием процесса, описанного в разделе F.6.4 «Процесс получения типа типа макроблока и подмакроблока при межуровневом предсказании» документа JVT of ISO/IEC MPEG & ITU-T VCEG JVT-S202, озаглавленном «Joint Scalable Video Model JSVM-6: Joint Draft 6 with proposed changes» и включающем в себя следующие строки:
- элемент partInfo[x, y] получается следующим образом:
- если mbAddrBase обозначен как недоступный, то partInfo[x, y] обозначается как недоступный;
- иначе применяется следующее;
- если макроблок mbAddrBase кодирован в режиме внутреннего кодирования, то
partInfo[ x, y ] = -1 (F-43);
- в ином случае
partInfo[ x, y ] = 16 · mbAddrBase + 4 · mbPartIdxBase + subMbPartldxBase (F-44).
Наконец, векторы движения и ссылочные индексы получают на подэтапе 2620 для каждой части и возможных подчастей текущего HL MB из векторов движения и ссылочных индексов части или подчасти базового слоя, если только real_base_MBs связаны с каждым elem_blk упомянутого HL MB, на основе режима кадра или режима поля HL MB и режимов кадра или поля макроблока базового слоя real_base_MB, как описано в разделе F.8.6 «Resampling process for motion data» документа JVT of ISO/IEC MPEG & ITU-T VCEG JVT-S202.
Способ согласно изобретению может быть использован при процессе кодирования и процессе декодирования видеосигналов. При использовании процесса кодирования видеосигналов выбирается процесс кодирования, чтобы кодировать текущий HL MB, используя любой из режимов межуровневого предсказания или классического предсказания.
Изобретение также относится к устройству 8 кодирования, изображенному на фиг.4. Устройство 8 кодирования содержит первый модуль 80 кодирования для кодирования изображений низкого разрешения. Модуль 80 формирует поток данных базового слоя и данные движения для упомянутых изображений низкого разрешения. Преимущественно модуль 80 применяется для формирования потока данных базового слоя, совместимых со стандартом MPEG4 AVC. Устройство 8 кодирования содержит средство 82 наследования, используемое для того, чтобы получать данные движения для изображений высокого разрешения из данных движения низкого разрешения, формируемых первым модулем 80 кодирования. Средство 82 наследования выполнено с возможностью выполнять этапы 2100-2600 способа согласно изобретению. Устройство 8 кодирования содержит второй модуль 81 кодирования для кодирования изображений высокого разрешения. Второй модуль 81 кодирования использует полученные средством 82 наследования данные движения для того, чтобы кодировать изображения высокого разрешения. Второй модуль 81 кодирования, таким образом, формирует поток данных слоя расширения. Преимущественно устройство 8 кодирования также содержит модуль 83 (например, мультиплексор), который объединяет поток данных базового слоя и поток данных слоя расширения, обеспечиваемые первым модулем 80 кодирования и вторым модулем 81 кодирования соответственно, чтобы формировать единый поток данных. Поэтому если HL MB кодируется вторым модулем 81 кодирования при использовании режима межуровневого предсказания, данные движения, относящиеся к упомянутому HL MB, не кодируются в потоке данных (или кодируются частично, как только четверть пикселя станет доступной для кодирования), так как они получены из данных движения, относящихся к BL MBs, обеспечиваемых модулем 80. Это позволяет сохранять некоторые биты. С другой стороны, если HL MB кодируется с использованием классического режима (например, двунаправленный режим), то данные движения, относящиеся к упомянутому HL MB, кодируются в потоке данных.
Изобретение также относится к устройству 9 декодирования, изображенному на фиг.5, для декодирования изображений высокого разрешения из формируемого потока данных устройством 8 кодирования. Устройство 9 декодирования содержит первый модуль 91 декодирования для декодирования первой части потока данных, называемого потоком данных базового слоя, для того чтобы получать изображения низкого разрешения и данные движения для упомянутых изображений низкого разрешения. Преимущественно модуль 91 применяется для декодирования потока данных, совместимых со стандартом MPEG4 AVC. Устройство 9 декодирования содержит средство 82 наследования, используемое, чтобы получать данные движения для изображений высокого разрешения из данных движения низкого разрешения, формируемых первым модулем 91 декодирования. Средство 82 наследования выполнено с возможностью выполнения этапов 2100-2600 согласно способу изобретения. Устройство 9 декодирования содержит второй модуль 92 декодирования для декодирования второй части потока данных, называемых потоком данных слоя расширения. Второй модуль 92 декодирования использует данные движения, полученные средством 82 наследования, для того чтобы декодировать вторую часть потока данных. Второй модуль 92 декодирования, таким образом, формирует изображения высокого разрешения. Преимущественно устройство 9 декодирования содержит также модуль 90 извлечения (например, демультиплексор) для извлечения из полученного потока данных потока данных базового слоя и потока данных слоя расширения.
Согласно другому варианту осуществления устройство декодирования получает два потока данных: поток данных базового слоя и поток данных слоя расширения. В этом случае устройство 9 не содержит модуль 90 извлечения.
Изобретение не ограничивается описанными вариантами осуществления. В частности, изобретение, описанное для двух последовательностей изображений, т.е. двух пространственных слоев, может использоваться для кодирования более чем двух последовательностей изображений.
Изобретение относится к масштабируемому видеокодированию, и в частности к способу получения данных движения для макроблока изображения высокого разрешения - макроблока верхнего слоя, из данных движения макроблоков изображения низкого разрешения - макроблока базового слоя. Техническим результатом является повышение эффективности видеокодирования. Указанный технический результат достигается тем, что осуществляют этапы: деления (2100) макроблока верхнего слоя на простейшие блоки; вычисления (2200) для каждого простейшего блока промежуточной позиции в пределах изображения низкого разрешения из позиции простейшего блока в зависимости от режимов кодирования макроблока верхнего слоя и изображений высокого и низкого разрешения; идентификации (2300) макроблока базового слоя, называемого base_MB, содержащего пиксель, расположенный в промежуточной позиции; вычисления (2400) конечной позиции в пределах изображения низкого разрешения из мнимой позиции базового слоя в зависимости от режимов кодирования макроблока base_MB и макроблока верхнего слоя и изображений высокого и низкого разрешения; идентификации (2500) макроблока базового слоя, называемого real_base_MB, содержащего пиксель, расположенный в конечной позиции; и получения (2600) данных движения для макроблока верхнего слоя из данных движения идентифицированного real_base_MB. 3 н. и 8 з.п. ф-лы, 5 ил.
1. Способ получения данных движения для по меньшей мере одного макроблока, разделенного на неперекрывающиеся простейшие блоки, изображения высокого разрешения, называемого макроблоком верхнего слоя, из данных движения, связанных с макроблоками изображения низкого разрешения, называемых макроблоками базового слоя, причем режим кодирования макроблока из режима кадра и режима поля связан с каждым макроблоком, а режим кодирования изображения связан с упомянутым изображением высокого разрешения и упомянутым изображением низкого разрешения, отличающийся тем, что содержит этапы, на которых:
вычисляют (2200) для каждого простейшего блока упомянутого по меньшей мере одного макроблока промежуточную позицию в пределах упомянутого изображения низкого разрешения, называемую мнимой позицией базового слоя (vbl_pos), из позиции упомянутого простейшего блока в пределах упомянутого изображения высокого разрешения в зависимости от режима кодирования упомянутого макроблока верхнего слоя и в зависимости от режимов кодирования изображения упомянутых изображений высокого и низкого разрешения;
идентифицируют (2300) для каждого простейшего блока макроблок базового слоя, называемый base_MB, содержащий пиксель, расположенный в упомянутой мнимой позиции базового слоя;
вычисляют (2400) для каждого простейшего блока конечную позицию в пределах упомянутого изображения низкого разрешения, называемую действительной позицией базового слоя, из упомянутой мнимой позиции базового слоя в зависимости от режимов кодирования упомянутого макроблока base_MB и макроблоков верхнего слоя;
идентифицируют (2500) для каждого простейшего блока упомянутого по меньшей мере одного макроблока макроблок базового слоя, называемый real_base_MB, содержащий пиксель, расположенный в упомянутой действительной позиции базового слоя; и
получают (2600) данные движения для упомянутого макроблока верхнего слоя из данных движения упомянутого идентифицированного макроблока real_base_MB базового слоя для каждого простейшего блока.
2. Способ по п.1, в котором макроблоки базового слоя разделяют и данные движения связывают с каждой из частей, и причем упомянутый способ дополнительно содержит этап, на котором идентифицируют для каждого простейшего блока часть (mbPartldxBase) упомянутого real_base_MB, содержащего пиксель, расположенный в упомянутой действительной позиции базового слоя, после этапа идентификации (2500), для каждого простейшего блока, макроблока базового слоя, называемого real_base_MB, содержащего пиксель, расположенный в упомянутой действительной позиции базового слоя.
3. Способ по п.2, в котором этап (2600) получения данных движения для упомянутого макроблока верхнего слоя содержит этапы, на которых: разделяют упомянутый макроблок верхнего слоя в зависимости от упомянутого идентифицированного макроблока real_base_MB базового слоя и от упомянутой идентифицированной части упомянутого макроблока real_base_MB базового слоя для каждого простейшего блока; и получают векторы движения для каждой части упомянутого макроблока верхнего слоя из данных движения упомянутого идентифицированного макроблока real_base_MB базового слоя для каждого простейшего блока.
4. Способ по любому из пп.1-3, в котором упомянутый макроблок верхнего слоя является блоком 16 на 16 пикселей, а каждый простейший блок является блоком 4 на 4 пикселя.
5. Способ по любому из пп.1-4, причем упомянутый способ является частью процесса кодирования видеосигналов.
6. Способ по любому из пп.1-4, причем упомянутый способ является частью процесса декодирования видеосигналов.
7. Устройство (8) кодирования последовательности изображений высокого разрешения и последовательности изображений низкого разрешения, причем каждое изображение разделено на неперекрывающиеся макроблоки, разделенные на неперекрывающиеся простейшие блоки, причем режим кодирования макроблока из режима кадра и режима поля связан с каждым макроблоком, а режим кодирования изображения связан с упомянутыми изображениями высокого разрешения и упомянутыми изображениями низкого разрешения, причем упомянутое устройство содержит:
первое средство (80) кодирования для кодирования упомянутых изображений низкого разрешения, причем упомянутое первое средство кодирования формирует данные движения для макроблоков упомянутых изображений низкого разрешения и поток данных базового слоя;
средство (82) наследования для получения данных движения для по меньшей мере одного макроблока изображения высокого разрешения, называемого макроблоком высокого разрешения, из данных движения макроблоков изображения низкого разрешения, называемых макроблоками низкого разрешения; и
второе средство (81) кодирования для кодирования упомянутых изображений высокого разрешения с использованием упомянутых полученных данных движения, причем упомянутое второе средство кодирования формирует поток данных слоя расширения;
отличающееся тем, что средство (82) наследования содержит:
средство вычисления для каждого простейшего блока упомянутого по меньшей мере одного макроблока промежуточной позиции в пределах упомянутого изображения низкого разрешения, называемой мнимой позицией базового слоя (vbl_pos), из позиции упомянутого простейшего блока в пределах упомянутого изображения высокого разрешения в зависимости от режима кодирования упомянутого макроблока верхнего слоя и в зависимости от режимов кодирования изображения упомянутых изображений высокого и низкого разрешения;
средство идентификации для каждого простейшего блока макроблока базового слоя, называемого base_MB, содержащего пиксель, расположенный в упомянутой мнимой позиции базового слоя;
средство вычисления для каждого простейшего блока конечной позиции в пределах упомянутого изображения низкого разрешения, называемой действительной позицией базового слоя, из упомянутой мнимой позиции базового слоя в зависимости от режимов кодирования упомянутого макроблока base_MB и макроблоков верхнего слоя;
средство идентификации для каждого простейшего блока, упомянутого по меньшей мере одного макроблока, макроблока базового слоя, называемого real_base_MB, содержащего пиксель, расположенный в упомянутой действительной позиции базового слоя; и
средство получения данных движения для упомянутого макроблока верхнего слоя из данных движения упомянутого идентифицированного макроблока real_base_MB базового слоя для каждого простейшего блока.
8. Устройство по п.7, в котором упомянутым первым средством кодирования является видеокодер MPEG-4 AVC.
9. Устройство по п.7 или 8, причем упомянутое устройство дополнительно содержит средство (83) объединения потока данных базового слоя и потока данных слоя расширения в единый поток данных.
10. Устройство (9) декодирования по меньшей мере последовательности изображений высокого разрешения, причем кодируемое изображение возникает в виде потока данных, причем каждое изображение разделено на неперекрывающиеся макроблоки, разделенные на простейшие блоки, причем режим кодирования макроблока из режима кадра и режима поля связан с каждым макроблоком, а режим кодирования изображения связан с упомянутыми изображениями высокого разрешения и упомянутыми изображениями низкого разрешения, причем упомянутое устройство содержит:
первое средство (91) декодирования для декодирования по меньшей мере первой части упомянутого потока данных для того, чтобы формировать изображения низкого разрешения и данные движения для макроблоков упомянутых изображений низкого разрешения;
средство (82) наследования для получения данных движения для по меньшей мере одного макроблока изображения высокого разрешения из данных движения макроблоков изображений низкого разрешения; и
второе средство (92) декодирования для декодирования по меньшей мере второй части упомянутого потока данных с использованием полученных данных движения для формирования изображений высокого разрешения,
отличающееся тем, что средство (82) наследования содержит:
средство вычисления для каждого простейшего блока упомянутого по меньшей мере одного макроблока промежуточной позиции в пределах упомянутого изображения низкого разрешения, называемой мнимой позицией базового слоя (vbl_pos), из позиции упомянутого простейшего блока в пределах упомянутого изображения высокого разрешения в зависимости от режима кодирования упомянутого макроблока верхнего слоя и в зависимости от режимов кодирования изображения упомянутых изображений высокого и низкого разрешения;
средство идентификации для каждого простейшего блока макроблока базового слоя, называемого base_MB, содержащего пиксель, расположенный в упомянутой мнимой позиции базового слоя;
средство вычисления для каждого простейшего блока конечной позиции в пределах упомянутого изображения низкого разрешения, называемой действительной позицией действительного базового слоя, из упомянутой мнимого позиции базового слоя в зависимости от режимов кодирования упомянутого макроблока base_MB и макроблоков верхнего слоя;
средство идентификации для каждого простейшего блока упомянутого по меньшей мере одного макроблока, макроблока базового слоя, называемого real_base_MB, содержащего пиксель, расположенный в упомянутой действительной позиции базового слоя; и
средство получения данных движения для упомянутого макроблока верхнего слоя из данных движения упомянутого идентифицированного макроблока real_base_MB базового слоя для каждого простейшего блока.
11. Устройство по п.10, в котором упомянутым первым средством декодирования является видеодекодер MPEG-4 AVC.
WO 2006042612 A1, 27.04.2006 | |||
WO 2006001585 A1, 05.01.2006 | |||
US 2006133498 A1, 22.06.2006 | |||
СПОСОБ НИЗКОШУМОВОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ | 1997 |
|
RU2201654C2 |
VIERON J | |||
et al., CE4: Inter-layer prediction for interlace/progressive SVC, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-S018, 19th Meeting Geneva, 01-07 April 2006 | |||
REICHEL J | |||
et al., Joint Scalable Video Model |
Авторы
Даты
2011-12-20—Публикация
2007-07-02—Подача