Кодирование и декодирование изображений

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении идентификации начала секций для первых секций в изображении. Способ кодирования изображения, содержащего N≥2 секций, содержит генерирование, для каждой секции из упомянутых N секций, кодированного представления секции на основе значений пикселей у пикселей в упомянутой секции; установку флага секции, ассоциированного с первой секцией из N секций, в первое определенное значение; установку, для каждой секции из N-1 остальных секций из N секций, флага секции, ассоциированного с упомянутой секцией, во второе определенное значение; генерирование, для каждой секции из N-1 остальных секций, адреса секции, обеспечивающего возможность идентификации позиции первой единицы кодирования секции в пределах изображения; генерирование кодированного представления изображения для изображения, содержащего упомянутые N кодированных представлений секций, N-1 адресов секций и N флагов секций; и определение длины N-1 адресов секций в терминах числа бит, как одно из ceil(log2(Р)) и ceil(log2(P-l)), причем ceil( ) обозначает функцию наименьшего целого числа, определенную как ceil(x)=х, и выводит наименьшее целое число не меньше, чем х, а Р обозначает общее число возможных адресов секций в упомянутом изображении. 5 н. и 14 з.п. ф-лы, 13 ил.

Реферат

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

Настоящие варианты осуществления изобретения относятся в целом к обработке изображений или видеокадров, и в частности к кодированию и декодированию таких изображений или видеокадра.

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

Стандарт H.264, также называемый MPEG-4 (Motion Picture Expert Group - Экспертная группа по движущимся изображениям) AVC (Advanced Video Coding - Усовершенствованное видеокодирование), является стандартом кодирования изображений текущего уровня техники. Это гибридный кодек, который основывается на устранении избыточности между кадрами, обозначаемом так называемым интер-кодированием (inter coding - межкадровое кодирование), и в пределах кадров, обозначаемом так называемым интра-кодированием (intra coding - внутрикадровое кодирование). Выходными данными процесса кодирования являются данные VCL (Video Coding Layer - Уровень видеокодирования), которые далее инкапсулируется в единицы NAL (Network Abstraction Layer - Уровень абстракции сети) перед передачей или сохранением.

Согласно H.264/MPEG-4 AVC, изображение видеопотока состоит из макроблоков с фиксированным размером 16×16 пикселей, и кодирование изображения происходит от макроблока к макроблоку. Каждое изображение видеопотока делится на одну или более секций. Секция является независимо декодируемой частью изображения. Это означает то, что если одна секция изображения потеряна, другие секции изображения все же будут декодируемыми. В дополнение, секции могут использоваться для параллельного кодирования и декодирования, поскольку они являются независимыми от других секций в изображении. В H.264/MPEG-4 AVC должна иметь место граница секций между границами двух смежных, в соответствии с порядком кодирования, макроблоков.

HEVC (High Efficiency Video Coding - Высокоэффективное видеокодирование) является преемником H.264/MPEG-4 AVC. HEVC направлено на то, чтобы существенно улучшить эффективность кодирования по сравнению с H.264/MPEG-4 AVC, т.е. уменьшить требования к скорости передачи битов, при сохранении качества изображения. HEVC ориентировано на следующее поколение дисплеев HDTV (High Definition Television - Телевидение высокой четкости) и систем захвата контета, которые отличаются скоростями прогрессивно сканируемых кадров и разрешениями отображения от QVGA (Quarter Video Graphics Array - Четвертной видеографический массив) (320×240) до 1080p и Ультра HDTV (Ultra HDTV) (7680×4320), а также улучшенным качеством изображений.

HEVC обеспечивает возможность использования так называемых наибольших единиц кодирования (largest coding units, LCU) которые являются блоками пикселей, имеющими размер, который больше, чем размер макроблоков в H.264/MPEG-4 AVC для обеспечения улучшенной эффективности кодирования. Для того, чтобы обрабатывать как большие однородные области, так и небольшие детализованные области в одном и том же изображении, было предложено иерархическое кодирование для HEVC. Наибольшие единицы кодирования (LCU) в изображении сканируются в заранее определенном порядке, и каждая такая наибольшая единица кодирования (LCU) может быть разделена на меньшие единицы кодирования (coding units, CU), которые в свою очередь могут иерархически разделяться, как квадрадерево, вплоть до наименьшей единицы кодирования (smallest coding unit, SCU). Изображение может, таким образом, кодироваться как смесь единиц кодирования с различными размерами, ранжированных от LCU до SCU.

