СПОСОБЫ И УСТРОЙСТВО ДЛЯ ВНУТРЕННЕГО КОДИРОВАНИЯ БЛОКА, ИМЕЮЩЕГО ПИКСЕЛИ, РАСПРЕДЕЛЕННЫЕ ПО ГРУППАМ
METHODS AND DEVICE FOR INTERNAL CODING OF UNIT HAVING PIXELS, DISTRIBUTED INTO GROUPS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Для этой заявки испрашивается приоритет на основании предварительной заявки на патент США № 61/334935, поданной 14 мая 2010 г., которая включена сюда путем ссылки в полном объеме.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Принципы, изложенные в настоящем изобретении, относятся, в общем, к кодированию и к декодированию видеоинформации и, в частности, к способам и к устройству внутреннего кодирования блока, имеющего пиксели, распределенные по группам.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Внутренние блоки используют существующую избыточность пространственной корреляции для улучшения эффективности кодирования видеоинформации. Способ эффективного использования пространственной корреляции является фундаментальным для обеспечения эффективности существующих в настоящее время видеокодеков для внутреннего кодирования. Замечено, что корреляция между пикселями уменьшается с увеличением расстояния в пространстве. На современном уровне техники в стандартах кодирования, таких как, например, стандарт усовершенствованного кодирования видеоинформации (AVC) в рамках стандарта MPEG-4 часть 10, разработанный Экспертной группой 4 по вопросам движущихся изображений Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC)/стандарта согласно рекомендациям H.264 Комитета по телекоммуникациям Международного союза по телекоммуникациям (ITU-T) (который ниже именуют "стандартом MPEG-4 AVC") в качестве предсказателей текущего блока используют только лишь закодированные пиксели выше или слева от него, которые могут быть расположены довольно далеко от предсказываемых нижних правых пикселей. Вследствие естественного влияния избыточности, вероятно существующей из-за близости в пространстве, точность предсказания в таких схемах обычно является ограниченной, и точность предсказания нижних правых пикселей может быть ограниченной. Кроме того, вследствие ограничения, обусловленного причинной связью, вместо интерполяции используется экстраполяция.
Внутреннее предсказание в стандарте MPEG-4 AVC
Стандарт MPEG-4 AVC является первым стандартом кодирования видеоинформации, в котором используют пространственно направленное предсказание для внутреннего кодирования. Стандарт MPEG-4 AVC обеспечивает гибкую основу предсказания, вследствие чего эффективность кодирования значительно улучшена по сравнению с предыдущими стандартам, в которых внутреннее предсказание выполнялось только лишь в области преобразования. В стандарте MPEG-4 AVC пространственное внутреннее предсказание выполняют с использованием имеющиеся соседних выборок, которыми являются ранее восстановленные выборки, имеющимися в декодере в пределах того же самого среза. Для выборок сигнала яркости внутреннее предсказание может быть выполнено по блокам 4×4 (обозначено как Intra_4×4), по блокам 8×8 (обозначено как Intra_8×8) и по макроблокам 16×16 (обозначено как Intra_16×16). Переходя к рассмотрению чертежа Фиг. 1, направленное внутреннее предсказание по блокам 4×4 (Intra_4×4) согласно стандарту MPEG-4 AVC обозначено, в общем, номером позиции 100. Направления предсказания обозначены, в общем, номером позиции 110, блоки изображения обозначены, в общем, номером позиции 120, а текущий блок обозначен номером позиции 130. В дополнение к предсказанию яркости выполняют отдельное предсказание цветности. В общей сложности девять существует режимов предсказания для Intra_4×4 и Intra_8×8, четыре режима для Intra_16×16 и четыре режима для компонента цветности. Кодер обычно выбирает такой режим предсказания, который минимизирует разницу между предсказанием и исходным блоком, подлежащим кодированию. Еще один режим внутреннего кодирования, I_PCM, позволяет кодеру просто обходить процедуры предсказания и кодирования с преобразованием. Это позволяет кодеру точно представлять значения выборок и устанавливать абсолютную границу количества битов, которые могут содержаться в закодированном макроблоке, не ограничивая качество декодированного изображения.
Переходя к рассмотрению чертежа Фиг. 2, присвоение меток выборкам предсказания для режима Intra_4×4 согласно стандарту MPEG-4 AVC обозначено, в общем, номером позиции 200. На чертеже Фиг. 2 показаны выборки (обозначенные прописными буквами A-M) выше и слева от текущих блоков, которые были предварительно закодированы и восстановлены и, следовательно, имеются в кодере и в декодере для формирования предсказания.
Переходя к рассмотрению чертежей Фиг. 3B-Фиг. 3J, режимы предсказания яркости Intra_4×4 согласно стандарту MPEG-4 AVC обозначены, в общем, номером позиции 300. Выборки a, b, c,..., p блока предсказания вычисляют на основании выборок A-M с использованием режимов 300 Intra_4×4 предсказания яркости. На чертежах Фиг. 3B-Фиг. 3J стрелками обозначено направление предсказания для каждого из режимов 300 Intra_4×4. Режимы 300 Intra_4×4 предсказания яркости включают в себя режимы 0-8, где режим 0 (указанный на чертеже Фиг. 3B номером позиции 310) соответствует режиму предсказания по вертикали, режим 1 (указанный на чертеже Фиг. 3C номером позиции 311) соответствует режиму предсказания по горизонтали, режим 2 (указанный на чертеже Фиг. 3D номером позиции 312) соответствует режиму DC (предсказания постоянной составляющей), режим 3 (указанный на чертеже Фиг. 3E номером позиции 313) соответствует режиму предсказания по диагонали влево вниз, режим 4 (указанный на чертеже Фиг. 3F номером позиции 314) соответствует режиму предсказания по диагонали вправо вниз, режим 5 (указанный на чертеже Фиг. 3G номером позиции 315) соответствует режиму предсказания по вертикали вправо, режим 6 (указанный на чертеже Фиг. 3H номером позиции 316) соответствует режиму предсказания по горизонтали вниз, режим 7 (указанный на чертеже Фиг. 3I номером позиции 317) соответствует режиму предсказания по вертикали влево, и режим 8 (указанный на чертеже Фиг. 3J номером позиции 318) соответствует режиму предсказания по горизонтали вверх. На чертеже Фиг. 3A показаны общие направления 330 предсказания, соответствующие каждому из режимов 300 Intra_4×4.
В режимах 3-8 предсказанные выборки формируют из средневзвешенного значения выборок A-M предсказания. В режиме Intra_8×8 используют, по существу, те же самые концепции, что и в режимах предсказания 4×4, но с размером блока 8×8 и с низкочастотной фильтрацией предсказателей для улучшения эффективности предсказания.
Переходя к рассмотрению чертежей Фиг. 4A-Фиг. 4D, четыре режима Intra_16×16, соответствующие стандарту MPEG-4 AVC, обозначены, в общем, номером позиции 400. Четыре режима 400 Intra_16×16 включают в себя режимы 0-3, где режим 0 (указанный на чертеже Фиг. 4A номером позиции 411) соответствует режиму предсказания по вертикали, режим 1 (указанный на чертеже Фиг. 4B номером позиции 412) соответствует режиму предсказания по горизонтали, режим 2 (указанный на чертеже Фиг. 4C номером позиции 413) соответствует режиму предсказания DC, а режим 3 (указанный на чертеже Фиг. 4D номером позиции 414) соответствует режиму предсказания по плоскости. Каждый компонент цветности 8×8 макроблока с внутренним кодированием предсказан на основании предварительно закодированных выборок цветности выше обоих компонентов цветности и/или слева от них с использованием одного и того же режима предсказания. Эти четыре режима предсказания являются очень сходными с режимом Intra_16×16, за исключением того, что нумерация режимов является иной. Этими режимами являются режим DC (режим 0), режим предсказания по горизонтали (режим 1), режим предсказания по вертикали (режим 2) и режим предсказания по плоскости (режим 3).
Несмотря на то что при внутреннем предсказании в стандарте MPEG-4 AVC может использоваться некоторая пространственная избыточность внутри изображения, предсказание основано только на тех пикселях, расположенных выше блока или слева от него, которые уже были закодированы. Расстояние в пространстве между пикселями, служащими в качестве предсказаний (которые именуют пикселями-предсказателями), и предсказываемыми пикселями (которые именуют предсказанными пикселями), в особенности, пикселями в нижней правой части текущего блока, может являться большим. При большом расстоянии в пространстве корреляция между пикселями может быть низкой, и сигналы остатка могут быть большими после предсказания, что влияет на эффективность кодирования. В дополнение к этому, как указано выше, вместо интерполяции используется экстраполяция из-за ограничения, обусловленного причинной связью.
Планарное предсказание для режима Intra_16×16
В первом подходе из предшествующего уровня техники предложен новый способ кодирования для планарного режима Intra_16×16. Когда макроблок закодирован в планарном режиме, то в потоке битов предают его нижнюю правую выборку, выполняют линейную интерполяцию крайней правой и нижней выборок макроблока, и выполняют билинейную интерполяцию выборок в середине по выборкам на границе. Когда сообщено о планарном режиме, то тот же самый алгоритм применяют к компоненте яркости и к обоим компонентам цветности по отдельности путем индивидуальной передачи нижних правых выборок (с использованием операции на основе 16×16 пикселей для яркости и операции на основе 8×8 пикселей для цветности). В планарном режиме остаток не кодируют.
Несмотря на то что в новом способе планарного предсказания использована некоторая пространственная корреляция с нижней правой выборкой тем не менее точность предсказания правого и нижнего пикселей является весьма ограниченной.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Принципы настоящего изобретения, которые относятся к способам и к устройству внутреннего кодирования блока, имеющего пиксели, распределенные по группам, направлены на устранение этих и других отрицательных качеств и недостатков из уровня техники.
Согласно одному аспекту настоящего изобретения предложено устройство. Это устройство включает в себя видеокодер для кодирования блока в изображении с использованием внутреннего предсказания путем разделения пикселей внутри блока, по меньшей мере, на первую группу и вторую группу и кодирования пикселей в первой группе до кодирования пикселей во второй группе. Предсказание, по меньшей мере, для одного из пикселей во второй группе получают путем оценки пикселей в первой группе и во второй группе.
Согласно другому аспекту настоящего изобретения предложен способ, выполняемый в видеокодере. Способ включает в себя следующие операции: кодируют блок в изображении с использованием внутреннего предсказания путем разделения пикселей внутри блока, по меньшей мере, на первую группу и вторую группу, и кодируют пиксели в первой группе до кодирования пикселей во второй группе. Предсказание, по меньшей мере, для одного из пикселей во второй группе получают путем оценки пикселей в первой группе и во второй группе.
Согласно еще одному аспекту настоящего изобретения предложено устройство. Это устройство включает в себя видеодекодер для декодирования блока в изображении с использованием внутреннего предсказания путем разделения пикселей внутри блока, по меньшей мере, на первую группу и вторую группу и декодирования пикселей в первой группе до декодирования пикселей во второй группе. Предсказание, по меньшей мере, для одного из пикселей во второй группе получают путем оценки пикселей в первой группе и во второй группе.
Согласно еще одному аспекту настоящего изобретения предложен способ, выполняемый в видеодекодере. Этот способ включает в себя следующие операции: декодируют блок в изображении с использованием внутреннего предсказания путем разделения пикселей внутри блока, по меньшей мере, на первую группу и вторую группу, и декодируют пиксели в первой группе до декодирования пикселей во второй группе. Предсказание, по меньшей мере, для одного из пикселей во второй группе получают путем оценки пикселей в первой группе и во второй группе.
Эти и другие аспекты, признаки и преимущества настоящего изобретения станут очевидными из приведенного ниже подробного описания приведенных в качестве примеров вариантов осуществления изобретения, которые поясняются сопроводительными чертежами.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Принципы из настоящего изобретения могут быть лучше поняты в соответствии с перечисленными ниже чертежами, которые приведены в качестве примеров, на которых изображено следующее:
На Фиг. 1А изображена схема, на которой показано направленное внутреннее предсказание согласно стандарту MPEG-4 AVC для внутреннего предсказания на основе блоков 4×4 (Intra_4×4);
На Фиг. 2 изображена схема, на которой показано присвоение меток выборкам предсказания для режима Intra_4×4 согласно стандарту MPEG-4 AVC;
На Фиг. 3A-Фиг. 3J изображены схемы, на которых соответственно показаны режимы Intra_4×4 предсказания яркости согласно стандарту MPEG-4 AVC;
На Фиг. 4A-Фиг. 4D изображены схемы, на которых соответственно показаны четыре режима Intra_16×16, соответствующие стандарту MPEG-4 AVC;
На Фиг. 5 изображена блок-схема, на которой показан приведенный в качестве примера видеокодер, в котором могут быть применены принципы из настоящего изобретения, согласно одному из вариантов осуществления принципов из настоящего изобретения;
На Фиг. 6 изображена блок-схема, на которой показан приведенный в качестве примера видеодекодер, в котором могут быть применены принципы из настоящего изобретения, согласно одному из вариантов осуществления принципов из настоящего изобретения;
На Фиг. 7 изображена схема, на которой показано приведенное в качестве примера распределение пикселей внутри блока по группам согласно одному из вариантов осуществления принципов из настоящего изобретения;
На Фиг. 8 изображена схема последовательности операций, на которой показан приведенный в качестве примера способ внутреннего кодирования блока, имеющего пиксели, распределенные по группам, согласно одному из вариантов осуществления принципов из настоящего изобретения; и
На Фиг. 9 изображена схема последовательности операций, на которой показан приведенный в качестве примера способ внутреннего декодирования блока, имеющего пиксели, распределенные по группам, согласно одному из вариантов осуществления принципов из настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Принципы настоящего изобретения относятся к внутреннему кодированию блока, имеющего пиксели, распределенные по группам.
В настоящем описании проиллюстрированы принципы настоящего изобретения. Соответственно, понятно, что специалисты в данной области техники будут способны придумать различные устройства, которые, хотя и не являются описанными или показанными здесь в явном виде, реализуют принципы настоящего изобретения и не выходят за пределы его сущности и объема.
Все изложенные здесь примеры и условный язык приведены для того, чтобы помочь в понимании принципов настоящего изобретения и концепций, внесенных автором (авторами) изобретения в качестве вклада в развитие данной области техники, и их следует истолковывать как не являющиеся ограниченными такими конкретными изложенными примерами и условиями.
Кроме того, подразумевается, что все приведенные здесь утверждения, в которых изложены принципы, аспекты и варианты осуществления принципов настоящего изобретения, а также их конкретные примеры, которые охватывают собой как структурные, так и функциональные эквиваленты. Помимо этого подразумевают, что такие эквиваленты включают в себя как эквиваленты, известные в настоящее время, так и эквиваленты, которые станут известными в будущем, то есть любые созданные элементы, выполняющие ту же самую функцию, вне зависимости от их структуры.
Таким образом, например, для специалистов в данной области техники понятно, что представленные здесь блок-схемы представляют собой концептуальные изображения приведенной в качестве иллюстративного примера схемы, в которой реализованы принципы настоящего изобретения. Аналогичным образом, понятно, что любые схемы последовательности операций, блок-схемы, диаграммы изменения состояний, псевдокод и т.п. изображают различные способы, которые могут быть, по существу, представлены на считываемых посредством компьютера носителях информации и, таким образом, выполнены компьютером или процессором вне зависимости от того, показан ли такой компьютер или процессор в явном виде или нет.
Функции различных элементов, показанных на чертежах, могут быть обеспечены с помощью специализированных аппаратных средств, а также аппаратных средств, способных выполнять программы, совместно с надлежащим программным обеспечением. Когда эти функции обеспечивает процессор, то они могут быть обеспечены одним специализированным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут являться совместно используемыми. Кроме того, использование термина "процессор" или "контроллер" в явном виде не следует истолковывать как то, что он относится исключительно к аппаратным средствам, способным выполнять программы, и он может в неявном виде включать в себя аппаратное устройство цифровой обработки сигналов ("DSP"), постоянное запоминающее устройство ("ROM") для хранения программ, оперативное запоминающее устройство ("RAM") и энергонезависимое запоминающее устройство, но эти примеры не являются ограничивающим признаком.
Также могут содержаться другие стандартные и/или специализированные аппаратные средства. Аналогичным образом, любые переключатели, показанные на чертежах, являются просто концептуальными. Их функция может выполняться посредством функционирования программной логики, посредством специализированной логики, посредством взаимодействия программного управления и специализированной логики или даже вручную, причем конкретный способ выбирается разработчиком, что более точно понятно из контекста.
В формуле изобретения подразумевают, что любой элемент, выраженный как средство выполнения заданной функции, охватывает собой любой способ выполнения этой функции, в том числе, например, a) комбинацию схемных элементов, которая выполняет эту функцию, или b) программное обеспечение в любом виде, в том числе, следовательно, аппаратно-реализованное программное обеспечение, микропрограмму и т.п., которые объединены с надлежащей схемой для выполнения этого программного обеспечения для выполнения этой функции. Принципам из настоящего изобретения, определяемым такой формулой изобретения, присуще то, что функциональные возможности, обеспечиваемые различными изложенными средствами, объединены и сведены вместе, как того требует формула изобретения. Таким образом, полагают, что любое средство, которое может обеспечивать эти функциональные возможности, эквивалентно тем средствам, которые здесь показаны.
Приведенная в описании ссылка на "один вариант осуществления" или на "вариант осуществления" принципов настоящего изобретения, а также на иные варианты этого словосочетания с изменениям, означает, что конкретный признак, конкретная структура, характеристика и т.д., описанная применительно к варианту осуществления, содержится, по меньшей мере, в одном варианте осуществления принципов настоящего изобретения. Таким образом, не обязательно использование всегда фразы "в одном из вариантов осуществления" или "в варианте осуществления", а также любые другие варианты этой фразы с изменениями, появляющиеся в различных местах во всем этом описании, являются ссылками на один и тот же вариант осуществления.
Следует понимать следующее: подразумевают, что использование любого из приведенных ниже обозначений или словосочетаний "/", "и/или" и "по меньшей мере, один из", например, в следующих случаях: "A/B", "A и/или B" и "по меньшей мере, один из A и B" охватывает собой выбор только лишь первого перечисленного возможного варианта (A) или выбор только лишь второго перечисленного возможного варианта (B), или выбор обоих возможных вариантов (A и B). В качестве еще одного примера, в случаях формулировок "A, B и/или C" и "по меньшей мере, один из A, B, и C" подразумевают, что такая формулировка охватывает собой выбор только лишь первого перечисленного возможного варианта (A), или выбор только лишь второго перечисленного возможного варианта (B), или выбор только лишь третьего перечисленного возможного варианта (C), или выбор только лишь первого и второго перечисленных возможных вариантов (A и B), или выбор только лишь первого и третьего перечисленных возможных вариантов (A и C), или выбор только лишь второго и третьего перечисленных возможных вариантов (B и C), или выбор всех трех возможных вариантов (A и B и C). Для специалиста со средним уровнем компетентности в этой и в родственных областях техники очевидно, что это может быть распространено на любое количество перечисленных элементов.
К тому же используемые здесь слова "картина" и "изображение" используются как взаимозаменяемые и относятся к неподвижному изображению или к изображению из видеопоследовательности. Как известно, изображением может являться кадр или поле.
В иллюстративных и описательных целях здесь описаны примеры применительно к усовершенствованиям стандарта MPEG-4 AVC с использованием стандарта MPEG-4 AVC как основы для описания и объяснения усовершенствований и расширений стандарта MPEG-4 AVC. Однако следует понимать, что принципы из настоящего изобретения не ограничены исключительно стандартом MPEG-4 AVC и/или его расширениями. С учетом идеи изобретения в изложенных здесь принципах настоящего изобретения, специалист со средним уровнем компетентности в этой и в родственных областях техники легко поймет, что принципы настоящего изобретения равным образом применимы и обеспечивают, по меньшей мере, аналогичные преимущества при их применении для расширений других стандартов, или при их применении для пока еще не разработанных стандартов и/или при включении их в состав таких стандартов. Кроме того, следует понимать, что принципы настоящего изобретения также применимы для видеокодеров и видеодекодеров, которые не соответствуют стандартам, а подпадают под собственные определения.
Переходя к рассмотрению Фиг. 5, приведенный в качестве примера видеокодер, для которого могут быть применены принципы настоящего изобретения, обозначен, в целом, позицией 500. Видеокодер 500 включает в себя буфер 510 упорядочения кадров, имеющий выход с возможностью связи с неинвертирующим входом сумматора 585. Выход сумматора 585 соединен с возможностью связи с первым входом преобразователя и квантователя 525. Выход преобразователя и квантователя 525 соединен с возможностью связи с первым входом статистического кодера 545 и с первым входом обратного преобразователя и обратного квантователя 550. Выход статистического кодера 545 соединен с возможностью связи с первым неинвертирующим входом сумматора 590. Выход сумматора 590 соединен с возможностью связи с первым входом выходного буфера 535.
Первый выход контроллера 505 кодера соединен с возможностью связи со вторым входом буфера 510 упорядочения кадров, вторым входом обратного преобразователя и обратного квантователя 550, входом модуля 515 принятия решения о типе изображения, первым входом модуля 520 принятия решения о типе макроблока (о типе МБ), вторым входом модуля 560 внутреннего предсказания, вторым входом фильтра 565, устраняющего блочность, первым входом компенсатора 570 движения, первым входом анализатора 575 параметров движения и вторым входом буфера 580 опорных изображений.
Второй выход контроллера 505 кодера соединен с возможностью связи с первым входом блока 530 вставки дополнительной расширенной информации (SEI), вторым входом преобразователя и квантователя 525, вторым входом статистического кодера 545, вторым входом выходного буфера 535 и входом блока 540 вставки набора параметров последовательности (SPS) и набора параметров изображения (PPS).
Выход блока 530 вставки SEI соединен с возможностью связи со вторым неинвертирующим входом сумматора 590.
Первый выход модуля 515 принятия решения о типе изображения соединен с возможностью связи с третьим входом буфера 510 упорядочения кадров. Второй выход модуля 515 принятия решения о типе изображения соединен с возможностью связи со вторым входом модуля 520 принятия решения о типе макроблока.
Выход блока 540 вставки набора параметров последовательности (SPS) и набора параметров изображения (PPS) соединен с возможностью связи с третьим неинвертирующим входом сумматора 590.
Выход обратного квантователя и обратного преобразователя 550 соединен с возможностью связи с первым неинвертирующим входом сумматора 519. Выход сумматора 519 соединен с возможностью связи с первым входом модуля 560 внутреннего предсказания и с первым входом фильтра 565, устраняющего блочность. Выход фильтра 565, устраняющего блочность, соединен с возможностью связи с первым входом буфера 580 опорных изображений. Выход буфера 580 опорных изображений соединен с возможностью связи со вторым входом анализатора 575 параметров движения и третьим входом компенсатора 570 движения. Первый выход анализатора 575 параметров движения соединен с возможностью связи со вторым входом компенсатора 570 движения. Второй выход анализатора 575 параметров движения соединен с возможностью связи с третьим входом статистического кодера 545.
Выход компенсатора 570 движения соединен с возможностью связи с первым входом коммутатора 597. Выход модуля 560 внутреннего предсказания соединен с возможностью связи со вторым входом коммутатора 597. Выход модуля 520 принятия решения о типе макроблока соединен с возможностью связи с третьим входом коммутатора 597. Третий вход коммутатора 597 определяет, следует ли "данные", поступающие на вход коммутатора, (по сравнению с управляющим входом, то есть, третьим входом) подавать из компенсатора 570 движения или же из модуля 560 внутреннего предсказания. Выход коммутатора 597 соединен с возможностью связи со вторым неинвертирующим входом сумматора 519 и инвертирующим входом сумматора 585.
Первый вход буфера 510 упорядочения кадров и вход контроллера 505 кодера предусмотрены в качестве входов кодера 500 для приема входного изображения. Кроме того, второй вход блока 530 вставки дополнительной расширенной информации (SEI) предусмотрен в качестве входа кодера 500 для приема метаданных. Выход выходного буфера 535 предусмотрен в качестве выхода кодера 500 для вывода потока битов.
Переходя к рассмотрению Фиг. 6, приведенный в качестве примера видеодекодер, для которого могут быть применены принципы настоящего изобретения, обозначен, в целом, позицией 600. Видеодекодер 600 включает в себя входной буфер 610, имеющий выход, соединений с возможностью связи с первым входом декодера 645 энтропии. Первый выход статистического декодера 645 соединен с возможностью связи с первым входом обратного преобразователя и обратного квантователя 650. Выход обратного преобразователя и обратного квантователя 650 соединен с возможностью связи со вторым неинвертирующим входом сумматора 625. Выход сумматора 625 соединен с возможностью связи со вторым входом фильтра 665, устраняющего блочность, и с первым входом модуля 660 внутреннего предсказания. Второй выход фильтра 665, устраняющего блочность, соединен с возможностью связи с первым входом буфера 680 опорных изображений. Выход буфера 680 опорных изображений соединен с возможностью связи со вторым входом компенсатора 670 движения.
Второй выход статистического декодера 645 соединен с возможностью связи с третьим входом компенсатора 670 движения, первым входом фильтра 665, устраняющего блочность, и с третьим входом внутреннего предсказателя 660. Третий выход статистического декодера 645 соединен с возможностью связи с входом контроллера 605 декодера. Первый выход контроллера 605 декодера соединен с возможностью связи со вторым входом статистического декодера 645. Второй выход контроллера 605 декодера соединен с возможностью связи со вторым входом обратного преобразователя и обратного квантователя 650. Третий выход контроллера 605 декодера соединен с возможностью связи с третьим входом фильтра 665, устраняющего блочность. Четвертый выход контроллера 605 декодера соединен с возможностью связи со вторым входом модуля 660 внутреннего предсказания, с первым входом компенсатора 670 движения и со вторым входом буфера 680 опорных изображений.
Выход компенсатора 670 движения соединен с возможностью связи с первым входом коммутатора 697. Выход модуля 660 внутреннего предсказания соединен с возможностью связи со вторым входом коммутатора 697. Выход коммутатора 697 соединен с возможностью связи с первым неинвертирующим входом сумматора 625.
Вход входного буфера 610 предусмотрен в качестве входа декодера 600 для приема входного потока битов. Первый выход фильтра 665, устраняющего блочность, предусмотрен в качестве выхода декодера 600 для вывода выходного изображения.
Как указано выше, принципы настоящего изобретения относятся к способам и к устройству внутреннего кодирования блока, имеющего пиксели, распределенные по группам. В одном из вариантов осуществления изобретения для внутреннего блока пиксели внутри блока делят, по меньшей мере, на две группы. Одна из групп пикселей в блоке является закодированной. В одном из вариантов осуществления изобретения эта начальная группа, являющаяся закодированной, может включать в себя, например, крайние правые столбцы и/или нижние строки блока. Восстановленные пиксели затем учитывают вместе с пикселями в соседних блоках, которые уже закодированы, для предсказания пикселей во второй группе. При более многочисленном наборе пикселей-предсказателей, существующих в большем количестве направлений, предсказание второй группы пикселей, как и эффективность кодирования, улучшается. Кроме того, эффективность кодирования улучшается при использовании интерполяции вместо экстраполяции.
В частности, согласно одному из вариантов осуществления принципов настоящего изобретения, точность предсказания второй группы может быть улучшена, поскольку пиксели, служащие в качестве предсказателей, (именуемые пикселями-предсказателями) для второй группы, включают в себя восстановленные пиксели первой группы, которые расположены на меньших расстояниях в пространстве от предсказываемых пикселей.
Разделение пикселей в блоке на группы
Группа пикселей, которые кодируют первыми, представляет собой, по меньшей мере, часть, по меньшей мере, одного из столбцов и/или одной из строк блока. Например, ею может являться крайний правый столбец и/или нижняя строка, как показано на Фиг. 7. Переходя к рассмотрению Фиг. 7, приведенное в качестве примера распределение пикселей внутри блока по группам обозначено, в целом, позицией 700. Кодер может кодировать сначала крайний правый столбец или сначала нижнюю строку, или же кодер может кодировать как крайний правый столбец, так и нижнюю строку в качестве пикселей в первой группе. В одном из вариантов осуществления изобретения способ распределения по группам может быть неявно получен из кодируемых соседних пикселей текущего блока или на основании пространственного режима внутреннего предсказания текущего кодируемого блока, чтобы аналогичным образом декодер мог делать вывод о способе распределения по группам. В другом варианте осуществления изобретения кодер может выбирать один способ распределения по группам из набора заданных способов распределения по группам на основании критерия, определяющего степень искажений в зависимости от скорости передачи, и сообщать о выбранном способе распределения по группам в декодер.
Следует понимать, что для предыдущего примера в иллюстративных целях были использованы две группы пикселей внутри блока. Однако помимо этого следует понимать, что принципы из настоящего изобретения не ограничены этим вариантом, и что, следовательно, в соответствии с идеей изобретения, изложенной в приведенных здесь принципах из настоящего изобретения, также может использоваться более двух групп пикселей внутри блока, при этом сущность принципов из настоящего изобретения сохраняется.
Кроме того, следует понимать, что в иллюстративных целях, относящихся к вышеупомянутой первой группе пикселей, первая группа пикселей была определена как включающая в себя пиксели в нижней строке и/или в крайней правой строке. Однако помимо этого следует понимать, что принципы из настоящего изобретения не ограничены этим вариантом, что, следовательно, в соответствии с идеей изобретения, изложенной в приведенных здесь принципах из настоящего изобретения, также могут использоваться другие пиксели, в дополнение к пикселям нижней строки и/или к крайней правой строки, и/или вместо них, при этом сущность принципов из настоящего изобретения сохраняется.
Кроме того, следует понимать, что группы пикселей внутри блока могут быть разделены любым желательным способом и который оказывается эффективным. То есть следует понимать, что принципы из настоящего изобретения не ограничены каким-либо конкретным способом разделения блока на сегменты и, следовательно, в соответствии с идеей изобретения, изложенной в приведенных здесь принципах из настоящего изобретения, может быть использован любой способ разделения блока на сегменты, при этом сущность принципов из настоящего изобретения сохраняется.
Кодирование первой группы
Для первой группы пикселей кодер генерирует предсказание, на основании соседних закодированных пикселей с использованием способа предсказания постоянной составляющей (DC)/предсказания по плоскости или каких-либо способов направленного предсказания, и затем вычисляет остаток предсказания. В одном из вариантов осуществления изобретения остаток кодируют в частотной области, то есть, остаток подвергают преобразованию, квантованию и статистическому кодированию перед его передачей в декодер. В другом варианте осуществления изобретения остаток кодируют в пространственной области, то есть остаток подвергают квантованию и статистическому кодированию перед его передачей в декодер. В еще одном варианте осуществления изобретения остаток кодируют с использованием кодирования с адаптивным предсказанием ошибок (APEC), при котором выполняют оптимизацию искажений в зависимости от скорости передачи и принимают решение о том, в какой области следует выполнять кодирование: в пространственной области или в частотной области.
Кодирование второй группы
После того как первая группа закодирована, кодер может использовать пиксели в уже закодированных блоках (например, в верхнем и в левом соседние блоках) и пиксели в уже закодированной первой группе для получения режима предсказания для остальной части блока. Например, как показано на Фиг. 7, кодер может обнаруживать границу, проходящую через верхний блок и нижнюю строку, на основании соседних блоков и закодированной первой группы. Следовательно, направлением предсказания будет являться направление вдоль границы. Вместо экстраполяции только по верхнему блоку выполняют интерполяцию по верхнему/левому блоку и нижней строке/правому столбцу. В этом случае отсутствует необходимость в передаче информации о режиме (не послана) в декодер, поскольку информация о режиме может быть аналогичным образом получена в декодере. В альтернативном варианте кодер может выполнять оптимизацию искажений в зависимости от скорости передачи и выбирать наилучший режим предсказания для второй группы и сообщать об этом в декодер. В этом случае необходимо производить передачу информации о режиме.
Имея предсказание для второй группы, кодер может выполнять кодирование остатка предсказания для пикселей во второй группе способом, аналогичным описанному выше способу, применяемому для первой группы, то есть в пространственной области, либо в частотной области, либо с использованием APEC. В другом варианте осуществления изобретения остаток может игнорироваться, и предсказание устанавливают в качестве восстановленной версии для второй группы.
Уточнение первой группы
В другом варианте осуществления изобретения после генерации предсказания для второй группы кодер кодирует остатки предсказания для обеих групп, например, с использованием преобразования большого массива. Таким образом, существуют два варианта восстановления для первой группы. Следовательно, для первой группы можно применять набор ограничений для квантования (QCS) для получения более точного восстановления и улучшения эффективности кодирования.
Фильтр, устраняющий блочность
Для улучшения качества визуального воспроизведения фильтр, устраняющий блочность, должен быть специально спроектирован для внутренних блоков, закодированных на основании распределения пикселей по группам. В одном из вариантов осуществления изобретения фильтр, устраняющий блочность, применяют как к границам блока, так и к границам группы внутри блока.
Переходя к рассмотрению Фиг. 8, приведенный в качестве примера способ внутреннего кодирования блока, имеющего пиксели, распределенные по группам, обозначен, в целом, позицией 800. Способ 800 включает в себя блок 805 "начало", который передает управление в функциональный блок 810. Функциональный блок 810 выполняет начальную установку параметров кодирования и передает управление в блок 815 ограничения цикла. Блок 815 ограничения цикла обеспечивает выполнение цикла для каждого блока (например, в текущем кодируемом изображении) и передает управление в функциональный блок 820. Функциональный блок 820 определяет способ распределения по группам или выбирает наилучший способ распределения по группам, сообщает способ распределения по группам в декодер и передает управление в функциональный блок 825. Функциональный блок 825 предсказывает пиксели в первой группе и передает управление в функциональный блок 830. Функциональный блок 830 кодирует остаток для пикселей в первой группе в пространственной области, либо в частотной области, либо с использованием кодирования с адаптивным предсказанием ошибок (APEC) и передает управление в функциональный блок 835. Функциональный блок 835 определяет или выбирает режим предсказания и сообщает наилучший режим предсказания для пикселей во второй группе и передает управление в функциональный блок 840. Функциональный блок 840 предсказывает пиксели во второй группе и передает управление в функциональный блок 845. Функциональный блок 845 устанавливает для второй группы предсказание в качестве восстановленной версии или кодирует остаток для второй группы или для обеих групп (в пространственной области, либо в частотной области, либо с использованием APEC) и передает управление в функциональный блок 850. Функциональный блок 850 уточняет восстановление (например, с использованием набора ограничений для квантования (QCS)), если остаток для пикселей в первой группе закодирован дважды, и передает управление в блок 855 ограничения цикла. Блок 855 ограничения цикла завершает цикл по блокам и передает управление в функциональный блок 860. Функциональный блок 860 выполняет фильтрацию, устраняющую блочность на границах блоков и на границах групп, и передает управление в блок 899 "конец".
Переходя к рассмотрению Фиг. 9, приведенный в качестве примера способ внутреннего декодирования блока, имеющего пиксели, распределенные по группам, обозначен, в целом, позицией 900. Способ 900 включает в себя блок 905 "начало", который передает управление в блок 910 ограничения цикла. Блок 910 ограничения цикла начинает цикл, выполняемый для каждого блока (например, в текущем декодируемом изображении), и передает управление в функциональный блок 915. Функциональный блок 915 определяет или декодирует способ распределения по группам и передает управление в функциональный блок 920. Функциональный блок 920 предсказывает пиксели в первой группе и передает управление в функциональный блок 925. Функциональный блок 925 декодирует остаток предсказания для пикселей в первой группе и передает управление в функциональный блок 930. Функциональный блок 930 определяет или декодирует режим предсказания для пикселей во второй группе и передает управление в функциональный блок 935. Функциональный блок 935 предсказывает пиксели во второй группе и передает управление в функциональный блок 940. Функциональный блок 940 устанавливает для пикселей во второй группе предсказание в качестве восстановленной версии или декодирует остаток для второй группы или для обеих групп и передает управление в функциональный блок 945. Функциональный блок 945 уточняет восстановление (например, с использованием QCS), если остаток для пикселя в первой группе декодирован дважды, и передает управление в блок 950 ограничения цикла. Блок 950 ограничения цикла завершает цикл по блокам и передает управление в функциональный блок 955. Функциональный блок 955 выполняет фильтрацию, устраняющую блочность на границах блоков и на границах групп, и передает управление в блок 999 "конец".
Теперь будет приведено описание некоторых из многих сопутствующих преимуществ/отличительных признаков настоящего изобретения, некоторые из которых были упомянуты выше. Например, одним преимуществом/признаком является устройство, имеющее видеокодер для кодирования блока в изображении с использованием внутреннего предсказания путем разделения пикселей внутри блока, по меньшей мере, на первую группу и вторую группу и кодирования пикселей в первой группе до кодирования пикселей во второй группе, в котором предсказание, по меньшей мере, для одного из пикселей во второй группе получают путем оценки пикселей в первой группе и во второй группе.
Другим преимуществом/признаком является описанное выше устройство, имеющее видеокодер, в котором способ распределения по группам, используемый для формирования первой группы и второй группы, является чувствительным к соседним пикселям блока или к режиму внутреннего предсказания блока.
Еще одним преимуществом/признаком является описанное выше устройство, имеющее видеокодер, в котором данные об изображении для блока закодированы в результирующем потоке битов, и о способе распределения по группам, используемом для формирования первой и второй групп пикселей, сообщают в соответствующий декодер в результирующем потоке битов в явном виде.
Еще одним преимуществом/признаком является описанное выше устройство, имеющее видеокодер, в котором первая группа включает в себя, по меньшей мере, один из следующих элементов: столбец пикселей и строку пикселей внутри блока.
Кроме того, еще одним преимуществом/признаком является описанное выше устройство, имеющее видеокодер, в котором остатки предсказания для пикселей в первой группе закодированы, по меньшей мере, одним из следующих способов: в пространственной области, в частотной области и с использованием кодирования с адаптивным предсказанием ошибок.
Кроме того, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором режим предсказания для пикселей во второй группе определен в видеокодере в неявном виде, и он может быть определен в соответствующем видеодекодере в неявном виде как отклик на соседние блоки и на восстановленные версии пикселей в первой группе.
К тому же, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором данные об изображении для блока закодированы в результирующем потоке битов, и видеокодер выбирает наилучший режим предсказания для пикселей во второй группе на основании, по меньшей мере, одного критерия и в явном виде сообщает наилучший режим предсказания в результирующем потоке битов в соответствующий декодер.
В дополнение к этому, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором остатки предсказания для пикселей во второй группе закодированы, по меньшей мере, одним из следующих способов: в пространственной области, в частотной области и с использованием кодирования с адаптивным предсказанием ошибок.
Кроме того, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором данные об изображении для блока закодированы в результирующем потоке битов, и остаток предсказания, по меньшей мере, для одного из пикселей во второй группе не включен в состав результирующего потока битов для обеспечения возможности использования соответствующим декодером предсказания, по меньшей мере, для одного из пикселей в качестве восстановленной версии, по меньшей мере, одного из пикселей.
Кроме того, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором восстановленные версии пикселей в первой группе уточнены на основании более чем одного закодированного остатка, по меньшей мере, для одного из пикселей, по меньшей мере, в одной из групп, которыми являются первая группа и вторая группа пикселей.
К тому же, еще одним преимуществом/признаком является устройство, имеющее описанный выше видеокодер, в котором этот видеокодер включает в себя фильтр, устраняющий блочность, для выполнения фильтрации, устраняющей блочность на границах блоков внутри изображения и на границах групп внутри блока.
Эти и другие признаки и преимущества принципов настоящего изобретения могут быть легко поняты специалистом со средним уровнем компетентности в данной области техники на основании изложенной здесь идеи изобретения. Следует понимать, что идея изобретения, изложенная в принципах настоящего изобретения, может быть реализована аппаратными средствами различных типов, посредством программного обеспечения, аппаратно-реализованного программного обеспечения, специализированных процессоров или в виде комбинаций этих средств.
Наиболее предпочтительно, чтобы идея изобретения, изложенная в принципах настоящего изобретения, была реализована как сочетание аппаратных средств и программного обеспечения. Кроме того, программное обеспечение может быть реализовано как прикладная программа, материально реализованная в запоминающем устройстве для программ. Прикладная программа может быть загружена в компьютер, содержащий любую подходящую архитектуру, и выполнена в нем. Предпочтительно компьютер реализован на компьютерной платформе, имеющей такие аппаратные средства, как, например, один или большее количество центральных процессоров ("ЦП"), оперативное запоминающее устройство ("ОЗУ") и интерфейсы ввода/вывода ("I/O"). Компьютерная платформа также может включать в себя операционную систему и микрокомандный код. Различные описанные здесь способы и функции могут являться либо частью микрокомандного кода, либо частью прикладной программы, либо любой их комбинацией, которая может исполняться центральным процессором (ЦП). Кроме того, с компьютерной платформой могут быть соединены различные другие периферийные устройства, такие как, например, дополнительное запоминающее устройство для данных и печатающее устройство.
Кроме того, следует пронимать следующее: поскольку некоторые из компонентов, из которых составлены системы и способов, изображенных на сопроводительных чертежах, предпочтительно реализованы посредством программного обеспечения, то фактические соединения между компонентами системы или функциональными блоками способа могут быть иными в зависимости от того, как запрограммированы принципы из настоящего изобретения. С учетом изложенной здесь идеи изобретения, специалист со средним уровнем компетентности в данной области техники будет способен предполагать эти и аналогичные варианты реализации или конфигурации принципов настоящего изобретения.
Несмотря на то что приведенные в качестве иллюстративного примера варианты осуществления изобретения были описаны здесь со ссылкой на сопроводительные чертежи, следует понимать, что принципы настоящего изобретения не ограничены в точности этими вариантами его осуществления, и что специалистом со средним уровнем компетентности в данной области техники могут быть придуманы различные его изменения и модификации, не выходя за пределы объема или сущности принципов настоящего изобретения. Подразумевается, что все такие изменения и модификации не выходят за пределы объема принципов настоящего изобретения, изложенных в прилагаемой формуле изобретения.