В соответствии с H.264/MPEG-4 AVC, изображение видеопотока может быть разделено на одну или более секций в HEVC. Граница секций в HEVC выравнивается с границей двух смежных, в соответствии с заранее определенным порядком, LCU.

Оба стандарта H.264/MPEG-4 AVC и HEVC требуют определения и использования адресов для того, чтобы идентифицировать первый макроблок или единицу кодирования секции и, таким образом, начало секции в изображении или видеокадре. Такие адреса, хотя они необходимы в декодере, добавляют служебные данные к данным кодированного изображения. Кроме того, с введением иерархического разделения LCU в HEVC возникают новые проблемы в связи с кодированием и декодированием изображений или видеокадров. Поэтому существует необходимость эффективного кодирования и декодирования, которое может управлять адресами начала секций эффективным и гибким способом.

Раскрытие изобретения

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

Более конкретной целью изобретения является сигнализация начальных позиций секций эффективным способом.

Эти и другие цели выполняются вариантами осуществления, раскрытыми здесь.

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

Другой аспект вариантов осуществления относится к устройству для кодирования изображения, содержащего множество секций. Генератор представлений упомянутого устройства генерирует соответствующее кодированное представление секции для каждой секции в изображении. Устройство содержит установщик флагов, конфигурированный для установки флага секции, ассоциированного с первой секцией в изображении, в первое значение, тогда как флаг секции (флаги секций) оставшейся секции (остальных секций) устанавливается (устанавливаются) во второе определенное значение. Генератор адреса генерирует соответствующий адрес секции для каждой секции оставшейся секции (остальных секций), чтобы обеспечить возможность идентификации соответствующей позиции первой единицы кодирования и начала секции в пределах изображения. Менеджер представлений генерирует кодированное представление изображения, содержащее кодированные представления секций, адреса секций и флаги секций.

Дополнительный аспект вариантов осуществления определяет способ декодирования кодированного представления изображения, содержащего множество секций. Флаг секции, ассоциированный с секцией в изображении, извлекается из кодированного представления изображения. Значение этого флага секции используется для того, чтобы определить, нужно ли извлекать адрес секции из кодированного представления изображения для того, чтобы идентифицировать начальную позицию секции в пределах изображения и часть секции, которая принадлежит секции. Если флаг секции имеет первое определенное значение, то настоящая секция является первой секцией в изображении. Значения пикселей для пикселей в упомянутой секции, генерируемые посредством декодирования кодированного представления секции, ассоциированного с секцией и извлеченного из кодированного представления изображения, затем назначаются первой части изображения, начиная с определенного начала секции в пределах изображения, такого как верхний левый угол. Если флаг секции, вместо этого, имеет второе определенное значение, то адрес секции используется, чтобы идентифицировать начало секции в пределах изображения, и значения пикселей, генерируемые посредством декодирования кодированного представления секции, для пикселей, назначаются части изображения, начиная с идентифицированного начала секции.

Еще один аспект вариантов осуществления относится к устройству для декодирования кодированного представления изображения, содержащего множество секций. Устройство извлечения представлений упомянутого устройства извлекает флаг секции, ассоциированный с секцией, которая должна декодироваться из кодированного представления изображения. Устройство извлечения адресов извлекает адрес секции из кодированного представления изображения, если флаг секции имеет второе определенное значение. Если флаг секции вместо этого имеет первое определенное значение, то генератор представлений генерирует декодированное представление значений пикселей для пикселей в упомянутой секции на основе кодированного представления секции, ассоциированного с секцией и извлеченного из представления кодированного изображения. Эти значения пикселей затем назначаются устройством назначения значений первой части изображения, начиная с определенной начальной позиции, которая идентифицируется без необходимости какого-либо сигнализируемого адреса секции, например, верхний левый угол. Если флаг секции вместо этого имеет второе определенное значение, то извлеченный адрес секции используется устройством назначения значений для того, чтобы идентифицировать начало части изображения, которое принадлежит текущей секции, и затем назначить значения пикселей из генератора представлений этой идентифицированной части.

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

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

Настоящее изобретение, вместе с дополнительными его преимуществами и целями, может быть наиболее полно понято на основе следующего описания, рассматриваемого вместе с сопроводительными чертежами, на которых:

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

Фиг. 2 иллюстрирует вариант осуществления изображения, разделенного на множество секций и содержащего множество наибольших единиц кодирования (largest coding units, LCU);

Фиг. 3A и 3B иллюстрируют варианты осуществления совмещения начала секции с границей между единицами кодирования в пределах наибольшей единицы кодирования (LCU);

Фиг. 4 схематично иллюстрирует вариант осуществления порядка кодирования и декодирования для обработки единиц кодирования;

Фиг. 5 является блок-схемой, иллюстрирующей дополнительные этапы способа кодирования на Фиг. 1 в соответствии с вариантом осуществления;

Фиг. 6 схематично иллюстрирует вариант осуществления кодированного представления изображения;

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

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

Фиг. 9 является блок-схемой, иллюстрирующей дополнительные этапы способа на Фиг. 7 в соответствии с вариантом осуществления;

Фиг. 10 является схематической блок-схемой устройства для кодирования изображения в соответствии с вариантом осуществления;

Фиг. 11 является схематической блок-схемой устройства для декодирования кодированного представления изображения в соответствии с вариантом осуществления; и

Фиг. 12 является схематической блок-схемой медиа-терминала в соответствии с вариантом осуществления.

Осуществление изобретения

На всех чертежах, одни и те же ссылочные номера используются для указания одинаковых или соответствующих элементов.

Варианты осуществления в целом относятся к управлению секциями в пределах изображений или видеокадров. Более подробно, варианты осуществления обеспечивают гибкий и битово-эффективный способ сигнализации адресов начала секций. Варианты осуществления применимы к любому кодированию и декодированию изображений или видеокадров, в которых изображение или видеокадр, например видеопоток, может содержать множество, т.е. по меньшей мере две секции, и где начало секций необходимо сигнализировать декодеру. Вариант осуществления может поэтому применяться к известному кодированию изображений или видео, такому как H.264/MPEG-4 AVC, но в частности, является весьма применимым к кодированию и декодированию изображений, которые используют иерархическое разделение блоков пикселей на меньшие блоки пикселей. Варианты осуществления поэтому хорошо подходят для использования в связи с высокоэффективным видеокодированием (High Efficiency Video Coding, HEVC), но не ограничиваются этим.

Характеристикой вариантов осуществления является дифференциация между первой секцией в изображении или видеокадре и остальными секциями. В предшествующем уровне техники, адрес секции определяется во время кодирования для каждой секции в изображении, и включается в кодированное представление изображения для использования декодером, чтобы идентифицировать начало секции в пределах области изображения или видеокадра. В зависимости от общего размера изображения, эти адреса секций могут быть весьма длинными, и таким образом, добавлять существенное количество служебной информации в кодированные данные изображения. Например, H.264/MPEG-4 AVC изображение или видеокадр может состоять из 1280×960 пикселей. Если начало секции выравнивается с границами макроблока, и начало секции выражается как X и Y координаты относительные фиксированного начала отсчета, т.е. обычно верхний левый угол изображения, то для адреса секции необходимо будет log2(ceil(1280/16))+log2(ceil(960/16))=7+6=13 бит в этом простом примере. Функция Ceil( ) обозначает функцию наименьшего целого числа, определяемую как ceil(x)=x, и выводит наименьшее целое число не меньше, чем x. Это может быть не очень большим количеством данных, но с учетом современных кадровой и битовой скоростей для видео декодирования и рендеринга, несколько сотен секций обычно используются для доступа каждую секунду, поэтому общий суммарный размер данных адресов секций, которые необходимо генерировать в кодере и направлять к декодеру является весьма существенным для видеопотока. В дополнение, адреса секций нужно обнаружить, извлечь и обработать в декодере перед тем, как фактические данные пикселей секции могут быть декодированы и назначены правильной части изображения.

Упомянутые выше проблемы с обработкой адресов секций могут стать еще более заметными, когда используется иерархическое кодирование и декодирование, такое как HEVC, если начало секций может выравниваться с единицами кодирования более низкого уровня, чем наибольшие единицы кодирования. Фиг. 2 схематично иллюстрирует эту концепцию.

Изображение 1, например, видеокадр в видеопотоке, может быть разделено на множество наибольших кодовых единиц (largest coding units, LCU) 10, также называемыми наибольшими блоками дерева кодирования (largest coding tree blocks, LCTB) или наибольшими блоками кодирования (largest coding blocks, LCB) в известном уровне техники. LCU 10 является наибольшим возможным блоком пикселей, который может обрабатываться в течение кодирования и декодирования, и может обрабатываться, например, в соответствии с хорошо известными режимами интер- или интра-кодирования/декодирования. LCU 10 может в свою очередь быть иерархически разделена на множество меньших, в терминах числа пикселей, блоков пикселей, обычно называемых единицами кодирования (coding units, CU) 20A, 20B, блоками дерева кодирования (coding tree blocks, CTB) или блоками кодирования (coding blocks, CB). Эти единицы кодирования (CU) 20A, 20B могут, в свою очередь, делиться далее на еще более мелкие блоки 30A, 30B пикселей в иерархическом порядке, вплоть до минимально возможного блока пикселей, называемого наименьшей единицей кодирования (smallest coding unit, SCU), наименьшим блоком дерева кодирования (smallest coding tree block, SCTB) или наименьшим блоком кодирования (smallest coding block, SCB).

В явной противоположности предшествующему уровню техники, который ограничивает расположение начала секции 2, 3 в изображении 1, которое должно выравниваться с границей между двумя смежными LCU 10A, 10B, некоторые варианты осуществления изобретения обеспечивают намного более гибкое расположение начала секций, потенциально обеспечивая возможность выравнивания начала секции 4, 5 с границей между любыми смежными CU 10A, 10B, 20A, 20B, 30A, 30B в изображении, начиная с уровня SCU и вплоть до уровня LCU. Поэтому в данном случае возможно, что начало секции будет располагаться внутри LCU, когда последняя CU предыдущей секции и первая CU текущей секции находятся в одной и той же LCU. Фиг. 2 схематично иллюстрирует это. Граница между первой секцией 2 и второй секцией 3 совпадает с границей двух смежных, в соответствии с порядком обработки, LCU 10A, 10B. Граница между второй секцией 3 и третьей секцией 4 вместо этого выровнена с границей двух единиц 20A, 20B кодирования, каждая из которых имеет одну четвертую в размере по сравнению с LCU 10. Соответственно, граница между третьей секцией 4 и четвертой секцией 5 на Фиг. 2 выровнена с границей двух CU 30A, 30B, каждая из которых составляет 1/16 в размере по сравнению с LCU 10.

Однако иерархическое деление и начала секций, выровненные с небольшими CU, возможно даже SCU, могут привести к еще большим адресам секций по сравнению с MPEG-4/AVC. Например, к ранее рассмотренному примеру, изображение 1280×960 пикселей может иметь 19200 потенциальных позиций начала секций, если начала секций могут выравниваться с границей SCU 8×8 пикселей. Если адреса секций также представлены в форме координат X и Y, то для них должно требоваться 8+7=15 бит.

В соответствии с вариантами осуществления, термин "секция" используется для обозначения независимо кодируемой и декодируемой части изображения или видеокадра. Изображение может, таким образом, быть составлено из одной секции или множества, т.е. по меньшей мере двух секций.

Фиг. 1 является блок-схемой, иллюстрирующей способ кодирования изображения или видеокадра, содержащего N секций. Параметр N является положительным целым числом, равным или большим, чем два. Упомянутый способ начинается на этапе S1, на котором генерируется кодированное представление секции для каждой секции в изображении. Это кодированное представление секции генерируется на основе значений пикселей у пикселей в упомянутой секции в соответствии с хорошо известными схемами кодирования, такими как интер- или интра-кодирование.

Следующие этапы S2 и S3 устанавливают так называемые флаги секций для секций в изображении. Более подробно, этап S2 устанавливает флаг секции, ассоциированный с первой секцией из N секций в изображении, в первое определенное значение, такое как 1bin, или логическая единица, или какой-нибудь другой определенный символ, чтобы указать, что настоящая секция является первой секцией изображения и, таким образом, имеет свое начало секции в определенной позиции в изображении, обычно в верхнем левом углу изображения. Этап S3 соответственно устанавливает флаг секции, ассоциированный с каждой секцией из остальных N-1 секций изображения, во второе определенное значение, такое как 0bin, или логический ноль, или какой-нибудь другой определенный символ. Это означает, что флаги секций могут использоваться как дополнительная информация для того, чтобы проводить дифференциацию между первой секцией в изображении и остальными секциями.

Этим остальным секциям необходимо иметь ассоциированные адреса секций, чтобы обеспечить декодеру возможность идентифицировать, где, в пределах области изображения, находятся начала секций. В этом нет необходимости для первой секции, которая вместо этого имеет определенную начальную позицию в пределах изображения, и предпочтительно начинается в первом пикселе изображения в верхнем левом углу. Альтернативно, изображение может быть разделено на области на более высоком уровне, чем секции. В таком случае, определенная начальная позиция может быть началом отсчета такой области в изображении.

Этап S4 поэтому генерирует адрес секции для каждой секции из остальных N-1 секций, исключая, по этой причине, первую секцию, для которой не требуется адрес секции в соответствии с вариантами осуществления. Адрес секции, генерируемый на этапе S4 для секции, обеспечивает возможность идентификации позиции первой единицы кодирования секции и соответственно начала секции в пределах изображения. Первая единица кодирования тогда составляет первую единицу кодирования секции, а предшествующая, в соответствии с определенным порядком обработки, единица кодирования тогда является последней единицей кодирования предыдущей секции в изображении. Первая единица кодирования может быть любым блоком пикселей, а в MPEG-4/AVC первая единица кодирования является первым макроблоком секции. Соответственно, в HEVC первая единица кодирования может быть LCU, но с иерархическим разделением она, преимущественно, может быть любой единицей кодирования, от размера LCU до размера SCU, если не наложены какие-либо ограничения на то, где позиции начала секций могут быть найдены в изображении, что обсуждается далее.

Порядок обработки, в котором единицы кодирования изображения обрабатываются, т.е. кодируются, а затем последовательно декодируются, может быть любым известным порядком обработки. Примером такого порядка обработки является порядок растрового сканирования, или любой другой порядок кодирования/декодирования, такой как порядок Мортона (Morton) или Z-порядок, который рассматривается далее.

N кодированных представлений секций, N-1 адресов секций и N флагов секций затем используются для генерирования кодированного представления изображения на этапе S5. Кодированное представление изображения обычно имеет форму последовательности или потока бит, хотя другие символьные алфавиты, кроме двоичного алфавита, могут использоваться и попадают в объем вариантов осуществления, такие как шестнадцатеричный или десятичный алфавит. Фиг. 6 является схематической иллюстрацией варианта осуществления такого кодированного представления 50 изображения. Как правило, кодированное представление 50 изображения содержит две главных части для каждой секции, т.е. заголовок 54 секции и кодированные данные 56. Заголовок 54 секции обычно содержит флаг секции, который устанавливается для секции на этапе S2 или S3, например, в форме кодового слова first_slice_in_pic_flag. Заголовок 54 секции каждой из остальных секций, кроме первой секции, в изображении предпочтительно также содержит адрес секции, генерируемый на этапе S4, например, в форме кодового слова first_cu_in_slice или кодового слова slice_address. В некоторых вариантах осуществления, в заголовок 54 секции может включаться дополнительная информация, включая, например, тип кодирования секции.

Кодированные данные 56 переносят кодированные данные изображения пикселей в упомянутой секции, т.е. кодированные представления секций, генерируемые на этапе S1.

Кодированное представление 50 может опционально также содержать, или же быть ассоциированным с набором параметров изображения (picture parameter set, PPS) и/или набором параметров последовательности (sequence parameter set, SPS) 52. PPS/SPS 52 может быть частью кодированного представления 50 изображения. В таком случае, каждое кодированное представление 50 изображения видеопотока может иметь соответствующее поле PPS и/или поле SPS 52. В альтернативном подходе, не всем таким кодированным представлениям 50 изображения видеопотока необходимо переносить поле PPS и/или поле SPS 52. Например, первое кодированное представление 50 изображения видеопотока может включать в себя поле PPS и/или поле SPS 52, а далее такие поля включаются в состав только кодированное представление другого изображения видеопотока, если какие-нибудь из параметров в поле PPS и/или поле SPS 52 обновляются или изменяются. Дополнительным вариантом является сигнализирование поля PPS и/или поля SPS 52 вне полосы по отношению к представлению 50 кодированного изображения. В таком случае, поле PPS и/или поле SPS 52 может передаваться отдельно от представления 50 кодированного изображения, но таким способом, чтобы декодер был в состоянии идентифицировать, к какому видеопотоку или кодированному представлению изображения принадлежит данное поле PPS и/или поле SPS 52. Это может достигаться посредством включения идентификатора сеанса, потока и/или изображения как в кодированное представление 50 изображения, так и в поле PPS и/или поле SPS 52.

Как было упомянуто выше, секции являются независимо кодируемыми и декодируемыми единицами изображения. Это означает, что генерирование кодированных представлений секций на этапе S1, установка флагов секций на этапов S2, S3 и генерирование адресов этапа S4 может выполняться последовательно, или же, по меньшей мере частично, параллельно для различных секций в изображении. Параллельное кодирование секций, обычно, уменьшает общее время кодирования изображения. Способ, содержащий этапы с S1 по S5, обычно, затем повторяется для любых остальных изображений или видеокадров, например, для видеопотока. В дополнение, этап S2 или этапы S3/S4 могут выполняться после, перед или по меньшей мере частично параллельно с этапом S1.

В следующем описании, варианты осуществления настоящего изобретения будут рассматриваться в связи с HEVC, как примером стандарта видео кодирования и декодирования, к которому могут применяться варианты осуществления. Однако это следует рассматривать лишь как иллюстративный пример стандарта кодирования/декодирования изображения или видео, который может использоваться с вариантами осуществления изобретения, причем варианты осуществления им не ограничиваются.

В соответствии с HEVC, изображение или видеокадр содержит множество LCU, имеющих выбранный размер в терминах числа пикселей. Это означает, что каждая LCU изображения предпочтительно имеет одно и то же число пикселей. LCU могут быть прямоугольными, но предпочтительно являются квадратными, т.е. содержат M×M пикселей, где M является определенным положительным целым числом, равным или, предпочтительно, большим, чем два; и предпочтительно M=2m, где m является положительным целым числом. В не ограничивающих примерах подходящих значений, M равно 64 или 128. Каждая LCU изображения может потенциально быть иерархически разделена на множество меньших CU, имеющих соответствующие размеры, которые являются меньшими, чем выбранный размер LCU.

Как правило, иерархическое разделение LCU включает в себя разделение LCU по образу квадрадерева. Как хорошо известно в данной области техники, квадрадерево представляет собой древовидную структуру данных, в которой каждый внутренний узел имеет ровно четыре потомка. Таким образом, иерархическое разделение LCU предполагает разделение двумерного пространства изображения, занимаемого LCU, посредством рекурсивного разделения, на четыре квадранта или области. В предпочтительном варианте осуществления, рекурсивное разделение включает в себя разделение на четыре одинаковых по размеру CU. В соответствии с вариантами осуществления, если единица кодирования, т.е. либо LCU, либо меньшая CU, разделяется, то так называемый флаг разделения единицы кодирования, ассоциированный с единицей кодирования, устанавливается в определенное значение, предпочтительно, равное 1bin или логической единице или любому другому определенному символу, указывающему, что единица кодирования иерархически делится на множество, предпочтительно, на четыре, меньших CU. Соответственно, если подходящая для разделения единица кодирования, т.е. единица кодирования, которая больше, чем SCU, не делится, то флаг разделения единицы кодирования, ассоциированный с единицей кодирования, предпочтительно, вместо этого устанавливается в Obin или логический ноль или любой другой определенный символ. Термин "подходящая для разделения" единица кодирования относится здесь к единице кодирования, которая может быть иерархически разделена на множество, предпочтительно на четыре меньших единиц кодирования. Как правило, любая единица кодирования кроме SCU является подходящей для разделения единицей кодирования. Хотя единица кодирования может разделяться на меньшие единицы кодирования, она не должна делиться, например, если такое разделение не улучшает качество кодирования изображения.

Иерархическое деление в вариантах осуществления предпочтительно обрабатывает LCU за LCU в определенном порядке обработки, таком как порядок растрового сканирования. Порядок растрового сканирования, как правило, содержит проход слева направо и сверху вниз. Альтернативно, может быть использован другой порядок кодирования/декодирования, например, порядок Мортона или Z-порядок. Фиг. 4 иллюстрирует принципы Порядка Мортона. Если LCU делится на, предпочтительно, четыре равных по размеру, CU, то эти CU могут далее обрабатываться в порядке обработки для того, чтобы выбрать, следует ли их иерархически разделять на, предпочтительно, четыре равных по размеру и еще более меньших, CU. Этот порядок обработки может быть тем же порядком, что и порядок, в котором обрабатываются LCU в изображении. В альтернативном подходе, LCU обрабатываются в порядке растрового сканирования, а CU обрабатываются в порядке кодирования/декодирования, например, в порядке Мортона. Представленные выше порядки обработки являются только примерами порядков, которые могут использоваться, и варианты осуществления не ограничиваются ими.

Таким образом, для каждой единицы кодирования определяется, разделять ли единицу кодирования далее на меньшие единицы кодирования, если единица кодирования не является SCU, которая не может далее иерархически разделяться. Каждый раз, когда единица кодирования делится, флаг разделения единицы кодирования, ассоциированный с единицей кодирования, предпочтительно устанавливается в единицу, а если определяется, что единица кодирования далее не делится на меньшие единицы кодирования, то ее ассоциированный флаг разделения единицы кодирования предпочтительно устанавливается в ноль. SCU обычно нет необходимости иметь какой-либо ассоциированный флаг разделения единицы кодирования, поскольку она не может делиться далее.

Решение, разделять ли единицу кодирования, основывается на процессе кодирования. Например, область изображения, которая представляет довольно однородный фон, более эффективно представляется с использованием CU большого размера, например, LCU, по сравнению с использованием разделения области изображение на меньшие единицы кодирования. Однако, области изображения с мелкими деталями или с большим количеством таких деталей не могут, как правило, быть правильно представлены, если используются большие единицы кодирования. В таком случае, более эффективно и предпочтительно с точки зрения качества кодирования использовать множество меньших CU для этой области изображения. Выбор того, делить ли далее CU, может, таким образом, выполняться в соответствии с технологиями, описанными в уровне техники и предпочтительно основываемыми на качестве и эффективности кодирования.

Флаги разделения единицы кодирования, генерируемые во время кодирования секций на этапе S1 по Фиг. 1 обычно включаются в часть 56 кодированных данных кодированного представления 50 изображения, как иллюстрируется на Фиг. 6.

Фиг. 5 является блок-схемой, иллюстрирующей дополнительные этапы способа кодирования Фиг. 1. Упомянутый способ начинается на опциональном этапе S10, где для изображения определяется иерархическая степень разбиения. Иерархическая степень разбиения определяет иерархический уровень для выравниваний границ секций в пределах изображения. Этот иерархический уровень определяет и ограничивает размер наименьшей возможной адресуемой единицы кодирования, на которой может выравниваться начало секции в изображении. Иерархический уровень и определенная иерархическая степень разбиения, таким образом, определяют максимальное число позиций начала для секций, которые являются потенциально доступными в изображении, и в которых может размещаться начало секции. Это означает, что иерархическая степень разбиения определяет число адресуемых CU в пределах изображения, где начало секции может выравниваться между границей такой адресуемой CU и предыдущей, в соответствии с определенным порядком обработки, CU в изображении.

Например, LCU, имеющая выбранный размер в 64×64 пикселей, может иметь степень разбиения секций, определяющую уровень степени разбиения от 0 до 3, с размером SCU равным 8×8 пикселей. В таком случае, уровень 0 степени разбиения указывает, что начала секций могут выравниваться только с границами между LCU. В случае изображения в 1280×960 пикселей это предполагает 20×15=300 возможных позиций начал секций. Если уровень степени разбиения вместо этого равен 1, то наименьшая возможная единица кодирования, на которой может выравниваться начало секции, составляет вместо этого 32×32 пикселей, с общим числом в 40×30=1200 возможных позиций начал секций. Соответственно, уровень 2 степени разбиения означает, что имеется 80×60=4800 возможных позиций начал секций, поскольку начало секций может выравниваться с CU размера 16×16 пикселей или больше. Наконец, уровень 3 степени разбиения указывает, что начала секций могут выравниваться с границами SCU, предоставляя общее число 160×120=19200 возможных позиций начал секций.

Причина, почему хотелось бы иметь возможность выбирать между этими случаями от 220 до 14400 возможных позиций начал секций, в настоящем примере состоит в том, что чем больше позиций для начал секций, которые доступны в изображении, тем более длинные адреса секций необходимы, из-за чего увеличиваются служебные данные в кодированных данных изображения. Таким образом, если нет никаких конкретных требований на целевые размеры секций, например, по размещению данных секции в одном пакете IP данных, то может быть выгодным ограничить число позиций начал секций в изображении, чтобы таким образом уменьшить количество данных для адресов, которые необходимо генерировать и передавать декодеру.

Следующий этап S11 определяет длину адреса секции для N-1 секций в изображении, где длина задается в терминах числа бит или других символов в адресе секции. Длина адреса секции зависит от числа потенциальных позиций начал секций и числа адресуемых единиц кодирования в пределах изображения. В случае MPEG-4/AVC это число позиций начал секций зависит от размера изображения, поскольку начала секций могут выравниваться только с границами макроблоков. Это означает, что с учетом общего размера изображения, число возможных позиций начал секций может вычисляться для фиксированного размера макроблока. Длина адреса секции может затем вычисляться исходя из этого числа, например, как iog2(P) или log2(P-1), где P представляет собой число возможных позиций начал секций и соответственно общее число возможных адресов секций в изображении. Размер изображения обычно включается в поле заголовка, ассоциированное с кодированными представлениями изображения, или может находиться в ранее упомянутом поле PPS или поле SPS 52 в кодированном представлении 50 изображения, или ассоциированном с кодированным представлением 50 изображения, смотрите Фиг. 6.

В HEVC длина адреса секции предпочтительно определяется на этапе S11 на основе иерархической степени разбиения, которая определяется на этапе S10 для изображения. Иерархическая степень разбиения может затем использоваться для определения размера адресуемых единиц кодирования и соответственно наименьших возможных по размеру единиц кодирования, на которых может выравниваться начало секции. Информация о степени разбиения предпочтительно используется вместе с информацией о размере изображения или об общем числе LCU в изображении, для того, чтобы определить длину адреса секции на этапе S11.

В варианте осуществления, размер LCU в изображении может быть заранее определен и, таким образом, известен кодеру и декодеру. Например, размер LCU может быть равен 128×128 пикселей или 64×64 пикселей. Таким образом, не требуется определения или сигнализации размера LCU. Соответственно, размер SCU в изображении может быть заранее определен. Примерами таких фиксированных и заранее определенных размеров SCU, которые могут использоваться, являются размеры в 16×16 пикселей или 8×8 пикселей.

В альтернативных вариантах осуществления, процесс коди